What transport service does an app need? Data loss Bandwidth r some apps (e.g.,audio)can r some apps (e.g., tolerate some loss multimedia)require r other apps (e.g.,file minimum amount of transfer,telnet)require bandwidth to be 100%reliable data "effective" transfer Timing r other apps ("elastic apps")make use of r some apps (e.g., whatever bandwidth Internet telephony, interactive games) they get require low delay to be "effective" 2:Application Layer 16
2: Application Layer 16 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
Wiktionary:Timing r (uncountable)The regulation of the pace of e.g.an athletic race,the speed of an engine, the delivery of a joke,or the occurrence of a series of events 2:Application Layer 17
2: Application Layer 17 Wiktionary: Timing r (uncountable) The regulation of the pace of e.g. an athletic race, the speed of an engine, the delivery of a joke, or the occurrence of a series of events
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 no loss elastic no real-time audio/video loss-tolerant audio:5kbps-1Mbps yes,100s msec video:10kbps-5Mbps stored audio/video loss-tolerant same as above yes,few secs interactive games loss-tolerant few kbps up yes,100s msec instant messaging no loss elastic yes and no 2:Application Layer 18
2: Application Layer 18 Transport service requirements of common apps Application file transfer e-mail Web documents real-time audio/video stored audio/video interactive games instant messaging Data loss no loss no loss no loss loss-tolerant loss-tolerant loss-tolerant no loss Bandwidth elastic elastic elastic audio: 5kbps-1Mbps video:10kbps-5Mbps same as above few kbps up elastic Time Sensitive no no no yes, 100s msec yes, few secs yes, 100s msec yes and no
Internet transport protocols services TCP service: UDP service: r connection-oriented:setup r unreliable data transfer required between client and between sending and server processes receiving process r reliable transport between does not provide: sending and receiving process connection setup, r flow control:sender won't reliability,flow control, overwhelm receiver congestion control,timing, r congestion control:throttle or bandwidth guarantee sender when network overloaded Q:why bother?Why is r does not provide:timing, there a UDP? minimum bandwidth guarantees 2:Application Layer 19
2: Application Layer 19 Internet transport protocols services TCP service: r connection-oriented: setup required between client and server processes 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 provide: 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 2821] TCP remote terminal access Telnet [RFC 854] TCP Web HTTP [RFC 2616] TCP file transfer FTP [RFC 959] TCP streaming multimedia proprietary TCP or UDP (e.g.RealNetworks) Internet telephony proprietary (e.g.,Vonage,Dialpad)typically UDP 2:Application Layer 20
2: Application Layer 20 Internet apps: application, transport protocols Application e-mail remote terminal access Web file transfer streaming multimedia Internet telephony Application layer protocol SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] proprietary (e.g. RealNetworks) proprietary (e.g., Vonage,Dialpad) Underlying transport protocol TCP TCP TCP TCP TCP or UDP typically UDP