What transport service does an app need? Data loss Bandwidth some apps(e.g, audio)can tolerate some loss r some apps (e.g multimedia require r other apps(e.g. file minimum amount of transfer, telnet require 100%reliable data bandwidth to be transfer effective Timing r other apps elastic apps )make use of some apps(e.g whatever bandwidth Internet telephony interactive games) they get require low delay to be effective" 2: Application Layer 6
2: Application Layer 6 What transport service does an app need? Data loss r some apps (e.g., audio) can tolerate some loss r other apps (e.g., file transfer, telnet) require 100% reliable data transfer Timing r some apps (e.g., Internet telephony, interactive games) require low delay to be “effective” Bandwidth r some apps (e.g., multimedia) require minimum amount of bandwidth to be “effective” r other apps (“elastic apps”) make use of whatever bandwidth they get
Transport service requirements of common apps Application Data loss Bandwidth Time Sensitive file transfer no loss elastic no e-mail no loss elastic no Web documents loss-tolerant elastic no real-time audio/video loss-tolerant audio 5Kb-1Mb yes, 100s msec video 10Kb-5Mb stored audio/video loss-tolerant same as above yes, few secs interactive games loss-tolerant few Kbps up yes, 100s msec financial apps no loss elastic yes and no 2: Application Layer 7
2: Application Layer 7 Transport service requirements of common apps Application file transfer e-mail Web documents real-time audio/video stored audio/video interactive games financial apps Data loss no loss no loss loss-tolerant loss-tolerant loss-tolerant loss-tolerant no loss Bandwidth elastic elastic elastic audio: 5Kb-1Mb video:10Kb-5Mb same as above few Kbps up elastic Time Sensitive no no no yes, 100’s msec yes, few secs yes, 100’s msec yes and no
Internet transport protocols services TCP service: UDP service: connection-oriented: setu r unreliable data transfer required between client between sending and server receiving process r reliable transport between does not provide sending and receiving process connection setup, r flow control: sender won't reliability, f low control overwhelm receiver congestion control, timing r congestion control: throttle or bandwidth quarantee sender when network overloaded Q: why bother? Why is minimum bandwidth9, loes not providing: ti there a UDP? guarantees 2: Application Layer 8
2: Application Layer 8 Internet transport protocols services TCP service: r connection-oriented: setup required between client, server r reliable transport between sending and receiving process r flow control: sender won’t overwhelm receiver r congestion control: throttle sender when network overloaded r does not providing: timing, minimum bandwidth guarantees UDP service: r unreliable data transfer between sending and receiving process r does not provide: connection setup, reliability, flow control, congestion control, timing, or bandwidth guarantee Q: why bother? Why is there a UDP?
Internet apps: application, transport protocols Application Underlying Application layer protocol transport protocol e-mail smtp [RFc 821 TCP remote terminal access telnet [rFc 854 TCP Webhttp[rfc2068] TCP file transfer ftp [RFc 959 TCP streaming multimedia proprietary tCP or UDP (e.g. RealNetworks) remote file server NSF TCP or UDP Internet telephony proprietary typically UDP (e. g, Vocaltec) 2: Application Layer 9
2: Application Layer 9 Internet apps: application, transport protocols Application e-mail remote terminal access Web file transfer streaming multimedia remote file server Internet telephony Application layer protocol smtp [RFC 821] telnet [RFC 854] http [RFC 2068] ftp [RFC 959] proprietary (e.g. RealNetworks) NSF proprietary (e.g., Vocaltec) Underlying transport protocol TCP TCP TCP TCP TCP or UDP TCP or UDP typically UDP
TheWebthehttpprotocol httphypertexttransfer protocol r Web's application layer PC running est protocol Exple r client/server model client: browser that requests, receives Server displays"Web objects running m server: Web server NCSA Web server sends ob jects in response fo requests rhttp1.0:Rfc1945 Mac running Navigator rhttp1.1:Rfc2068 2: Application Layer 10
2: Application Layer 10 The Web: the http protocol http: hypertext transfer protocol r Web’s application layer protocol r client/server model m client: browser that requests, receives, “displays” Web objects m server: Web server sends objects in response to requests r http1.0: RFC 1945 r http1.1: RFC 2068 PC running Explorer Server running NCSA Web server Mac running Navigator