01Overview
In 1974 Cerf and Kahn published the design of TCP, whose goal was to interconnect different networks — a network of networks. In 1978 TCP was split into TCP and IP: IP offers connectionless best-effort delivery, and TCP adds retransmission, ordering and congestion control on top.
On 1 January 1983 ARPANET switched over to TCP/IP, a date often called the Internet’s birthday. Layering lets the layers below evolve independently: Ethernet, Wi-Fi and fibre all carry IP. And end-to-end congestion control is what kept the whole network stable through exponential growth.
02History
- 1974
Cerf and Kahn propose TCP
The core protocol for internetworking.
- 1978
TCP and IP split
The layered design settles.
- 1981
RFC 791 / 793
The formal specifications of IP and TCP.
- 1983
ARPANET switches to TCP/IP
The Internet's birthday.
- 1988
Congestion control
Van Jacobson keeps the network from collapsing.
03Core concepts
Layering
Link, network, transport and application each mind their own business.
IP addressing
Addresses and routing tables carry a packet to its destination network.
Congestion control
Adjust the sending rate from packet loss and delay.
04Hands-on
Do it once — it beats reading it ten times
Implement a tiny reliable transport over UDP: sequence numbers, ACKs and retransmission on timeout
05Self-check
Say it in your own words first, then open the answer. Whatever you cannot explain is what to review next.
Can you explain "Layering"?
Link, network, transport and application each mind their own business.
Can you explain "IP addressing"?
Addresses and routing tables carry a packet to its destination network.
Can you explain "Congestion control"?
Adjust the sending rate from packet loss and delay.
What problem did it solve, and why was there nothing better at the time?
Go back to the history section: how was this done before, and what did it cost?
If you had to build it today, how would you break it down?
Use the hands-on task above: write a plan of at most three steps before you start.
06Key people
Vint Cerf
1943 –
Co-designer of TCP/IP.
Bob Kahn
1938 –
Co-designer of TCP/IP.
07Further reading
- TCP/IP Illustrated
- The Design Philosophy of the DARPA Internet Protocols