TCP/IP commonly refers to a network architecture, but this acronym also refers to 2 protocols that are closely bound: a transport protocol, TCP (Transmission Control Protocol) we use "above" a network protocol, IP (Internet Protocol). What we designate by "TCP/IP model" is actualy a network architecture of 4 layers in which the TCP and IP protocols have a major role, since they constitute the official and most common implementation. Consequently, TCP/IP means two different things: the 4-layer network architecture, and the set of 2 protocols, TCP and IP.
As we will see later on, the TCP/IP model has become the model of reference on place of the OSI model. This is due to its story. Indeed, contrary to the OSI model, the TCP/IP model was first implemented before being specified. This particular story makes TCP/IP's characteristics, its advantages and drawbacks.
TCP/IP dates from the the ARPANET network. ARPANET is a telecommunication network developed by the ARPA (Advanced Research Projects Agency), the research agency of the American ministry of defence (the DOD: Department Of Defense). Besides the possibility to interconnect heterogeneous networks, this network was supposed to resist to a possible nuclear war, contrary to the telephon network usually used for telecommunication but considered as too vulnerable. It was then decided that ARPANET would use a standing out and promising new technology: packet switching (datagram mode). It is to meet this context that the TCP and IP protocols were invented in 1974. The ARPA then signed several agreements with manufacturers (especially BBN) and the Berkeley University, where a Unix system was under development, to impose this standard, and that was done.
A 4-layer model
The TCP/IP model can indeed be described as a 4-layer network architecture:
The OSI model was added to ease the comparison between these two major models.
The host-network layer
It is a pretty strange layer. Indeed, it seems to comprise both physical and data link layers of the OSI model. Actually, this layer has not been really specified; the only constraint of this layer, is to allow a host to send IP packets of a network. The implementation of this layer is free. In more concrete terms, this implementation is typical of the technology used to build the local network (LAN). For example, LANs use Ethernet; Ethernet is an implementation of the host-network layer.
The internet layer
This layer is the key of the architecture. It realizes the interconnection of remote (heterogeneous) networks without establishing a connection. Its role is to inject packets into any network and deliver them to the destination independently to one another. As no connection is established first, packets may not be received in order; the delivery order control process is the responsability of the upper layers.
Because of the major role of this layer in the packet delivery process, the critical point of this layer is routing. For this reason, we may compare this layer to the network layer of the OSI model.
This internet layer has an offical implementation: the IP protocol (Internet Protocol).
We may notice that the name of this layer ("internet") is written with a small i, for the simple reason that we consider here internet as an interconnection of networks, even if the Internet (with a big I) uses this layer.
The transport layer
It has the same role as the transport layer of the OSI model: it is used to make peer entities dialog with one another.
Officialy, this layer only has two possible implementations: the TCP protocol (Transmission Control Protocol) and the UDP protocol (User Datagram Protocol). TCP is a reliable and connection-oriented protocol that delivers packets without error from a machine of an internet to another machine of the same internet. Its role is to split up the message to be transmitted into a form the internet layer can handle. Conversely, on the receiving machine, TCP places fragments into order to reconstruct the initial message. TCP is also in charge of the flow control of the connection.
On the other hand, UDP is a very simple protocol: it is a non-reliable and connectionless protocol. Using it presupposes that we do not need flow control, either preserving the order of packets. For instance, we use it when the application layer is supposed to control the order of delivery. I remind you that in the OSI model, several layers were in charge of this order delivery control. It is an advantage of the TCP/IP model, but we will see this later on. We also use UDP to transmit voice. Indeed, inverting two sounds does not compromise the comprehension of the final message. In the more general way, we use UDP whenever it is more important to deliver packets on time.
The application layer
Contrary to the OSI model, this layer is immediately bound to the transport layer, simply because the session and presentation layers are useless. Indeed, with use, we have discover that network software hardely use these layers, and finally, the OSI model without these 2 layers is really close to the TCP/IP model
This layer holds all high level protocols, such as Telnet, TFTP (trivial File Transfer Protocol), SMTP (Simple Mail Transfer Protocol), HTTP (HyperText Transfer Protocol). The main issue for this layer is that it can use both TCP or UDP protocols. For example, TFTP (mainly used over LANs) uses UDP, because we consider that physical links on a LAN are rather reliable and transmission times are short enough to avoid packets to be inverted. This makes TFTP faster than FTP, which uses TCP. On the contrary, SMTP uses TCP, because we want mails to be perfectly delivered, without any error.
Comparaison with the OSI model and criticism
Comparaison with the OSI model
First of all, let's start with the common points. The TCP/IP and OSI models are both based on the concept of independent protocols stacks. Then, taken as a whole, functions are the same.
About the differences, we can notice the following issue: the OSI model makes clearly the difference between 3 main concepts, although TCP/IP does not make this distinction. These 3 concepts are services, interfaces and protocole. Indeed, TCP/IP does not make a clear difference between these concepts, in spite of the efforts of designers to bring the TCP/IP model closer to the OSI model. This is due to the fact that, for the TCP/IP model, protocols appear first, before specifications. The model is finally a theoretical justification of protocols, without making them independent to each other.
finally, the last important difference comes from the mode of connection. Indeed, connection-oriented modes and connectionless modes are available in both models, but not at the same layer: in the OSI model, these modes are only available at the network layer (at the transport layer, only the connection-oriented mode is available), though they are available at the transport layer in the TCP/IP model (the internet layer only offers the connectionless mode). Therefore, the TCP/IP has an advantage, compared to the OSI model: applications (that directly use the transport layer) have the choice between both modes.
First, we can say that the TCP/IP model does not make the distinction between specifications and implementation: IP is a protocl that is an integral part of the specifications of the model.
We can also speak about the host-network layer: Indeed, it is not a real abstraction layer, insofar as its specification is not accurate enough. Manufacturers are then obliged to propose solutions to fill in the lacks. Finally, we notice that the physical and data link layers are as important as the transport layer. From this fact, we may propose a hybrid model with 5 layers, which would gather the good points of every model:
Hybrid model of reference
Finaly, this model is the real reference in the Internet world. We have kept most layers of the OSI model (all but the session and presentation layers) because they are well specified. On the other hand, OSI's protocols have no success and finally, we have kept those from the TCP/IP model.
Copyright © 2000-2002 themanualpage.org - This site is submissive to the terms of the GNU GPL and FDL licences.