The router task is in the forwarding group.
A vro consists of an input port, an output port, and a route selection processor, and an exchange mechanism.
The router sends the data packets received by the input port according to the destination network address and processed by the route selection processor, the exchange organization places the received packets in the output port queue that can be sent to the destination network for forwarding.
The router structure is as follows:
The route selection part is the main part. The route selection processor constructs a route table based on the route selection protocol and updates route table information frequently or periodically.
The Group forwarding part consists of the input port, output port, and switch mechanism. The Exchange Mechanism processes the data packets received by the input port based on the forwarding table, so that the packets are forwarded from an appropriate output port.
Note that "forwarding" and "route selection" are two different concepts.
Forwarding involves only one vro. A vro forwards a data packet from the appropriate output port based on the forwarding table. The forwarding table is obtained from the route table. The forwarding table must contain the necessary information required for forwarding packets, such as the ing between the destination network address and the output port and the next-hop MAC address. The data structure of the forwarding table should be designed to minimize the query time to reduce the packet forwarding latency.
Route Selection, designed to multiple routers, is the topology of the entire network obtained by multiple routers based on the complex routing selection algorithm. Generally, the route table only includes the ing from the destination network to the next hop.
We know that, from the perspective of the OSI model, the router implements the first three layers, namely the physical layer, the data link layer, and the network layer. The physical layer is used to receive bits. The data link layer groups the received frames according to the link layer protocol. After these frames are removed from the header and tail, they are handed over to the network layer for processing. If the group received is a group that exchanges route information, the Group will be handed over to the route selection processor. If the group receives data, the query forwarding table is displayed, the forwarding organization forwards the data group from the appropriate output port.
The input port is used to process the received packets as follows:
Correspondingly, the processing process of the output layer is as follows:
As an important part of a vro, the exchange mechanism accurately forwards data packets. There are three ways to implement exchange institutions:
(1) using a common computer as the routing selection processor and using memory. The input port copies the data packets to the memory, extracts the destination network address based on the group, finds the forwarding table, and forwards the packets from the appropriate output port. The search for the destination address and the cache of the Group in the memory are completed on the input port.
(2) Adopt the bus mode. The datagram is directly transmitted from the input port to the appropriate output port through the shared bus, without the intervention of the Route Selection processor. Because the bus is shared, only one datagram can be transmitted over the bus at the same time, which obviously affects the data forwarding rate.
(3) exchange through the vertical and horizontal exchange structure. This switching structure is also called a switching network. In this way, there are 2n bus, where the N hop bus is connected to the input port, and the N bus is connected to the output port. When a data report is received at a certain time, it is sent to the connected horizontal bus. If the vertical bus connected to the forwarded output port is idle, connect the horizontal and vertical bus to forward the datagram from the output port. If the vertical bus connected to the output port is not idle, the datagram will be blocked, wait in the queue of the input port.