2004.4.29. UDP TCP
Application Transport Network Link Physical My computer Your computer Bridge Router Data
My computer Your computer Bridge Router Data Application layer PDU Here Introduce PDU - protocol data unit.
Rise of the Stupid Network Voice network Intelligence inside the network encoding/decoding echo cancellling conference bridges etc. Internet: idiot savant’s network Just deliver the bits
Is IP going to take over the world? Not yet Only a small portion of the comm market Compared to TV/cable/radio/movie market Link utilization low less than 50% compared to 80+% of telephone Robust troubling problems of routing protocols Simple Real-time application support
Multiplexing/Demultiplexing To extend IP’s delivery service Between 2 end systems to 2 processes Web Email SoriBada Web Email SoriBada Application Application What does it use to demultiplex? PORT NUMBERS Transport Transport Network Network Link Link Physical Physical
UDP Message Queues Lineage VoD Player MP3 player UDP
Connectionless Transport: UDP User Datagram Protocol Provides only mux/demux and light error control No initial connection setup overhead No connection state Small packet header overhead Finer application-level control See how you can bring down the Internet?? No connection state either at the end host or inside the network Length = UDP header + payload source port # destination port # UDP header = Total 8 bytes length checksum
UDP Checksum For error detection Checksum calculation No recovery, only detection What happens if an error is detected? Why does UDP have a checksum? Checksum calculation Over UDP header and UDP data (+ some of IP header) 16-bit-long 1’s complement of the sum odd-numbered UDP data -> padded with 0
Connection-oriented: TCP Transmission Control Protocol For reliable data transfer 3-way handshaking for connection setup Error checking Flow control Congestion control Error-free, in-order delivery of data to application layer
TCP Header 15 16 31 Source Port Number Destination Port Number 15 16 31 Source Port Number Destination Port Number Sequence Number Acknowledgement Number Header Length Reserved TCP Flags Window Size TCP Checksum Urgent Pointer
TCP Connection Tear-Down: 2-Army Problem Attack! OK! ?? ?? OK! Symmetric or Asymmetric disconnect? Telephone = symmetric, can cause data loss.
Closing a TCP Connection Client Server FIN ACK FIN Time-wait period is to wait around just in case the last ACK is lost. ACK Time-wait Closed
TCP Congestion Control Window size function of receiver buffer size delay x bandwidth Several flavors Reno/Tahoe/Vegas
Rethinking the design of the Internet: The end to end arguments vs Rethinking the design of the Internet: The end to end arguments vs. the brave new world