When a user communicates to other users over a network ( or the Internet), it does not take too much time to receive the reply from the remote user. However, this communication goes through a complex and lengthy process called IP Routing Process. If you have the basic idea of the network, network devices, network protocols, and the OSI model, you can easily understand and describe the IP Routing Process. In this post, we will explain step by step IP routing process.
The IP routing process is quite simple and remains unchanged regardless of the number of connected devices and the size of the network being used. We will use the following simple network design to explain the step by step IP routing process.
IP Routing Process Topology
In order to understand the IP routing process, we will explain the communication between PC1 and PC2 that are interconnected to each other using a router. We will use the ICMP protocol (used by the ping utility) to test and explain the IP routing process between PC1 and PC2. Let’s see what happens when PC1 communicates to PC2 on a different network using a router.
IP Routing Process Steps
- When a user executes the ping 192.168.1.1 command, a packet is generated on PC1 with the help of the IP and ICMP protocols.
- The IP protocol will use the ARP protocol to determine the destination network for this packet by looking at the IP address and the subnet mask (192.168.0.1/24) of PC1. Since the packet is destined for a remote network (192.168.1.0/24), it must be sent to the router using the gateway address (192.168.0.100).
- In order to send the packet to the router, the hardware address of the router’s interface (Fa0/0) is required. To get the hardware address, the ARP cache will be checked. If the IP address has not already been resolved to a hardware address, it will not be present in the ARP cache. In the very first time, the host will send an ARP broadcast looking for the hardware address of IP address 192.168.0.100.
- The router will respond with the hardware address of the Fa0/0 interface connected to the PC1 (local network) and the packet will be hand over to the Data Link layer.
- The Data Link layer will create a frame that includes the source and destination hardware addresses, the Type field, and Frame Check Sequence (FCS).
The Type field is used to specify the network layer protocol and the FCS filed is used to calculate the Cyclic Redundancy Check (CRC) value for error detection.
- Now, the Data Link layer will hand over the frame to the Physical layer. The Physical layer will encode the binary bit stream (1s and 0s) into a digital signal (signaling, analog or digital, depends on the type of media being used). The signals then will be transmitted on the local physical network.
- The router’s interface (Fa0/0) will receive the signals and then will be encoded into the binary bit stream. Next, the router’s interface will build the frame and run a CRC. In addition, at the end of the frame, the router will also check the FCS field to ensure that there is no error in the frame.
- Now, the destination hardware address and the Type field will be checked to determine what the router should do with this frame. Since IP is in the Type field, the router will hand over the packet to the IP protocol running on the router.
- Now, the packet’s destination IP address will be checked in the routing table to determine where the packet should be forwarded. Since the destination IP address is 192.168.1.1, the router will see in the routing table that 192.168.1.0 network is directly connected through the Fa0/1 interface.
If the routing table does not contain the routing information about the destination network (192.168.1.0), the packet will be discarded and the destination host unreachable message will be sent out to source device (PC1).
- Next, the router will place the packet in the buffer memory of the Fa0/1 interface. Now, the router will create a frame to send the packet to the destination host. First, the ARP cache will be checked to determine whether the hardware address has already been resolved or not. If the hardware address is not in the ARP cache, the router will send an ARP broadcast out to Fa0/1 interface to find the hardware address of 192.168.1.1.
- PC2 will respond with the hardware address of its Network Interface Card (NIC), in this case, Ethernet 0, with an ARP reply. The router’s Fa0/1 interface now has everything that is required to send the packet to the final destination. Now, the router will send the frame to PC2.
- Once the frame is received by PC2, the CRC value will be calculated. If everything is OK, the packet will be handed over to IP to check the destination IP address. The IP destination address will match with the IP address of PC2. Next, the protocol field of the packet will be checked to determine what the purpose of the packet is.
- Since the packet is an ICMP echo request (ping), PC2 will generate a new ICMP echo-reply packet containing a source IP address of PC2 and a destination IP address of PC1. The process will start all over again, however, this time, it will go in the reverse direction (PC2 to PC1). Since the hardware addresses of each device have already been resolved, hence each device will only look in its ARP cache to determine the hardware address of each interface.
- Finally, an ICMP echo-reply will be received by PC1 from PC2. That’s all what happens to communicate from one device to another device using a router.
Hope, it helped you to understand the IP Routing Process. Please drop your queries in the comment box. It would be highly appreciable you if you share the article to others.