1 End-user Protocols, Services and QoS
2 Layering: logical communication application transport network link physical application transport network link physical application transport network link physical application transport network link physical network link physical Each layer: r distributed r “entities” implement layer functions at each node r entities perform actions, exchange messages with peers
3 Layering: logical communication application transport network link physical application transport network link physical application transport network link physical application transport network link physical network link physical data E.g.: transport r take data from app r add addressing, reliability check info to form “datagram” r send datagram to peer r wait for peer to ack receipt r analogy: post office data transport ack
4 Layering: physical communication application transport network link physical application transport network link physical application transport network link physical application transport network link physical network link physical data
5 Protocol layering and data Each layer takes data from above r adds header information to create new data unit r passes new data unit to layer below application transport network link physical application transport network link physical source destination M M M M H t H t H n H t H n H l M M M M H t H t H n H t H n H l message segment datagram frame
6 Services provided by Internet transport protocols 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?
7 Network edge: connection-oriented service Goal: data transfer between end sys. r handshaking: setup (prepare for) data transfer ahead of time m Hello, hello back human protocol m set up “state” in two communicating hosts r TCP - Transmission Control Protocol m Internet’s connection- oriented service TCP service [RFC 793] r reliable, in-order byte- stream data transfer m loss: acknowledgements and retransmissions r flow control: m sender won’t overwhelm receiver r congestion control: m senders “slow down sending rate” when network congested
8 Network edge: connectionless service Goal: data transfer between end systems m same as before! r UDP - User Datagram Protocol [RFC 768]: Internet’s connectionless service m unreliable data transfer m no flow control m no congestion control App’s using TCP: r HTTP (WWW), FTP (file transfer), Telnet (remote login), SMTP ( ) App’s using UDP: r streaming media, teleconferencing, Internet telephony
9 Transport service requirements of common apps Application file transfer 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 yes and no
10 Internet apps: their protocols and transport protocols Application 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 or UDP typically UDP