Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Computer Networks Transport Layer Protocols. 2 Application-layer Protocols Application-layer protocols –one “piece” of an app –define messages exchanged.

Similar presentations


Presentation on theme: "1 Computer Networks Transport Layer Protocols. 2 Application-layer Protocols Application-layer protocols –one “piece” of an app –define messages exchanged."— Presentation transcript:

1 1 Computer Networks Transport Layer Protocols

2 2 Application-layer Protocols Application-layer protocols –one “piece” of an app –define messages exchanged by apps and actions taken –use communication services provided by lower layer protocols (TCP, UDP) application transport network data link physical application transport network data link physical application transport network data link physical

3 3 Jargons Process: program running within a host. within same host, two processes communicate using inter-process communication processes running in different hosts communicate with an application-layer protocol

4 4 Client-Server Paradigm Typical network app has two pieces: client and server application transport network data link physical application transport network data link physical Client: initiates contact with server typically requests service from server request reply Server: provides requested service to client

5 5 Application-layer Protocols Q: how does a process “identify” the other process with which it wants to communicate? –IP address of host running other process –Port number allows receiving host to determine to which local process the message should be delivered

6 6 Transport Services Data loss some apps can tolerate some loss other apps require 100% reliable data transfer Timing some apps require low delay to be “effective” Bandwidth some apps require minimum amount of bandwidth to be “effective” other apps (“elastic apps”) make use of whatever bandwidth they get

7 7 Transport Service Requirements Application file transfer e-mail Web documents real-time audio/video stored audio/video interactive games financial apps Data loss no loss loss-tolerant no loss Bandwidth elastic audio: 5Kb-1Mb video:10Kb-5Mb same as above few Kbps up elastic Time Sensitive no yes, 100’s msec yes, few secs yes, 100’s msec

8 8 Transport-Layer Protocols Services: Reliable, in-order delivery (TCP) Unreliable (“best- effort”), unordered delivery: UDP Services not available: –real-time –bandwidth guarantees application transport network data link physical application transport network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical logical end-end transport

9 9 TCP Services Connection-oriented: setup required between client and server Reliable transport between sending and receiving processes Flow control: sender won’t overwhelm receiver Congestion control: throttle sender when network overloaded No –timing –minimum bandwidth guarantees

10 10 UDP Services unreliable data transfer between sending and receiving processes Does not provide connection setup reliability flow control congestion control timing guarantee bandwidth guarantee Q: Why is there a UDP?

11 11 Internet Application and Transport Protocols Application e-mail remote terminal access Web file transfer streaming multimedia Internet telephony Application layer protocol smtp [RFC 821] telnet [RFC 854] http [RFC 2068] ftp [RFC 959] proprietary (e.g. RealNetworks) proprietary Underlying transport protocol TCP TCP or UDP typically UDP

12 12 Transport Services and Protocols Provide logical communication between processes running on different hosts Transport protocols run in end systems Network layer –data transfer between end systems Transport layer –data transfer between processes application transport network data link physical application transport network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical logical end-end transport

13 13 application transport network M P2 application transport network Demultiplexing Recall: segment - unit of data exchanged between transport layer entities –aka TPDU: transport protocol data unit receiver H t H n Demultiplexing: delivering received segments to correct app layer processes segment M application transport network P1 MMM P3 P4 segment header application-layer data

14 14 Multiplexing gathering data from multiple app processes, enveloping data with header (later used for demultiplexing) source port #dest port # 32 bits application data (message) other header fields TCP/UDP segment format Multiplexing: Well-know port numbers defined in RFC 1700, e.g., HTTP: 80 FTP: 21 Telnet: 23

15 15 Examples host A server B source port: x dest. port: 23 source port:23 dest. port: x port use: simple telnet app Web client host A Web server B Web client host C Source IP: C Dest IP: B source port: x dest. port: 80 Source IP: C Dest IP: B source port: y dest. port: 80 port use: Web server Source IP: A Dest IP: B source port: x dest. port: 80

16 16 UDP: User Datagram Protocol “Bare Bones” Internet transport protocol “Best effort” service, UDP segments may be: –lost –delivered out of order to app Connectionless: –no handshaking between UDP sender, receiver –each UDP segment handled independently of others Why is there a UDP? no connection establishment (which can add delay) simple: no connection state at sender, receiver Often used for streaming multimedia apps –loss tolerant –rate sensitive


Download ppt "1 Computer Networks Transport Layer Protocols. 2 Application-layer Protocols Application-layer protocols –one “piece” of an app –define messages exchanged."

Similar presentations


Ads by Google