January 1st, 2016
(written by lawrence krubner, however indented passages are often quotes). You can contact lawrence at: firstname.lastname@example.org
TCP version 1 was designed in 1973. This was documented through RFC 675. TCP version 2 was documented in March 1977. In August 1977, Jon Postel realized they were going the wrong direction with the protocol. “We are screwing up in our design of internet protocols by violating the principle of layering. Specifically we are trying to use TCP to do two things: serve as a host level end to end protocol, and to serve as an internet packaging and routing protocol. These two things should be provided in a layered and modular way. I suggest that a new distinct internetwork protocol is needed, and that TCP be used strictly as a host level end to end protocol.”
At this point, TCP and IP were split, with both being versioned number 3 in the spring of 1978. Stability was added in the fourth revision and that is how we got to IPv4. What happened to IPv5? It was a failed attempt to expand and solve some of IPv4’s problems. IPv4 was built to support efficient delivery of streams of packets to either single or multiple destinations, requiring guaranteed data rates and controlled delay. In other words, it was attempting to solve quality–of-service issues from the original Internet Protocol. With IPv5, computer scientists were trying to find a way to transmit voice over packet-switching networks. Originally, IP was not designed in a time before routers were required to maintain state information. As the idea of streaming video and other new media become a reality, RFC 1190 was submitted for a formal implementation of IPv5. Apple, Sun, IBM and a few others attempted to implement IPv5, but ultimately, general improvements in bandwidth, applications and compression allowed the modern network to grow around IPv4’s problems.