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.
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.