The Second Internet
In May 1974, Vint Cerf and Bob Kahn released the paper “A Protocol for Packet Network
Interconnection”. This described a monolithic protocol called TCP that combined the features of both
modern TCP and IPv4. Later John Postel was instrumental in splitting apart TCP and IP as we know them
today. Vint Cerf is today considered the “father of TCP/IP”, and is now the IPv6 Evangelist at Google. He
understands very well the problems with the current implementation of TCP/IPv4 (and why these things
were done). He advocates for users to migrate to TCP/IPv6, which restores his original concept of a flat
address space (no NAT), where any node can connect directly to any other node.
If you’d like to read about the creation of the First Internet, I recommend the book “Where Wizards Stay
Up Late: The Origins of the Internet”, by Katie Hafner and Matthew Lyon. It is of considerable interest to
those of us creating the Second Internet, as we facing some of the same problems they did. Only this
time around, we’ve got over a billion legacy users (and staggering investments in hardware and
software) to worry about. On the other hand, we’ve got three decades of operational experience with
TCP/IPv4 to draw upon.
Higher level software protocols were built on top of the TCP and IP layers, called “application protocols”,
such as SMTP (for e-mail), FTP (for file transfer) and Telnet (for terminal emulation) and more recently
HTTP (used in the Web), and SIP & RTP (used in VoIP). The resulting suite of protocols became known for
its two most important protocols, TCP and IP, or TCP/IP.
2.2.1 – UNIX
About this time (1973), Bell Labs (a research group within AT&T) created an interesting new operating
system (called PWB-UNIX) and a new language (in which UNIX was written) called “C”. Because of a
1958 consent decree, AT&T as a regulated monopoly was not allowed to market or sell UNIX
commercially. They licensed it (complete with source code) to a number of universities. One of these
was the University of California at Berkeley (also famous for being the center of communist student
activities at the time). The team at UCB extended UNIX in several very important ways such as adding
Virtual Memory. They also integrated the new network protocol from ARPA as the first commercial
implementation of TCP/IP. The “Berkeley System Distribution” of UNIX became a main branch. Over
time, they rewrote most of it and wanted to release it for free. AT&T sued them in court, and it seems
most of the examples of “stolen code” AT&T cited had actually been written at UCB. The judge ruled
that if UCB rewrote the remaining 10% or so (so there was zero original AT&T code), they could release
that. That rewrite became 386BSD, the starting point for FreeBSD (the first Open Source operating
system). Interestingly enough, FreeBSD was chosen by Japan’s KAME project to deploy the first version
(the “reference” implementation) of an IPv6 stack, in an eerie echo of BSD UNIX’s choice for the first
commercial TCP/IPv4 implementation.
UNIX and TCP/IP became very popular on college campuses, and with high end workstation vendors,
such as Sun, Silicon Graphics and Intergraph. Personal computers were not powerful enough to run
UNIX until the Intel 386, at which point UCB ported the BSD version to the 386. However, as
documented above, most personal computer networking was already moving to TCP/IPv4.
2.2.2 – Open System Interconnect (OSI)