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-1 Mbps 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 11
2: Application Layer 11 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, 100’s msec yes, few secs yes, 100’s msec yes and no
Internet transport protocols services TCP service: UDP service: o connection-oriented: setul o unreliable data transfer required between client and between sending and server processes receiving process o reliable transport between o does not provide sending and receiving process connection setup, o flow control: sender won't reliability, f low control overwhelm receiver congestion control, timing o congestion control: throttle or bandwidth quarantee sender when network overloaded Q: why bother? Why is minimum bandwidth9, 口 does not providing:ti there a UDP? guarantees 2: Application Layer 12
2: Application Layer 12 Internet transport protocols services TCP service: connection-oriented: setup required between client and server processes reliable transport between sending and receiving process flow control: sender won’t overwhelm receiver congestion control: throttle sender when network overloaded does not providing: timing, minimum bandwidth guarantees UDP service: unreliable data transfer between sending and receiving process 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., Dialpad) typically UDP 2: Application Layer 13
2: Application Layer 13 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., Dialpad) Underlying transport protocol TCP TCP TCP TCP TCP or UDP typically UDP
Chapter 2 outline 口21 Principles of layer protoco/∞ 口26S0 cket programming with tCp o clients and servers 口2750 cket programming o app requirements with UDP 02.2Webandhttp 02.8 Building a Web 口2.3FTP server 口24E| ectronic mail 02.9 Content distribution O SMTP POP3, IMAP o Network Web caching 0 25DNS o Content distribution networks o P2P file sharing 2: Application Layer 14
2: Application Layer 14 Chapter 2 outline 2.1 Principles of app layer protocols clients and servers app requirements 2.2 Web and HTTP 2.3 FTP 2.4 Electronic Mail SMTP, POP3, IMAP 2.5 DNS 2.6 Socket programming with TCP 2.7 Socket programming with UDP 2.8 Building a Web server 2.9 Content distribution Network Web caching Content distribution networks P2P file sharing
Webandhttp First some jargon o Web page consists of objects D Object can be HtMl file, JPEG image, Java applet, audio file, W eb page consists of base HTML-file which includes several referenced objects D Each object is addressable by a URL 口 Example URL Www.sOmes chool. edu/some Dept/pic. gif host name path name 2: Application Lo
2: Application Layer 15 Web and HTTP First some jargon Web page consists of objects Object can be HTML file, JPEG image, Java applet, audio file,… Web page consists of base HTML-file which includes several referenced objects Each object is addressable by a URL Example URL: www.someschool.edu/someDept/pic.gif host name path name