| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
TCP Overview, History and Standards (Page 1 of 3) Between them, layers three and four of the OSI Reference Model represent the interface between networking software (the applications that need to move data across networks) and networking hardware (the devices that carry the data over networks). Any protocol suite must have a protocol or set of protocols that handles these layer three and layer four functions. The TCP/IP protocol suite is named for the two main protocols that provides these capabilities, allowing software to run on an internetwork: the Transmission Control Protocol (TCP) and the Internet Protocol (IP). IP deals with internetwork datagram delivery and routing, while TCP handles connections and provides reliability. What's interesting, however, is that in the early days of the protocol suite, there was, in fact, no TCP/IP at all. Due to its prominent role, the history of TCP is impossible to describe without going back to the early days of the protocol suite as a whole. In the early 1970s, what we know of today as the global Internet was a small research internetwork called the ARPAnet, named for the United States Defense Advanced Research Projects Agency (DARPA or ARPA). This network used a technology called the Network Control Protocol (NCP) to allow hosts to connect to each other. NCP did approximately the jobs that TCP and IP do together today. Due to limitations in the NCP, development began on a new protocol that would be better suited to a growing internetwork. This new protocol, first formalized in RFC 675, was called the Internet Transmission Control Program (TCP). Like its predecessor NCP, TCP was responsible for basically everything that was needed to allow applications to run on an internetwork. Thus, TCP was at first both TCP and IP. As I explain in detail in the topic describing the history of TCP/IP as a whole, several years were spent adjusting and revising TCP, with version 2 of the protocol documented in 1977. While the functionality of TCP was steadily improved, there was a problem with the basic concept behind the protocol. Having TCP by itself handle both datagram transmissions and routing (layer three functions) as well as connections, reliability and data flow management (layer four functions) meant that TCP violated key concepts of protocol layering and modularity. TCP forced all applications to use the layer four functions in order to use the layer three functions. This made TCP inflexible, and poorly-suited to the needs of applications that only need the lower-level functions and not the higher-level ones. As a result, the decision was made to split TCP into two: the layer four functions were retained, with TCP renamed the Transmission Control Protocol (as opposed to Program). The layer three functions became the Internet Protocol. This split was finalized in version 4 of TCP, and so the first IP was given version 4 as well, for consistency. Version 4 of TCP was defined in RFC 793, Transmission Control Protocol, published September 1981, and is still the current version of the standard. Even though it is more than 20 years old and is the first version most people have ever used, version 4 was the result of several years work and many earlier TCP versions tested on the early Internet. It is therefore a very mature protocol for its age. A precocious protocol, you could say. (To be fair, many additional features and modifications to how TCP works have been described in other standards, rather than upgrading the main document.)
Home - Table Of Contents - Contact Us The TCP/IP Guide (http://www.TCPIPGuide.com) Version 3.0 - Version Date: September 20, 2005 © Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved. Not responsible for any loss resulting from the use of this site. |