Network Layer Utilities: End-to-End Data Delivery
From our studies, we know that the International Organization for Standards (ISO) created the Open Systems Interconnection (OSI) networking model to standardize data networking protocols, to enable communication between all computers and devices across any network anywhere in the world. The OSI model is now mainly used as a point of reference for discussing the specifications of protocols used in network design and operation. The upper layers of the OSI reference model (application, presentation, and session = Layers 7, 6, and 5) define functions focused on the application. The lower four layers (transport, network, data link, and physical = Layers 4, 3, 2, and 1) define functions focused on end-to-end delivery of the data.
When we consider the seven layers of the OSI Reference Model, there are two that deal with addressing the data link layer and the network layer. The physical layer is not strictly concerned with addressing at all, only sending at the bit level. The layers above the network layer all work with network layer addresses.
When we discuss end-to-end delivery of data, we must necessarily talk about how datagrams are addressed. We find out that addressing is done at two different layers of the OSI model and two different layers are used, which are very different types of addresses that are used for different purposes. Layer 2 addresses, such as IEEE 802 MAC addresses, are used for local transmissions between hardware devices that can communicate directly. They are used to implement basic LAN, WLAN, and WAN technologies. In contrast, layer 3 addresses, which are most commonly 32-bit Internet Protocol addresses, are used in internetworking to create a virtual network at the network layer.
The most important difference between these types of addresses is the distinction between layers 2 and 3 themselves. Layer 2 MAC addresses enable communication between directly-connected devices residing on the same physical network. Layer 3 IP addresses allow communications between both directly and indirectly-connected devices.
For example, say you want to connect to the Web server at https://www.cisco.com. This is a Cisco Web site that resides on a server that has an Ethernet card used for connecting to its Internet service provider site. However, even if you know its Layer 2 MAC address, you cannot use it to talk directly to this server using the Ethernet card in your home PC. This is because these two devices are on different networks. In fact, they may even be on different continents!
Instead, these devices communicate at layer 3, using the Internet Protocol and higher layer protocols such as TCP and HTTP. Your request is routed from your home machine through a sequence of routers to the Cisco server. The response is then routed back to you. The communication is, logically, at layers 3 and above. You send the request, not to the MAC address of the server’s network card, but rather to the server’s IP address.
While we can virtually connect devices at Layer 3 through routers, these connections are really conceptual only. When you send a datagram that has been created using the OSI 7-Layer-Model, it is sent one hop at a time, from one router to another, from one physical network to the next. At each of these hops, an actual transmission occurs at the physical and data link layers.
When your request is sent to your local router at layer 3, which is usually referred to as your default gateway, the actual request is encapsulated in an Ethernet frame using whatever method you use to physically connect to the router. It is addressed and sent to the default gateway router using the router's data link layer MAC address. The same happens for each subsequent step until, finally, the router nearest the Cisco Web server, sends the datagram to the destination using the data link (MAC) address of the NIC card of the Cisco Web server.
In my next blog, I will discuss the Address Resolution Protocol (ARP) that is a method used for finding a device’s link layer MAC hardware address when only its Internet Layer IP address is known.