The TCP / IP layer set corresponds to the OSI reference model levels as follows:
This correspondence is theoretical because, as the TCP / IP protocols developed before the OSI reference model, there are substantial differences, such as:
• The concept of hierarchy about levels: Indicates that a communications task divided into entities that can communicate with other peer entities in another system. An entity within a system provides services to other entities and, in turn, uses the services of others. These entities must have a hierarchical relationship so that an entity only uses the services of hierarchically inferior entities. The difference between both models is a consequence of the pragmatism with which the TCP / IP protocols developed since these provide designers with a higher degree of freedom for the use of one or the other; while OSI is more prescriptive since it dictates the protocols of a certain level that must perform specific functions.
• The interoperation of networks: since the TCP / IP protocols are designed to interconnect systems not connected to the same network.
• End-to-end reliability: The IP protocol is not reliable, that is, it does not guarantee that the delivered packets are correct and that they retain the sequence with which they issued since it means that it is the transport protocols that must guarantee it.
• Non-connection oriented services: The IP protocol is also not connection-oriented since it must provide at higher levels.
• Network management: In the first documents of the OSI model, management functions not contemplated and, although they already contemplated, they do not reach the level of acceptance of TCP / IP.
The OSI model and TCP / IP have many things in common. Both based on the idea of a stack of independent protocols. Also, the functionality of the layers is quite similar. For example,
• In both models, the layers up to the transport level must provide an end-to-end transport service independent of the network, to processes that wish to communicate.
• In both cases, the layers that are above the transport level are users of the services, which it provides, oriented to the application. Even so, they also have many differences.
The OSI model has three basic concepts: services, interfaces, and protocols. Probably, the main contribution of the OSI model is to make explicit the distinction between these concepts. Each layer performs services for the upper layer. The definition of services indicates what the layer does, not how the access of the upper layers is or how they work. The interface of a layer indicates how to access the services it offers, but it also says nothing about how it works internally. Finally, the protocol of the layer is a particular problem of the same. You should only be able to ensure that the layer correctly provides its services. Its modification should not affect the software of the other layers. Initially, the TCP / IP model did not make this distinction, although over time it has been adapted to these proposed by the OSI model.
As a consequence, the protocols of the OSI model are better hidden than in the TCP / IP model. The OSI model raised before defining the protocols of each layer, so the model did not deviate in favor of any particular protocol. The main drawback is that the designers of the model did not have much experience and therefore, did not know very well in which layer to include each service — for example, the link-layer designed for point-to-point networks. When the broadcast networks appeared, a sublayer had to be inserted to accommodate them. When OSI-based systems began to design with the protocols that existed, they realized that they did not fit the required layer services. The members of the ISO committee thought that each country would have a network, controlled by the government and appropriate to the OSI model. The problem is that things did not evolve like this. The reverse happened with TCP / IP: the protocols first defined, and the model turned out to be a description of them. The protocols conform to the model, but the model does not conform to any other set of protocols, so it is not useful to describe networks that are not TCP / IP. Another difference is in the type of connection. The OSI model supports connectionless and connection-oriented services at the network level, but the transport level only accepts connection-oriented services. The TCP / IP model only supports datagram service at the network level but supports both forms of service at the transport level, with which the user can choose. It is essential for applications based on a simple question/answer protocol.
Criticism of the OSI model
It is worth asking why a standard with interesting theoretical contributions and capable of describing any network has not imposed. Time has made four reasons clear:
• Bad choice of the moment.
• Bad technology.
• Bad implementations.
• Bad policies.
According to David Clark, from MIT, for the definition of a standard to be successful, it must occur in what he calls the apocalypse of the two elephants. In the beginning, there is an intense research activity that reflected in articles, congresses, and meetings of working groups. After a while of maintaining the research activity, the companies discover the subject and invest large sums of money to achieve its commercial application.
The rules must write during the intermediate part. If these written before the end of the research phase, the resulting norms could reflect gaps in the knowledge of the subject. On the other hand, if it expected so much that companies have made significant investments, they may prefer to ignore the recommendations of the standard so as not to lose their position in the market. What happened with the normalization proposed by the OSI model, is that the time taken to develop the standard was minimal, so it collapsed between them.
On the other hand, although it may seem evident that the number of layers of the model, as well as its content, is the only alternative available. However, it is not clear that this is so, in fact, the British proposal was five layers. Many applications do not need the services offered by the session and presentation levels. Also, the presentation layer is virtually empty of content. On the other hand, other layers such as physics or the link had to subdivided due to the large number of functions they had to support.
Although unofficial, one possible reason for adopting the seven-layer model was that IBM had a 7-layer network architecture (SNA). IBM dominated the market in such a way that everyone was convinced that they had used their power to impose SNAs against the standard, and could then modify it at their will. Therefore, it was thought to make a model tailored to SNA.
In the OSI model, some functions such as addressing, flow control, and error detection duplicated in each layer, which is redundant and inefficient. Also, although many LANs worked using offline services and protocols, the original standard did not include this possibility, which added through extensions of the standard. Essential aspects, such as administration excluded from the model.
Perhaps one of the most trenchant criticisms is that the standard dominated by a mentality from the field of telecommunications. Therefore, some decisions were inadequate for its expression in the form of a program. In any case, and given the complexity of the model and protocols, the first implementations were excessively large, uncontrolled, and slow. OSI was associated with poor quality, and although the products were improving, the idea did not change. On the contrary, one of the first implementations of TCP / IP was part of Berkeley Unix, and its quality was quite high. As if this were not enough, it was free distribution software. Under these conditions, it is easy to understand that its use became widespread, which led to further improvements and hence, an even higher number of users. TCP / IP was born in university environments, while OSI was expected to be a product developed by European telecommunications ministries, the European Community and the U.S. government. The idea of imposing from the bureaucracy a technology inferior to that available did not work. OSI clearly defines the differences between services, interfaces, and protocols.
• Service: what a level does
• Interface: how services can be accessed
• Protocol: the implementation of services
TCP / IP does not have this apparent separation.
Because OSI defined before implementing the protocols, the designers did not have much experience with where the functionalities should locate, and some others are missing. For example, OSI initially does not have any support for broadcast.
OSI was unsuccessful due to
• Bad time of introduction: insufficient time between research and large-scale market development to achieve standardization
• Bad technology: OSI is involved; a telecommunications mentality dominates it without thinking about computers; it lacks offline services, etc.
• Bad implementations
• Bad policies: researchers and programmers against telecommunication ministries.
However, OSI is a good model (not protocols). TCP / IP is a good set of protocols, but the model is not general.
Criticism of the TCP / IP model
The TCP / IP model and protocols are not general and therefore misrepresents any other set of protocols other than TCP / IP. For example, describing the SNA architecture would be impossible. On the other hand, the network connection (link and physical layers) is not a layer in the usual sense of the term. It is instead an interface; it indicated that it should allow the sending of IP frames. Also, no difference is established between the physical level and the link level. Although TCP / IP has well-thought-out and well-implemented protocols, many protocols of the application layer made on the fly, but their rapid dissemination popularized their use with what is difficult to replace.
The TCP / IP model was defined after the protocols and they fit perfectly. But not other protocol stacks.