User:PHMKim/sandbox

Although Khan and Cerf started working on the Internet and TCP/IP in 1973, it wasn’t until January 1, 1983 that the ARPANET switched to TCP/IP (known as flag day). Throughout this time, multiple versions of TCP/IP were developed.

In May of 1974, Cerf and Kahn published a paper titled “A Protocol for Packet Network Intercommunication”, in which they described the protocol for sharing resources using packet switching. The paper described in detail the Transmission Control Program, which was a mixture of TCP and IP. The paper set the basis for how TCP/IP would develop.

Initially, TCP managed both datagram transmissions and routing, as anticipated by Cerf and Kahn’s paper, but as the protocol grew, some people started seeing the need to split the single layer into two. Jon Postel stated “we are screwing up in our design of Internet protocols by violating the principle of layering”. Postel was concerned that this single layer was an attack on the very ideals of layering. This encapsulation of different mechanisms were supposed to create an environment where the upper layers could access only what was needed from the lower layers, but by mixing both protocols into one, it forced people to use TCP in order to also use IP. In addition, people were concerned that forcing everyone to go through TCP to use IP would create a boundary on the potential of the Internet. This single layer could limit the flexibility of the Internet and unanticipated problems would not be able to be solved easily. In contrast, others were concerned that an open transport layer could lead to scalability issues. Kahn and Cerf designed TCP/IP to replace the protocols set by the many previous networks such as the ARPANET, ALOHAnet, PRnet, and SATnet, and if they created a separate transport layer, it could easily lead to reemergence of multiple host protocols. In addition, the Network Control Program (NCP) developed by Kahn handled the network communication on its own in a single layer, so it seemed natural for TCP/IP to also exist in a single layer.

Eventually, Cerf and Kahn agreed that the layers must be split into two and the Transmission Control Program was split into Transmission Control Protocol (TCP) and Internet Protocol (IP). The split was finalized in the fourth version of TCP (TCPv4) and also created IPv4, which was named version 4 for the sake of consistency.