TCP and Congestion Control (1) Dan li CS Department, Tsinghua University 2021/2/8
TCP and Congestion Control (1) 2021/2/8 1 Dan LI CS Department, Tsinghua University
Today's Lecture w Transport-Layer Introduction Error Recovery s Window flow control Analysis of TCP Congestion Control TCP Variations Beyond TCP Congestion Control w Reading list 2021/2/8
Today’s Lecture Transport-Layer Introduction Error Recovery Window Flow Control Analysis of TCP Congestion Control TCP Variations Beyond TCP Congestion Control Reading list 2021/2/8 2
Transport Protocols Lowest level end-to end protocol 7 Header generated by sender is interpreted 7-6-5 6 5 only by the destination Transport Transport Routers view transport header as part of the P P P payload Datalink /----o-22--d/ Datalink Physical Physical router 2021/2/8
Transport Protocols Lowest level end-toend protocol. Header generated by sender is interpreted only by the destination Routers view transport header as part of the payload 2021/2/8 3 7 6 5 7 6 5 Transport IP Datalink Physical Transport IP Datalink Physical IP router 2 2 1 1
Functionality Split Network provides best-effort delivery End-systems implement richer functions Reliability k In-order delivery Demultiplexing Message boundaries k connection abstraction Congestion control 2021/2/8 4
Functionality Split Network provides best-effort delivery End-systems implement richer functions Reliability In-order delivery Demultiplexing Message boundaries Connection abstraction Congestion control … 2021/2/8 4
Transport Protocols UDP provides just integrity and demultiplex TCP adds k connection abstraction Reliability Ordered delivery Byte stream Flow and congestion control 2021/2/8
Transport Protocols UDP provides just integrity and demultiplex TCP adds… Connection abstraction Reliability Ordered delivery Byte stream Flow and congestion control 2021/2/8 5
UDP: User Datagram Protocol [RFC 768 No frills, ""bare bones" Internet transport protocol *"Best effort"service, UDP segments may be * Lost Delivered out of order to app Connectionless No handshaking between UDP sender, receiver Each UDP segment handled independently of others 2021/2/8
UDP: User Datagram Protocol [RFC 768] “No frills,” “bare bones” Internet transport protocol “Best effort” service, UDP segments may be: Lost Delivered out of order to app Connectionless: No handshaking between UDP sender, receiver Each UDP segment handled independently of others 2021/2/8 6
Why is there a UDP? No connection establishment(which can add delay Simple: no connection state at sender recelver small header No congestion control: UDP can blast away as fast as desired 2021/2/8
Why is there a UDP? No connection establishment (which can add delay) Simple: no connection state at sender, receiver Small header No congestion control: UDP can blast away as fast as desired 2021/2/8 7
UDP Applications w Often used for streaming multimedia apps k Loss tolerant Rate sensitive w other UdP based apps k DNs, SNMP Reliable transfer over UdP Must be at application layer Application-specific error recovery 2021/2/8
UDP Applications Often used for streaming multimedia apps Loss tolerant Rate sensitive Other UDP based apps DNS, SNMP Reliable transfer over UDP Must be at application layer Application-specific error recovery 2021/2/8 8
UDP Segment Format 32 bits Source port dest port Length, in bytes ength Checksum of UDP segment, including header Application data (message UDP segment format 2021/2/8
UDP Segment Format 2021/2/8 9 Source port # Dest port # 32 bits Application data (message) UDP segment format Length Checksum Length, in bytes of UDP segment, including header
UDP Checksum Goal: detect errors"(e.g flipped bits) in transmitted segment Sender Treat segment contents as sequence of 16-bit integers Checksum: addition of segment contents Sender puts checksum value into UDP checksum field 2021/2/8
UDP Checksum Goal: detect “errors” (e.g., flipped bits) in transmitted segment Sender Treat segment contents as sequence of 16-bit integers Checksum: addition of segment contents Sender puts checksum value into UDP checksum field 2021/2/8 10