Protocol Layering

Protocol Layering

We have discussed enough about airlines. Let's now turn our attention to network protocols. To provide structure to the design of network protocols, network designers organize protocols - and the network hardware and software that implement the protocols - in layers. Each protocol belongs to one of the layers, just as each function in the airline architecture in Figure 2 of "Protocol Layers and Their Service Models" belonged to a layer. We are again interested in the services that a layer offers to the layer above - the so called service model of a layer. Just as in the case of our airline example, each layer gives its service by (1) performing certain actions within that layer and by (2) using the services of the layer directly below it. For instance, the services provided by layer n may include reliable delivery of messages from one edge of the network to the other. This might be implemented by using an unreliable edge-to-edge message delivery service of layer n - 1, and adding layer n functionality to detect and retransmit lost messages.

A protocol layer can be implemented in software, in hardware, or in a combination of the two. Application-layer protocols - such as HTTP and SMTP - are almost always implemented in software in the end systems; so are transport-layer protocols.

The Internet protocol stack (a) and OSI reference model (b)

Because the physical layer and data link layers are responsible for handling communication over a particular link, they are normally implemented in a network interface card (for example, Ethernet or WiFi interface cards) connected with a given link. The network layer is sometimes a mixed implementation of hardware and software. Also note that just as the functions in the layered airline architecture were distributed among the several airports and flight control centers that make up the system, so too is a layer n protocol distributed among the end systems, packet switches, and other elements that make up the network. That is, there's often a piece of a layer n protocol in each of these network elements.

Protocol layering has conceptual and structural advantages. As we have seen, layering gives a structured way to discuss system components. Modularity makes it easier to update system components. We talk about, however, that some researchers and networking engineers are strongly opposed to layering [Wakeman 1992]. One potential drawback of layering is that one layer may duplicate lower-layer functionality. For example, many protocol stacks give error recovery on both a per-link basis and an end-to-end basis. A second potential disadvantage is that functionality at one layer may need information (for example, a timestamp value) that is present only in another layer; this violates the goal of separation of layers.

When taken together, the protocols of the several layers are called the protocol stack. The Internet protocol stack consists of five layers: the physical, link, network, transport, and application layers, as shown in above figure (a).  We have roughly organized this blog using the layers of the Internet protocol stack. We take a top-down approach, first covering the application layer and then proceeding downward.


Tags

network protocol, packet switches, protocol stack

Copy Right

The contents available on this website are copyrighted by TechPlus unless otherwise indicated. All rights are reserved by TechPlus, and content may not be reproduced, published, or transferred in any form or by any means, except with the prior written permission of TechPlus.