Skip to main content

Advantages of Layering Mechanism in Networking

Advantages of Layering Mechanism in Networking

What is the relation of the example provided in the previous section with the concept of layering? The network that we use in our day-to-day life is made up of a few layers very similar to the ones mentioned in the example. Following is a list of some of the networking applications that we encounter in our day-to-day life.

• Telnet for remote logging!

• FTP for downloading or uploading a file².

. Web browsers like Firefox or Internet Explore to access a website or email

We are running telnet, FTP or browser (Internet Explorer or Firefox) like programs for these applications. These programs work like the manager mentioned in the above example. These programs instruct the transport layer entity or the secretary in our example (in most of the cases, the TCP or Transmission Control Protocol) to do the required job. The TCP in turn passes it down to the IP, a routing operator which decides how to route the data to the destination.

The data link layer and the physical layers are residing on a device called network card³ which does the job of framing which is similar to putting the data in a box by the warehouse keeper with specific addresses written on the label. The physical layer is like the transporter which transports the data using either wires of different types or in a wireless manner (like trucks or railway compartments or boats). The physical layer manages to transfer the data to an intermediate location (R1, R2, and R3 in our case).

The advantages that we have drawn at the end of the previous section are all applicable to the networking layers as well. It is easy to devise protocols for a special layer (for example, employing somebody in the hierarchy with specific instructions to work) without bothering much about other layers. We will soon understand what protocols are. For the time being, let us take it as a mechanism to solve a problem. This mechanism is standardized in the sense that both the parties involved are aware of it. The complexity of the entire system is divided into multiple modules of less complexity.

Apart from reducing the complexity, the layering mechanism offers other advantages as well. They are not as clear to see as the ones we have seen above. Take an example of the companies which develop software for network applications. They have to develop the software looking at the standards (developing FTP for transferring files) or SMTP (for transferring mails) using a standard called RFC (Recommendation For Comments, an Internet way of standardization), and develop something which is reasonably within their limits. As these products (a web server for example) confirms to international standards, other products (browsers for example) can work seamlessly with these products.

This is analogous to companies manufacturing plugs and companies that manufacture sockets. Because the standards exactly specify the number of pins on the plug and the distance between them and also the length of each pin, it is easy for the company which makes sockets to design them. It is possible to manufacture them in bulk and provide a cost-effective solution.

The same advantage also holds true for network layers. The companies that develop programs for various layers for example network cards as a physical and data link layer follow a standard to support mass production and cost reduction. The second advantage is of better evolution. When a company has to concentrate on small and simple modules, they can be evolved without much trouble as compared to a giant product with a host of features. For example, the Ethernet card evolved into a fast Ethernet and then into a Gigabit Ethernet and now it is the time for 10 GB Ethernet, but the network infrastructure running on top of it need not be changed or disturbed. The Internet Protocol version 4 (IPv4) is being replaced by Internet Protocol version 6 (IPv6) today without any concern about other layers. Any layer can evolve independently of others. 

Let us now summarize the benefits of layering.

Division of work

Every layer works on what is assigned to it. In the given example, the security officer cum warehouse keeper is responsible for packing and unpacking the goods. He also ensures whether the goods are ready to be dispatched. He verifies and signs on the consignment. He has nothing else to do. The route operator decides the immediate or final destination and the transporter manages the sending, loading, and unloading of the goods. This is what we mean by division of work. We will study in the following chapters that the data link layer does the job similar to the warehouse keeper and the physical layer works like the transporter. This enables the companies that develop network cards with data link layer and physical layer, or companies developing browsers or file downloading applications or multimedia gaming applications and so on, to concentrate on their specified work and nothing else.

Standard Interfacing between Components

We have seen earlier that when a secretary (read Transport Layer or TCP in Internet) writes a letter to another, he/she may follow the language that both of them have agreed upon, i.e., English in our case. Now this enables anybody who knows English to interpret the message of the secretary. Similarly, a transport layer can interact with another transport layer if both of them use the same language (read Protocol). It is interesting to see that the language the manager uses while interacting with the secretary or the language the secretary uses while interacting with the route operator, has nothing to do with the language the secretary uses to communicate with another secretary.

The communication that takes place among different layers of the same communication stack is known as interface. Thus a transport layer of a system interacting with a network layer of the same system is called the interface (for example in our analogy the communication between a manager of ABC and secretary of ABC is an interface). When a layer interacts with a peer layer of some other system (in our example, the secretary of ABC to secretary of XYZ), the communication is described as a protocol. The advantage of this mechanism is that the language for communication between peer entities of different systems is possible to be standardized. (for example if the secretary is instructed that he has to always communicate with other secretaries in English, any secretary who can communicate in English will do irrespective of language used in the organization.)

The Internet standard for transport layer (the secretary in our analogy) is TCP (though sometimes two other protocols called UDP and SCTP can be also used in place of TCP); and for Internet layer (the route operator in our analogy), it is IP. Such standard interfacing has the advantage we have already mentioned earlier. It is possible to design a new program which works on top of TCP looking at the specifications of it and then that program can work without much trouble on any system that supports TCP.

Replacing a Component is Easy

The IP is the route operator for Internet. The current version is 4 usually referred to as IP version 4 or IPv4 in short. This is being replaced by a new version 6 usually referred to as IPv6. Suppose I am running IPv4 on my machine and now I switch over to IPv6, do I have to change my browser? Do I need to remove my Ethernet card and have one that supports IPv6? Technically the answer is plain "No". This is a direct consequence of the standardization. This makes replacement of components an easy jobs.

Independence in Protocol Design

When I am designing an application layer protocol for my new application, say, a customer support application where customers from all over the world can interact with my system and get the status of their orders, do I need to constrain the customers with what the specifications of their transport layer protocol, Ethernet cards, or the operating system should be? The answer is NO! If my application is based on TCP or UDP or SCTP, then I must tell the customer to run that protocol. I do not need to dictate anything else. My protocol (for the time being, assume protocol as the language and sequence of the messaging needed to communicate between. peers) between the client and server of my system can be developed independently of other protocols used by other layers. The manager and secretary interacting in Hindi do not have any effect on the secretary who writes in English to the other secretary. Similarly the secretary of ABC talking to the route manger in Punjabi does not have any impact on the secretary at XYZ talking to her own route operator in Marathi. Similarly nothing is going to stop a transporter talking to another transporter in some other language of their choice. Consider a case of one peer conveying a message to another peer. He only needs to make sure that the other peer understands the message in an unambiguous way. They have no compulsion to understand how other peers are talking to each other. In other words, neither other protocols at different layers nor the interface between different layers have (or should have for ideal communication system) any effect on the decision to use a new protocol.

We have seen some of the important advantages of the layering system; most of them are so important that it is commonly observed to have a layered network architecture in Internet. Having said that, there exist some disadvantages as well which makes the layered architecture not suitable for some applications. Let us glance through some of the disadvantages.