Transmission protocols are designed to work in collaboration at various levels.
For example, there are those protocols that provide transportation capability, thus identifying where the destination of a piece of data is located and routing it appropriately to it. Then there are other protocols that oversee the information sent across the Internet and make sure that different pieces of information are received in the correct order by the applications requesting it.
An established Reference model called OSI, or Open System Interconnection, establishes the criteria used to identify each specific protocol and its functionality. Any communication protocol in existence today, can be identified under one of the seven layers defined by OSI.
Here is the list of the OSI layers:
- Physical Layer. It is the communication protocol at its most elementary level. It provides the hardware necessary to transmit and receive data. This hardware takes care of establishing the lower level format of the communication, a bit stream across a medium that can be a cable, or a radio signal, or even the light itself (in the fiber optics, for example).
- Data-Link Layer. This is a communication protocol that organizes the raw data transmitted by the layer 1 into frames, which are blocks of subsequent bits.
- Network Layer. This layer handles the addressing of the information, allowing the data to be sent from a specific end point and received by another specific end point. For example, the IP protocol is the level 3 protocol used in the Internet.
- Transport Layer. This layer is the one that organizes the data in packets, including possible extra data to make sure packets are sent and received in the correct order and without errors. TCP and UDP are examples of layer 4 protocols used in the Internet.
- Session Layer. This is the protocol layer used to initiate and terminate conversations. They also take care of authentication, to make sure data is received by the entity that was designated by the sender. In the Internet, this is a function that is usually made available by the same TCP and UDP protocols that provide the layer 4. TCP and UDP, therefore, are usually indicated as layer 3/4 protocols. Note that while OSI provides a precise reference of how data transmission should be organized in the networks, protocols don’t necessarily provide such a specialized form. Sometimes, protocols lay in between or encompass more than one OSI layer.
- Presentation layer. This is the layer that provides a translation of the data from one form to another. For example, a translation between a format that is better suited to the transmission of the information through the Internet, and a format that is better suited for consumption of the data by a human being. HTML is one of such protocols, widely used to serve web pages to people.
- Application Layer. Applications are the topmost consumers of data. Two applications running on separated computers in different locations talk to each other through layer 7, using the services of all the underneath layers.
The implementation of a set of protocols that work in concert to transfer data from one location to another, and from one user to another, is called Protocol Stack. A pictorial representation of a stack is a series of layers, each one identifying an OSI layer. In the stack, each layer represents a specific protocol, in the OSI reference model. Protocols of the same layer talk to each other by the means of their underneath layers.
The top layer is the creator or the consumer of data. Once the data is created is passed to the immediately lower layer, which adds some extra information to handle the data according to its functionality. While going down through the stack, each layer keeps adding its own information, in a sort of envelops that enclose the data coming from the above levels. On the consumer side the opposite happens, each layer passes the data to its immediately upper layer after removing its envelop of data, up up until the topmost layer receives the data in the format that it can understand.
[…] data rate depends on the protocol being used and, if more than one protocol are stacked together (see my post on the OSI model), you have different max data rate values for each of the protocol layers. The higher is the […]