Vint Cerf and Bob Kahn: The Sparks That Ignited The Internet

On 31 Dec 2018, Larry Roberts died at the age of 81 and left one of the great legacies of anyone who has ever walked on this planet: The…

Vint Cerf and Bob Kahn: The Sparks That Ignited The Internet

On 31 Dec 2018, Larry Roberts died at the age of 81 and left one of the great legacies of anyone who has ever walked on this planet: The Internet. Larry had been a manager in the Pentagon’s Advanced Research Projects Agency (ARPA), and designed the precursor to the Internet: ARPANET. He then oversaw BBN’s implementation of the network in 1969. This involved the creation of IMP (Interface Message Processor), and which were used to route data between the interconnected host networks.

But, how could we scale the IMP towards a structure that would separate the routing of data from transmission and reconstructure of data at a host? The answer came in May 1974 when Vint Cerf and Bob Kahn published a paper for an internetworking protocol and that defined a packet-switched method between nodes:

By Dec 1974, it became an RFC with [here]:

In fact, it was the first document to outline the Internet (and short for internetworking). At the core of the work was the concept of the Transmission Control Program, and which would later become known as TCP (Transmission Control Protocol) and IP (Internet Protocol).

The paper is a piece of art and basically outlines the methods of breaking data into data segments, and which are then encapsulated into network packets. Each segment is then given a sequence number. On the receipt of these, a host then reorders them back into the right order. Each segment is then acknowledged for its receipt, and where the sender keeps track of segments that have been successfully received. If there is no acknowledgement for a segement, the sender will then resend it. If this is not acknowledged, the sender will then time out the connection.

As a host could be communicating with many other hosts, Vint and Robert defined the concept of a Source and Destination port number. Thus, different connections with the same host can then be identified with a different port identifier:

But, what about when a sender is sending data too fast for the receiver to buffer and process? Well, Vint and Robert defined a window method, and where the sender and the receiver agree of a window size for the segments. The window then defines the maximum number of segments that can be sent before the sender must stop and wait for an acknowledgement.

The control of the flow of messages is then defined using a number of flags:

The SYN flag identifies the start of a connection, and ES and the end of a segment.

TCP and IP

After ARPANET had proven the packet switched networks, the race was now on to scale the principles of it into a large-scale network. For this, DARPA adopted the methods defined by Vint, and, in September 1981, they published the classic Transmission Control Protocol (TCP) RFC:

and and also IP:

By 2004, Vint and Robert were awarded the Turing Award for their foundation work. And, so, at the age of 81, Vint is still highly active and is the vice president and Chief Internet Evangelist at Google.

Conclusion

If you read the paper, you will see that it mapped out the key principles of TCP, and led to the creation of an open system interconnection (OSI) model. A key advancement was the separation of the network routing part and the data segment element. At its core was the principle of uniquely identifying a session and then identifying each segment with a segment identifier. This identifier can then be used for flow control, and where the sender knows how many segments have been received correctly.

Reference

[1] Cerf, V., & Kahn, R. (1974). A protocol for packet network intercommunication. IEEE Transactions on communications, 22(5), 637–648.