Understanding the Transport Control Protocol (TCP) is essential to a thorough understanding of network communication and for any development of distributed applications. TCP provides a reliable, high-efficiency, in-order byte stream between applications on (usually) different hosts. This lecture will describe the protocol in some detail, including segment formats, connection setup and teardown, and techniques to get reliable transfer without overwhelming the receiver.
The handshake to set up a connection
Lesson Objectives
By the end of this lesson, the student will be able to:
- describe the requirements and features of TCP.
- describe the segment format of TCP.
- calculate MSS from the relationship of MTU, Network and Transport header sizes.
- describe the operations behind establishing and tearing-down a TCP connection.
- describe the operation of sender and receiver in reliably transferring data across the TCP connection. This description should include events occurring at the sender (including fast retransmision optimizations) and receiver, as well as scenarios whereby error conditions are overcome.
Reading
- KR Ch 3.5
Slides
Due
Video
rules to slow the sender down
port for application => same as UDP
TCP sequence # => count bytes, not segmetns
TCPascknoledgement # => also count bytes
not used => not popularly used => actually used sometimes
cool!
RDT: Reliable Data Transfer
delayed receiving of duplication information from the receiver => receiver should wait some time => 3?