5 lessons
Ports, and the choice between TCP and UDP
How one IP address serves hundreds of programs at once, and the fundamental trade-off between reliable TCP and fast, careless UDP.
The three-way handshake and how TCP stays reliable
Why TCP shakes hands before talking, and the sequence number math it uses to guarantee nothing gets lost or reordered.
Stop-and-Wait, Go-Back-N, and Selective Repeat: the classic ARQ numericals
How reliable delivery actually gets implemented step by step, with the exact efficiency formulas and worked numericals for all three sliding window strategies.
Flow control and congestion control
How TCP avoids drowning a slow receiver, and how it avoids drowning the network itself, using two related but different windows.
Sockets, where your code actually meets the network
The programming-level handle that turns everything this course has covered into a few lines of actual code.