Professional Documents
Culture Documents
Lecture 2a
presented by Werner Wild, CEO Evolution Innsbruck, San Francisco, Zurich Contact: info@evolution.at
adds header information to create new data unit passes new data unit to layer below
source
M
Ht HnHt Hl HnHt
M M M
Layers in Action
Application M M
Transport Internet
Ht Hi Ht
M M
Ht Hi Ht
M M
Media access
Hm Hi Ht
Hm Hi Ht
Queuing Delay
Average Qdelay
2.00 1.00 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
AL/R
0.9
specific protocols:
http (today) smtp pop dns
Some Definitions
A process is a program running on a host. Within one host, two processes communicate with interprocess communication. Processes running in different hosts communicate with an application-layer protocol.
A user agent is an interface between the user and the network application. Web:browser E-mail: mail reader streaming audio/video: media player
A Client-Server Application Clientapplication transport Client: network initiates contact (speaks first) data link typically requests physical service from server, for Web, client is implemented in browser; for e-mail, in mail reader Server: provides requested service to client e.g., Web server sends requested Web page, mail server delivers email
A Network Application
User Agent Client Protocol messages Service Server Protocol
Q: how does a process identify the other process with which it wants to communicate?
port port
protocol
host specific
Alternative Architectures
Sender
Receiver
Client Client
Server
Server
Sender
Receiver
Bandwidth
some apps (e.g., audio) can tolerate some loss other apps (e.g., file transfer, telnet) require 100% reliable data transfer
Timing
some apps (e.g., Internet telephony, interactive games) require low delay to be effective
some apps (e.g., multimedia) require minimum amount of bandwidth to be effective other apps (elastic apps) make use of whatever bandwidth they get
TCP Services
connection-oriented: setup required between client, server reliable transport: between sending and receiving process flow control: sender wont overwhelm receiver congestion control: throttle sender when network overloaded does not provide: timing, minimum bandwidth guarantees
UDP Services
Best effort data transfer between sending and receiving process Does not provide: connection setup, reliability, flow control, congestion control, timing, or bandwidth guarantees
Webs application layer protocol client-server model: client: browser that requests, receives, renders Web objects server: Web server sends objects in response to requests
PC running Explorer
http is stateless
client initiates TCP connection (creates socket) to server, port 80 server accepts TCP connection from client http messages (applicationlayer protocol messages) exchanged between browser (http client) and Web server (http server) TCP connection closed
Protocols that maintain state are complex! past history (state) must be maintained if server/client crashes, their views of state may be inconsistent, must be reconciled
aside
http example
Suppose user enters URL
(contains text, www.someSchool.edu/someDepartment/home.index references to 10 jpeg images)
1a. http client initiates TCP connection to http server (process) at www.someSchool.edu. Port 80 is default for http server. 2. http client sends http request message (containing URL) into TCP connection socket
1b. http server at host www.someSchool.edu waiting for TCP connection at port 80. accepts connection, notifying client 3. http server receives request message, forms response message containing requested object, sends message into socket
time
http example
Suppose user enters URL
(contains text, www.someSchool.edu/someDepartment/home.index references to 10 jpeg images)
1a. http client initiates TCP connection to http server (process) at www.someSchool.edu. Port 80 is default for http server. 2. http client sends http request message (containing URL) into TCP connection socket
1b. http server at host www.someSchool.edu waiting for TCP connection at port 80. accepts connection, notifying client 3. http server receives request message, forms response message containing requested object, sends message into socket
time
time
Persistent connections
Non-persistent
Persistent
http/1.0: server parses request, responds, closes TCP connection 2 RTTs to fetch object TCP connection object request/transfer each transfer suffers from TCPs initially slow sending rate many browsers open multiple parallel connections
default for htp/1.1 on same TCP connection: server, parses request, responds, parses new request,.. client sends requests for all referenced objects as soon as it receives base HTML. fewer RTTs, less slow start.
Sources
For the preparation of this lectures a lot of sources where used my special thanks go to :
Univ. Auckland Univ. California San Diego (UCSD) Univ. Hongkong many others
The End