+ All Categories
Home > Documents > Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

Date post: 26-Dec-2015
Category:
Upload: briana-elliott
View: 222 times
Download: 1 times
Share this document with a friend
Popular Tags:
30
Communications and Networks Lecture 5 Instructor: Rina Zviel- Girshin
Transcript
Page 1: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

Communications and Networks

Lecture 5

Instructor: Rina Zviel-Girshin

Page 2: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

2

Lecture overview

Proxy Mail Web-mail

Page 3: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

3

Proxy

One of the definitions: The person who is authorized to act or vote for another

Why not to use in CS? Proxy - or Proxy Server – is a technique used to cache

information on a Web server. Proxy acts as an intermediary between a Web client and that Web server.

Page 4: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

4

Proxy server

Caching responses Anonymizing clients Transforming requests

and responses Gateway to non-HTTP

systems Filtering requests and

responses Firewall

Proxy: A program in the path between the user agent (web-browser) and an origin server that functions as server to the user agent and as client to the origin server

client

Proxyserver

client

http request

http request

http response

http response

http request

http response

http requesthttp response

origin server

origin server

Page 5: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

5

Steps in a browser process with proxy in the path

URL

1 query

2 TCP Connection

3 HTTP Request

8 HTTP Response

9 Optional parallel connections

Browser

Proxy

DNSserver

Origin server

5 TCP Connection

6 HTTP Request

7 HTTP Response

10 Optional parallel connections

4

Page 6: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

6

Proxy chain on the web

client proxy-1 proxy-n origin server…

Page 7: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

7

Web Caches (proxy server)

User sets browser: web accesses via web cache

Client sends all http requests to web cache

if object at web cache, web cache immediately returns object in http response

else requests object from origin server, then returns http response to client

Goal: satisfy client request without involving origin server

client

Proxyserver

client

http request

http request

http response

http response

http request

http response

http requesthttp response

origin server

origin server

Cache: Store of messages used to reduce user-perceived latency and load on the network and server

Page 8: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

8

Why Web Caching?

Assume: cache is “close” to client (e.g., in same network)

smaller response time: cache “closer” to client

decrease traffic to distant servers

link out of institutional/local ISP network often bottleneck

originservers

public Internet

institutionalnetwork 10 Mbps LAN

1.5 Mbps access link

institutionalcache

Page 9: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

9

Example

Page 10: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

10

Improve Performance

Proxy servers can dramatically improve performance for groups of users

Application level proxy saves the results of all requests for a certain amount of time in order to provide quicker access and to increase server security (since usually one proxy server is used by all clients connected to a subnet).

Since the proxy server is often on the same network as the user, this is a much faster operation. This is common for an ISP especially if they have a slow link to the Internet.

Proxy servers also allow direct Internet access from behind a firewall.

An application-level proxy makes a firewall safely permeable for users in an organization, without creating a potential security hole through which one might get into the subnet.

Page 11: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

11

Filter Requests

Proxy servers can also be used to filter requests. For example

a company might use a proxy server to prevent its employees from accessing a specific set of web sites.

A good proxy system gives suitable tools for managing and controlling the data flow:

user authorization for accessing sites, blocking "strangers" trying to get into the local net, tracing users operations storing some common information for the benefit of all

the net users without the need to bring it again from outside.

Page 12: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

12

Filtering

URL based filtering: prevent visiting a set of sites considered to be unsuitable

Filtering requests to search engines when certain keywords appear in the search string

Remove certain headers (such as user’s email)

May removes certain request/responses in certain media formats

Check responses for security risks (viruses, java applets,..)

Page 13: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

13

Proxy gateway

Applications do not have to provide native support for all protocols.

They can rely on the support of proxies and gateways to help doing the job.

Transactions of a client with the proxy server done using HTTP only, even when accessing a resource served by a remote server using another protocol:

HTTP, Gopher, FTP.

Gateway - hardware or software set-up that translates between two dissimilar protocols, or any mechanism for providing access to another system.

Page 14: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

14

Gateway to non-HTTP systems

Client 1

Client 2

Client 2

proxy

A A

F

Mail server

MProxy servers can serve as "protocol translators" which can convert a request in the HTTP protocol to an equivalent request in another protocol, for example FTP or Gopher.

HTTP server

Page 15: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

15

Gateway

A gateway is a network point that acts as an entrance to another network.

On the Internet, a node or stopping point can be either a gateway node or a host node.

The computers that control traffic within your company's network or at your local ISP are gateway nodes.

Page 16: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

16

Electronic Mail

Three major components: user agents mail servers simple mail transfer protocol: smtp

User Agent Also known as - “mail reader” composing, editing, reading mail

messages e.g., Eudora, Outlook, elm,

