The TCP/IP and OSI Layering Models
There are two layering schemes available to network designers. The OSI layering mechanism was designed by Open System Interconnection group from ISO. The OSI model employed a seven layer scheme which was heavily influenced by a model known as SNA from IBM The TCP-IP model is a retrofit to a practical solution provided by the Internet community. The OSI model is almost non-existent in terms of its implementation. Al most all the machines use the TCP/IP model for communication. Our discussion in the book follows the TCP/ IP model for discussion and whenever necessary, we may consider the OSI model as well. Let us try to understand the difference between these two models by means of an example.
Suppose we are planning to arrange a birthday party. There are two approaches to go about that. One is an ad hoc solution mechanism (read TCP/IP model). Just go ahead and organize the party with whatever resources you have at your disposal. Learn what the problems are and improve the functioning in the next party. Our job will improve every time we arrange a party. After a while, we become so expert that we can arrange birthday parties without any hassle. We know that the cake is the most important thing to have followed by a knife and a few candles. We can go without other decorating material and still arrange a birthday party. The stress here is to experiment and learn. Though ad hoc, this mechanism is quite practical and is also a working solution. This mechanism also stresses on taking advice from everyone who is involved in the process, and improving the solution by multiple trial runs.
The other mechanism (read OSI model) is to plan everything in advance taking every piece of advice from all wise people around, almost none of them having any experience of arranging a birthday party. These guys are involved in the decision making process because we cannot ignore them. In that case the (so called) committee decides solely on the inputs from one or two who has some experience of arranging a party. The decision is highly. influenced by the individual having (so called) experience. It is also possible that somebody who does not have any idea about what a birthday party is, starts advising and we have to listen to him as he is an elder family member. People without any experience may provide serious changes to the design. It is quite possible that such a system will have the cake and other decorative elements, but no knife or candles.
The first solution is not a great design, but sometimes incorrectly designed solutions are good enough. It is possible to improve them without much modification. The second solution is a great design on paper, but fails to work as no practical feedback is provided. The first solution might not have the decorative elements but will have all the essential elements required to run a birthday party. On the other hand, the second design may flop miserably even though a great entrance is prepared and a big cake is ordered. A smart will go for the first solution rather than the second one. A smarter person would filter the good elements of both the solutions and combine them. Unfortunately we have to choose only one solution. All the network users are smart enough, so much so that OSI is almost not there in the fray.
Fortunately for discussing networks, it is good to combine both the models. That is exactly what we have tried in the following text.
The OSI Model
As mentioned earlier, this model was designed by International Standards Organization in 1983. Some of the leading companies at that time and some of the governments thought of having a standard solution for the network and the services provided. As mentioned earlier, there were a few committee members who had real (but little) experience of managing networks and the solution provided by them was a great one on paper, but it did not work out all that well.
The layering mechanism of OSI model contained seven layers. They are detailed in Figure 1.2. It contains two extra layers as compared to the TCP/IP model, i.e.. the presentation layer and the session layer. These two layers are like having an entrance to the birthday party and allocating an attendant to every guest and helping them out. One may like to have them, though having other things are much more important. If we miss on the entrance or the attendant, we do not lose much.
The presentation layer is designed to check minor differences in the way the data is presented by the sender and the receiver. For example, the sender and the receiver may have different ways of storing integer values in the memory. Some machines store an integer starting with the most significant bit to the least significant bit, while other machines store it starting from the least significant bit to the most significant bit. The role of presentation layer is to covert the data to ensure that it is presented according to the native representation scheme of the sender or the receiver machines. The session layer is designed to manage sessions between the sender and the receiver. Both the functionalities (of the presentation and session layers) are too small to deserve a layer. The TCP/IP model does not have either of them.
Additionally, the TCP/IP model does not even mention anything about the data link or the physical layer (which exists in OSI model), but all the network cards used for networking have them, so they are mentioned here.
The TCP/IP Model
As shown in Figure 1.2, the TCP/IP model contains only five layers. The two layers at the bottom, i.e., the data link layer and the physical layer are not actually a part of the model, but practically they are always there. This model is a retrofit to the working solution found by researchers, academicians (designed by teachers and programmed by students!), and some people from military. Thus the model is designed after the protocols were designed and in working condition already. Before we discuss how the TCP-IP model differs from the OSI model, let us elaborate on the difference between connectionless and connection oriented transfer.