IP protocol is the core protocol for computer networks to connect to each other for communication, in the Internet, it specifies the rules and regulations that computers should comply with when communicating, so that all computer networks connected to the network can communicate with each other. When a device wants to access the network, it must be truly connected to the network through the link layer, for example, a personal PC accesses the Internet through wired or wireless means, in order to achieve communication with other devices.
In network communication, if the destination host is directly connected to the source host, the IP datagram is directly sent from the source host to the destination host. This direct connection is very intuitive. However, if the source host is not directly connected to the destination host, the IP datagram needs to be routed:
1. In network communication, the source host searches the local routing table before sending the datagram to determine how to send the datagram to the destination host. The routing table is a table that records the addresses and corresponding exits of different destinations in the network. It tells the source host to which interface the datagram should be sent to, so that the datagram can reach the destination host correctly.
When the source host gets the IP address of the destination host, it checks whether the IP address has a matching entry in the local routing table. If a matching destination network is found, the source host sends the datagram to the exit of that destination network, so that the datagram can reach the destination host's network through the local network.
However, if no matching entry for the target host is found in the local routing table, it means that the target host is not in the local network and is not directly reachable. In this case, the source host sends the datagrams to the default address configured in the routing table, often called the default gateway. A default gateway is a special routing table entry that acts as a kind of "back-up" mechanism for dealing with destination networks that do not have explicit routes.
When the datagram reaches the default gateway, the router continues to make forwarding decisions based on its routing table. The router looks for a matching entry in its own routing table based on the destination IP address and forwards the datagram along the optimal path to the next hop until the datagram reaches the destination host.
2. When the device receives an IP datagram, it first determines whether the destination address in the datagram is the IP address of the local machine or the broadcast address. If the destination address matches the IP address of the current device, the datagram is sent to the local device. The device parses the datagram and processes it accordingly. This processing may involve handing over the datagram to a high-level application for processing, such as handing the datagram to a Web server for processing HTTP requests. If the destination address is a broadcast address, the datagram is sent to all devices on the same network as the broadcast address, thus enabling broadcast transmission of the information.
However, if the destination address is not the IP address of the local device, the datagram needs to be forwarded to another device or network. In this case, the device will make different processing depending on whether it has the routing function.
If the current device is an ordinary host without the routing function, it will not be able to process the task of forwarding the datagram, so the datagram will be discarded. The purpose of this design is to avoid the common host to send packets in the network, to ensure the security and effectiveness of the network.
If the current device is a router, it has routing capabilities, searches its own routing table, and performs actions similar to Step 1 to determine which exit the datagram should be forwarded to. A routing table is a table inside a router that records the destination network and corresponding egress information. The router looks for matching entries in the routing table based on the destination address to find the best forward path for the datagram.
Before forwarding a datagram, the router also checks the datagram's Time To Live (TTL) field. TTL is an important field of a datagram, which represents the maximum number of hops that a datagram can pass through in a network. The TTL field is decremented by 1 for each router passed. If the value of the TTL field is reduced to 0, the datagram is discarded to prevent the datagram from looping indefinitely through the network. The router ensures that the TTL field is valid and decides whether to forward the datagram or discard it based on the TTL value.
Through this workflow, IP datagrams can be accurately and efficiently forwarded in the network, from the source device to the target device, and the reliability and connectivity of network communication are realized. As an important part of the network, the router plays a key role in deciding the forwarding path of the datagram, ensuring the accurate transmission of data and the normal operation of the network.
3. The receiving device of the next hop repeats Step 2 until the packet reaches the destination host or the number of forwarding times exceeds the packet survival time.
Through the above steps, IP routing realizes the transmission and forwarding of datagrams in the network and ensures the communication between devices. The router plays a key role in the whole process, deciding the forwarding path of the datagram according to the routing table information. In this way, even if the destination host is not directly connected to the source host, the datagram can still be forwarded through the intermediate router, thus realizing the connectivity of network communication. The working principle of IP routing provides a reliable foundation for Internet communication and supports the scalability and efficiency of the network.