Netscape Messenger outgoing, incoming messages stored

on server

user mailbox

outgoing message queue

mailserver

SMTP

SMTP

SMTP

mailserver

mailserver

useragent

useragent

useragent

useragent

useragent

Page 17: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

17

Electronic Mail: mail servers

Mail Servers mailbox contains incoming

messages (yet to be read) for user message queue of outgoing (to be

sent) mail messages smtp protocol between mail

servers to send email messages client: sending mail server “server”: receiving mail server

mailserver

SMTP

SMTP

mailserver

mailserver

useragent

useragent

useragent

useragent

SMTP

useragent

Page 18: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

18

Direct transfer from sending server to receiving server

Page 19: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

19

Scenario: Alice sends message to Bob

1) Alice uses UA to compose message and “to” [email protected]

2) Alice’s UA sends message to her mail server; message placed in message queue

3) Client side of SMTP opens TCP connection with Bob’s mail server

4) SMTP client sends Alice’s message over the TCP connection

5) Bob’s mail server places the message in Bob’s mailbox

6) Bob invokes his user agent to read message

useragent

mailserver

mailserver user

agent

1

2 3 4 56

Page 20: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

20

Simple Mail Transfer Protocol [RFC 821]

Uses TCP to transfer email msg on port 25 (uses persistent connections) Three phases of transfer

handshaking (greeting) transfer of messages closure

Command/response interaction commands: ASCII text response: status code and phrase

smtp server uses CRLF.CRLF to determine end of message

Messages must be in 7-bit ASCII (header & body) Thus, message has to be encoded (base-64 or quoted printable)

Page 21: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

21

Sample SMTP interaction

S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: <[email protected]> S: 250 [email protected]... Sender ok C: RCPT TO: <[email protected]> S: 250 [email protected] ... Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: Do you like ketchup? C: How about pickles? C: . S: 250 Message accepted for delivery C: QUIT S: 221 hamburger.edu closing connection

Page 22: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

22

Comparison with HTTP

http: pull smtp: push

http: have ASCII command/response interaction, status codes smtp: same as above

http: response includes a Content-length: header smtp: the body ends with “CRLF.CRLF’’

http: each object is encapsulated in its own response message smtp: multiple objects message sent in a multipart message

Page 23: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

23

Mail access protocols

SMTP: delivery/storage to receiver’s server Mail access protocol: retrieval from server

POP: Post Office Protocol [RFC 1939] (used to retrieve e-mail from a mail server)

authorization (agent <-->server) and download IMAP: Internet Mail Access Protocol [RFC 1730]

more features (more complex) manipulation of stored msgs on server

HTTP: Hotmail , Yahoo! Mail, etc.

sender’s mail server

SMTP SMTP POP3 orIMAP

receiver’s mail server

useragent

useragent

Page 24: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

24

POP3 protocol [RFC 1939]

authorization phase client commands:

user: declare username pass: password

server responses +OK -ERR

transaction phase, client: list: list message numbers retr: retrieve message by

number dele: delete quit

C: list S: 1 498 S: 2 912 S: . C: retr 1 S: <message 1 contents> S: . C: dele 1 C: retr 2 S: <message 2 contents> S: . C: dele 2 C: quit S: +OK POP3 server signing off

S: +OK POP3 server ready C: user alice S: +OK C: pass hungry S: +OK user successfully logged on

port 110

Page 25: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

25

IMAP protocol [RFC 1999]

Many more features than POP3, but complex Allow users to manipulate remote mailboxes

(search) Maintain a folder hierarchy for each user Allow to obtain components of messages

Page 26: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

26

Web-based email

sender’s mail server

HTTP SMTP HTTP

receiver’s mail server

•Web Mail is a server-based email system that allows you to access your email account from the World Wide Web.

• You can send and receive email messages from almost any computer that is connected to the Internet.

•Web Mail uses the HTTP protocol

useragent

useragent

Page 27: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

27

Web-mail features

Sending email messages to multiple recipients. Sending up to five file attachments per email

message. Automatically adding personal signatures to

outgoing email messages. Creating personal email folders to archive or

categorize your messages. An online address book.

Page 28: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

28

Mail message format

smtp: protocol for exchanging email msgs

RFC 822: standard for text message format:

header lines, e.g., To: From: Subject:different from smtp commands!

body the “message”, ASCII

characters only!!!

header

body

blankline

Page 29: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

29

HTML and email

In browser environment you can invoke client mail service by using:

Simple mailto:<a href="mailto:[email protected]">

Mail to multiple recipients

<a href="mailto:[email protected],smb1@ idc.ac.il "> Mail with subject

<a href="mailto:[email protected]?subject=My mail subject">

Page 30: Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.

30

Any questions?


Recommended