At first glance, the Transmission Control Protocol might seem fairly easy. Data gets transmitted, and then an acknowledgment is returned. But as one takes the time to research this protocol, it quickly becomes quite more complex than previously assumed. This course will go deep into the functioning of TCP at a level that you will be hard-pressed to find anywhere else. You will not only learn details about how TCP develops it system of sequencing segments and providing acknowledgments, but you’ll also learn the nitty-gritty details of things like the Sliding Window, the MSS, the Receive Window, and the TCP “Urgent” and “Push” functions. You’ll learn the differences between TCP “Passive” and “Active” Opens, and how these affect the creation of TCBs. You’ll learn about Nagle’s Algorithm, the “TCP_NoDelay” option, and how both of these affect how-and-when TCP segments are created. In addition, this course also goes into details about TCP’s congestion avoidance mechanisms of Slow Start, the Congestion Avoidance Algorithm, Fast Retransmit, and TCP Fast Recovery, and much, much more.