We have come a long way in network communications. What started as a proprietary model in which vendors would define their technologies, and hardware, and software based on silos only for their own equipment and applications, has become an open model of systems interconnection and integration, based on standards and allowing multiple vendors to take advantage of the network, build applications, decoupled from the network, and still use a multivendor network environment. Even management became open, as you can think of management applications doing administrative maintenance and support functions for network elements coming from multiple vendors. In this reality, we clearly require a layered approach to building network elements and network components. The first two layers were, perhaps, decoupling the applications from the network, but now within the network, we see a layered approach to the various functions of networking.
Layered Network Model (OSI Model)
This approach has created standards like the OSI model, or open systems interconnection. This model, created by the international organization for standardization in 1994, breaks down the task of communication into multiple layers, while the initial objective was to provide a set of standards for vendors to develop their own technology, thinking about an open network, and ensuring greater compatibility and irreparability. The end result has provided multiple benefits. A reduction of complexity is accomplished by splitting the different functions into individual, independent layers. The job becomes then to provide standardized interfaces between the layers, which has been accomplished by OSI, and allows vendors from different areas to build their own technology and then think about using the standard interfaces to communicate with the rest of the components.
Modular engineering is facilitated by this model, as well as certain guarantees of interoperability, by complying with the layered model. In any case, this is a great tool for teaching and learning about networking and about the various components of networking and how they interact. It is important to say that this type of model represents the "what" to do in a network, but it may not even represent the "how" to do it. The "how" is represented by vendors implementing technology based on this standard, but the standards define what to do, and this may or may not be followed by a certain vendor. The more the standard is followed, the more interoperability you will find.
|The OSI Model|
The OSI model introduces seven layers to break down the task of communication. Some people will apply pneumonic methods to understanding and remembering the layers; you have physical data link network, transport session, presentation, and application. You can probably use something like people do not throw sausage pizza away to remember about the layers. Layers are also numbered. Number one is physical layer, and it is all about media transmissions. This is related to the electrical, mechanical, procedural, and functional specifications for activating, maintaining and deactivating the physical link. Here, you will find media characteristics and media types like fiber technologies, coaxial cable, and even wireless, and also the connectors and components required to connect devices to that physical media.
Our second layer is the data link layer. This one defines access to the media, and it can be laid out in such a way that the access to the media is independent and transparent from the specific media you are using. Ethernet is an example of a data link layer protocol, and you could have Ethernet on fiber cable or Ethernet on coaxial and twisted-pair cable. This layer defines how to deal with contention when multiple machines or devices try to access the same media, and it is also related to identifying those devices at this layer or at this level. A MAC address in Ethernet environments would be an example of identifying a machine at the Ethernet network. Because this layer already interacts with the transmissions between machines across the same media, then it should provide a certain level of error detection and correction.
Once the devices are interconnected in the same data link layer, our next step is to deal with a global network and global Internet connectivity across geographies. That is a task and the job of the network layer: to route data packets across networks and toward multiple remote destinations. Among the responsibilities of this layer: the definition of logical addressing or identification of devices with a hierarchy of networks in multiple places in mind, also specifications of how to deal with redundant multiple paths in selecting the best path to deliver the data.
Next up, layer 4, the transport layer, is the last layer bottom up that deals with actual data transport from host to host. The upper layer’s application, presentation, and session deal with the applications used in the network, while the transport represents the edge between those applications and the network itself. In that sense, one of its jobs is to hide the complexity of the network from the upper layers and from applications. In that sense, it will deal with the potential multiple paths that the network layer deals with by establishing and maintaining connections ensuring data transport reliability, assembling and reassembling conversations that may result into multiple packets across the network, and overall, the decision whether to provide reliability or not or to leave that function to the upper layers.
The upper layers 5, 6, and 7 are closer to the users and applications. In that sense, the session layer will deal with establishing, managing, and terminating sessions, but this is different than the way the transport layer deals with establishing, managing, and terminating connections. These sessions are more related to user sessions, which may then be eventually displayed into multiple transport layer connections. For example, a web server may have multiple users connected to it, and so the session layer deals with differentiating those user sessions, providing them application access, and at the same time dealing with the multiple connections that each user may have to the web server.
The presentation layer deals with the formatting of information. You could find analogies in language where information can be translated into English or Spanish, for example, or you can find different formats based on the functional benefits of each format. For example, written versus spoken information. Formats may also be related to the nature of the information. For example, video can be formatted using different specifications. Characters or text can be formatted using different specifications, like ASCI, and rich media, like photos, can be formatted using bitmaps, or JPEG, or other specifications.
Finally, the application layer is the closest to the user. It will define the user experience in terms of the services being offered, in terms of the function of those services, and in terms of things like user authentication and interaction with the actual services. Examples here: electronic mail, file transfers, terminal emulation. But you can also consider voice or telephony applications and categorize them in entertainment, business, productivity, etc.
Information that needs to be transmitted across the network needs to come in packets. A packet is the basic unit of information known by networks and devices, just like words in the English language. The process of packaging the information is called encapsulation. In this process wraps the appropriate protocol and control information to data so that it is understood consistently on the other end, on the receiving end. As data is shared vertically through the OSI layers, each layer with will add a header containing the information that the layer requires.
Even though the process is vertical, to encapsulate a packet. The header information is used horizontally so that the receiving end can read each header and understand it. Examples of information that is wrapped: the format at the presentation layer, the format of the data being sent, video text, etc. Or perhaps at the network layer, the unique IP address identifying the sender and the receiving end.This process is similar to sending packages and letters across and through the Postal Service. In a business environment, the letter may start with a person inserting the letter in a small envelope saying, for example,with a header of “to Carlos in accounting.” If accounting resides in a different location, someone within the organization will insert that small envelope into a larger envelope with the actual Postal Service address of the accounting department.
The encapsulation process creates a packet with the original data, and headers per layer, and some layers will actually add a trailer, like the frame check sequence, added by the data link layer. The decapsulation process starts on the receiving end, but by each layer reading the appropriate header and using the information to make consistent decisions. An example of this would be the port numbers of the transport layer. If a receiver is, for example,running different applications like FTP and web services, then the port number at the transport layer is a unique identifier per application and can be used by the transport layer software to send the remaining part of the packet to the appropriate application. So again, this is the horizontal process where each layer understands the other end by adding control information to the header, but the encapsulation and decapsulation process is vertical. with this, the communication process is completed.
So the encapsulation and decapsulation process define a logical horizontal interaction and connectivity between layers while taking advantage of the vertical interaction between layers. The overhead information required for that horizontal interaction will be inserted into the packets. Now, the packet is a generic term typically used to identify units of information traveling along the network. However, as you look deeper into each layer, there are different identifiers and terminology used to define units of information that pertain to that particular layer. Remember, we are talking about peer-to-peer communications, and so as the two transport layers on the sender and receiver, for example, interact logically between each other, they will not have knowledge of other layers. And so, at the transport layer, the terminology used is segments. At the network layer, the two network components will deal with actual packets, so packet is a definition that belongs to the network layer. But again, it typically uses a generic term. The data link layer we are talking about frames, and that is how each data link component at the server and receiver will understand each other. The physical layer will use bits as a unit of information. A more general term to identify the unit of information that each layer may use is the PDU, or Protocol Data Unit.
|The OSI Model||TCP/IP Model|
A protocol stack is a combination of components that follow a layered model. A protocol is the implementation of the function that a certain layer is designed to do. The TCP/IP protocol stack was designed and developed at approximately the same time as the OSI model, but with the IP protocol in mind. Even though the stack name is the TCP/IP protocol stack, this is only a reference to two of the protocols that comprise the stack. In fact, lot of times, it is called the IP protocol stack. However, there are multiple protocols involved in this definition, and they go along the definition of four layers. They are similar in function as compared to the OSI model; however, TCP/IP has become the standard for Internet connectivity and communications in general. The network access layer deals with physical access to the media as well as the rules on how to access that media. The Internet layer deals with routing and path selection, although transport layer has similarities to the transport layer of OSI in the sense that it provides a reliable network to the upper-layer applications. The application layer in this model combines layers 5 through 7 of OSI into a single layer.