Huawei uses machine translation combined with human proofreading to translate this document to different languages in order to help you better understand the content of this document. Note: Even the most advanced machine translation cannot match the quality of professional translators. Huawei shall not bear any responsibility for translation accuracy and it is recommended that you refer to the English document (a link for which has been provided).
Routing is a basic concept in data communication networks. Routing is an activity that transmits information from a source address to a destination address through an interconnected network. Routing occurs at the network layer, Layer 3, in the Open Systems Interconnection (OSI) reference model. The devices that provide routing and forwarding functions are called routers. When a router receives an IP packet, the router searches its routing table for the best matching route based on the destination IP address of the packet and forwards the packet through the outbound interface or next-hop IP address for the route. The routing table contains the routing entries (routes) learned by the router in various ways. The router can obtain routing entries in static or dynamic mode and maintain its own routing table. In a small network, a routing table can be manually configured (in static mode). In a large and complex network, changes may often occur, so it is not practical to manually create and maintain a routing table. Therefore, it is hoped that routers can dynamically create and maintain their routing tables through specific protocols, so that networks can adapt to changes and avoid faults. These protocols are called routing protocols. Routing protocols can be classified into the following types:
Currently, the following routing protocols are commonly used:
The most commonly used routing protocols are OSPF and BGP.
Routes can be used to forward traffic only when they have directly connected next hops. However, this condition may not be met when routes are generated. The system then needs to search for directly connected next hops and corresponding outbound interfaces. This process is called route iteration. In most cases, BGP routes, static routes, and user network routes (UNRs) do not have directly connected next hops, and route iteration is required. The following examples demonstrate how route iteration generates an FIB entry. A next-hop IP address of a BGP route is often the IP address of an indirectly connected peer's loopback interface, and therefore the BGP route needs to be iterated. The system searches the IP routing table for a direct route (an IGP route in most cases) that is destined for the next-hop IP address of the BGP route and then adds the next-hop IP address and outbound interface of the IGP route to the IP routing table. This generates a FIB entry. A next-hop IP address of a BGP VPN route is often the IP address of an indirectly connected PE's loopback interface, and the BGP route needs to be iterated to a tunnel. The system searches the tunnel list for a tunnel that is destined for this loopback IP address and then adds the tunnel information to the routing table. This generates a FIB entry.
On the Internet, network connecting devices such as hubs, bridges, switches, and routers control traffic and ensure data transmission quality. Each of these devices serves a different role, but for a common purpose: forming a functioning network. The following describes a router's role in a network, and the purpose and nature of routes. A router selects routes and forwards packets. Upon receiving a packet, a router selects a proper path, which may have one or multiple hops, to send the packet to the next router according to the destination address in the packet. The last router is responsible for sending the packet to the destination host. A route is a path along which packets are sent from the source to the destination. When multiple routes are available to send packets from a router to the destination, the router can select the optimal route from an IP routing table. Optimal route selection depends on routing protocol preferences and metrics of routes. When multiple routes have the same routing protocol preference and metric, load balancing can be implemented among these routes to relieve network pressure. When multiple routes have different routing protocol preferences and metrics, route backup can be implemented among these routes to improve network reliability.
Routing protocols are the rules used by routers to discover routes, generate routing tables, and guide packet forwarding. Routes are classified into the following types according to their origin:
Static routes are easy to configure, have low system requirements, and apply to simple, stable, and small networks. The disadvantage of static routes is that they require subsequent maintenance as they cannot automatically adapt to network topology changes. Dynamic routing protocols have routing algorithms. Therefore dynamic routes can automatically adapt to network topology changes and apply to networks on which Layer 3 devices are deployed. The disadvantages of dynamic routes are that they are complex to configure, have higher system requirements than static ones, and consume network and system resources. Dynamic routing protocols are classified into types based on the following two criteria. According to the application range, dynamic routing protocols are classified into the following types:
According to the type of algorithm they use, dynamic routing protocols are classified into the following types:
The preceding algorithms differ mainly in route discovery and calculation methods.
Routers forward packets based on routing tables and forwarding information base (FIB) tables. Each router maintains at least one routing table and one FIB table. Routers select routes based on routing tables and forward packets based on FIB tables. Each router maintains a local core routing table (namely, an IP routing table), and each routing protocol maintains its own routing table.
You can run the display ip routing-table command on a router to view basic information about the routing table of the router. The command output is as follows: <HUAWEI> display ip routing-table Proto: Protocol Pre: Preference Route Flags: R - relay, D - download to fib, T - to vpn-instance, B - black hole route ------------------------------------------------------------------------------ Routing Table: _public_ Destinations : 14 Routes : 14 Destination/Mask Proto Pre Cost Flags NextHop Interface 0.0.0.0/0 Static 60 0 RD 10.137.216.1 Vlanif20 10.10.10.0/24 Direct 0 0 D 10.10.10.10 Vlanif20 10.10.10.10/32 Direct 0 0 D 127.0.0.1 InLoopBack0 10.10.10.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0 10.10.11.0/24 Direct 0 0 D 10.10.11.1 LoopBack0 10.10.11.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0 10.10.11.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0 10.137.216.0/23 Direct 0 0 D 10.137.217.208 Vlanif20 10.137.217.208/32 Direct 0 0 D 127.0.0.1 InLoopBack0 10.137.217.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0 127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0 127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0 127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0 255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0A routing table contains the following key data for each IP packet:
In Figure 1-1, the routing table of RouterA shows that it connects to three networks, so it has three IP addresses and three outbound interfaces. Figure 1-1 Routing table A local core routing table stores routes of different routing protocols. If the number of routes in the local core routing table reaches the upper limit, no more route can be added to the table. The local core routing table has the following route limitations:
If a protocol fails to add routes to the local core routing table due to a specific route limitation, the system records the failure with the protocol name and routing table ID. After routes of protocols are deleted from the local core routing table, and the number of routes falls below the upper limit, the system prompts all the protocols that failed to add routes to the local core routing table to re-add the routes to the local core routing table. This process restores most of the routes in the local core routing table. The size of released table space determines whether all routes in the local core routing table can be restored. After selecting an optimal route from the routing table, a router sends it to the FIB table. When receives a packet, the router compares it against the FIB table to find the optimal route to forward the packet. Each entry in the FIB table contains the physical or logical interface through which a packet is sent to a network segment or host to reach the next router. An entry can also indicate whether the packet can be sent to a destination host in a directly connected network. The router performs the "AND" operation on the destination address in the packet and the network mask of each entry in the FIB table. The router then compares the result of the "AND" operation with the entries in the FIB table to find a match and chooses the optimal route to forward packets according to the longest match rule. For example, assume that a router has the following routing table: Routing Tables: Destination/Mask Proto Pre Cost Flags NextHop Interface 0.0.0.0/0 Static 60 0 D 192.168.0.2 GigabitEthernet1/0/0 10.8.0.0/16 Static 60 3 D 192.168.0.2 GigabitEthernet1/0/0 10.9.0.0/16 Static 60 50 D 172.16.0.2 GigabitEthernet3/0/0 10.9.1.0/24 Static 60 4 D 192.168.0.2 GigabitEthernet2/0/0 10.20.0.0/16 Direct 0 0 D 172.16.0.1 GigabitEthernet4/0/0After receiving a packet carrying the destination address 10.9.1.2, the router searches the following FIB table: FIB Table: Total number of Routes : 5 Destination/Mask Nexthop Flag TimeStamp Interface TunnelID 0.0.0.0/0 192.168.0.2 SU t[37] GigabitEthernet1/0/0 0x0 10.8.0.0/16 192.168.0.2 DU t[37] GigabitEthernet1/0/0 0x0 10.9.0.0/16 172.16.0.2 DU t[9992] GigabitEthernet3/0/0 0x0 10.9.1.0/24 192.168.0.2 DU t[9992] GigabitEthernet2/0/0 0x0 10.20.0.0/16 172.16.0.1 U t[9992] GigabitEthernet4/0/0 0x0The router performs the "AND" operation on the destination address 10.9.1.2 and the masks 0, 16, and 24 to obtain the network segment addresses: 0.0.0.0/0, 10.9.0.0/16, and 10.9.1.0/24. The three addresses match three entries in the FIB table. The router chooses the entry 10.9.1.0/24 according to the longest match rule, and forwards the packet through GigabitEthernet2/0/0.
Routing protocols (including static routing) may discover different routes to the same destination, but not all routes are optimal. Only one routing protocol at a time determines the optimal route to a destination. To select the optimal route, each routing protocol (including static routing) is assigned a preference (a smaller value indicates a higher preference). When multiple routing information sources coexist, the route discovered by the routing protocol with the highest preference is selected as the optimal route and added to the local routing table. Routers define external preference and internal preference. In Table 1-1, the value 0 indicates direct routes and the value 255 indicates routes learned from unreliable sources. A smaller value indicates a higher preference. External preference is manually configured for each routing protocol. Table 1-1 lists the default external preferences of routing protocols. Table 1-1 Routing protocols and their default external preferences
Internal preferences of routing protocols cannot be manually configured. Table 1-2 lists the internal preferences of routing protocols. Table 1-2 Internal preferences of routing protocols
During route selection, a router first compares the external preferences of routes. When the same external preference is set for different routing protocols, the router selects the optimal route based on the internal preference. For example, assume that there are two routes to 10.1.1.0/24: a static route and an OSPF route. Both routes have the same external preference: 5. In this case, the router determines the optimal route based on the internal preference listed in Table 1-2. An OSPF route has an internal preference of 10, and a static route has an internal preference of 60. This indicates that the OSPF route has a higher preference than the static route, so the router selects the OSPF route as the optimal route.
A route metric specifies the cost of a route to a specified destination address. The following factors often affect the route metric:
When multiple routes have the same routing protocol preference and metric, these routes are called equal-cost routes, among which load balancing can be implemented. When multiple routes have different routing protocol preferences and metrics, route backup can be implemented among these routes. Routers support the multi-route mode, which allows you to configure multiple routes with the same destination and preference. If the destinations and costs of multiple routes discovered by the same routing protocol are the same, load balancing can be performed among the routes. During load balancing, a router forwards packets based on the packets' 5-tuple (source IP address, destination IP address, source port, destination port, and transport protocol). When the 5-tuple information is the same, the router always chooses the next-hop address that is the same as the last one to send packets. When the 5-tuple information is different, the router forwards packets over idle paths. Figure 1-2 Networking diagram of load balancing In the example shown in Figure 1-2, RouterA forwards the first packet P1 to 10.1.1.0/24 through GE1/0/0 and needs to forward subsequent packets to 10.1.1.0/24 and 10.2.1.0/24 respectively. The forwarding process is as follows:
Route backup can improve network reliability. You can configure multiple routes to the same destination as required. The route with the highest preference functions as the primary route, and other routes with lower preferences function as backup routes. A router generally uses the primary route to forward data. When the primary link fails, the primary route becomes inactive. The router selects a backup route with the highest preference to forward data. In this manner, data is switched from the primary route to a backup route. When the primary link recovers, the router selects the primary route to forward data again because the primary route has the highest preference. Data is then switched back from the backup route to the primary route.
When a router detects a fault at the physical or data link layer, IP fast reroute (FRR) enables the router to report the fault to the upper-layer routing system, and to immediately use a backup link to forward packets. IP FRR is a method that implements fast route backup. On traditional IP networks, when a fault occurs at the lower layer of the forwarding link, the physical interface on the router becomes Down. After the router detects the fault, it informs the upper-layer routing system to recalculate routes and then update routing information. Usually, it takes the routing system several seconds to re-select an available route. Second-level convergence is intolerable to services that are sensitive to delay and packet loss because it may lead to service interruption. For example, Voice over Internet Protocol (VoIP) services are only tolerant of millisecond-level interruption. IP FRR resolves this by ensuring that the forwarding system rapidly detects a link fault and then uses a backup route to restore services as soon as possible. IP FRR, which is designed for routes on IP networks, is classified into IP FRR on public networks and IP FRR on private networks.
IP FRR is implemented as follows:
In the example shown in Figure 1-3, IP FRR is configured to improve network reliability. CE1 is dual-homed to PE1 and PE2 and has two outbound interfaces and two next hops configured. That is, link B functions as the backup of link A. When link A fails, traffic can be rapidly switched to link B. Figure 1-3 IP FRR
Route convergence is the action of recalculating routes to replace existing routes in the case of network topology changes. The integration of multiple network services urgently requires differentiated services. Routes for key services, such as Voice over IP (VoIP), video conferences, and multicast services, need to be converged rapidly, while routes for common services can be converged relatively slowly. In this case, the system needs to converge routes based on their convergence priorities to improve network reliability. Priority-based convergence is a mechanism that allows the system to converge routes based on the convergence priority. You can set different convergence priorities for routes: critical, high, medium, and low (in descending order of priority). The system then converges routes according to the assigned scheduling weight to guide service forwarding. Routing protocols first compute and deliver routes of high convergence priority to the system. You can reconfigure the scheduling weight values as required. Table 1-3 lists the default convergence priorities of public routes. Table 1-3 Default convergence priorities of public routes
For private routes, only the convergence priorities of 32-bit OSPF and IS-IS host routes are identified as medium, and the convergence priorities of the other routes are identified as low. Figure 1-4 shows a networking arrangement for multicast services. OSPF and IS-IS run on the network. The receiver connects to RouterA, and the multicast source server 10.10.10.10/32 connects to RouterB. The route to the multicast source server must be converged faster than other routes such as 10.12.10.0/24. You can set the convergence priority of route 10.10.10.10/32 to be higher than that of route 10.12.10.0/24. When routes are converged on the network, the route to the multicast source server 10.10.10.10/32 is converged first. This ensures the transmission of multicast services. Figure 1-4 Networking diagram of priority-based route convergence
Default routes are special routes used only when packets to be forwarded do not match any routing entry in a routing table. If the destination address of a packet does not match any entry in the routing table, the packet is sent through a default route. If no default route exists and the destination address of the packet does not match any entry in the routing table, the packet is discarded. An Internet Control Message Protocol (ICMP) packet is then sent, informing the originating host that the destination host or network is unreachable. In a routing table, a default route is the route to network 0.0.0.0 (with the mask 0.0.0.0). You can run the display ip routing-table command to check whether a default route is configured. Generally, administrators can manually configure default static routes. Default routes can also be generated through dynamic routing protocols such as OSPF and IS-IS.
Different routing protocols using different algorithms may discover different routes. If multiple routing protocols run on a large network, the routing protocols need to re-advertise the routes they discover. Each routing protocol can import routes discovered by other routing protocols, direct routes, and static routes.
An Autonomous System (AS) is a set of IP networks and routers under one administration entity and with common routing policies. Each AS supports multiple IGPs. All the networks in an AS are assigned the same AS number and managed by the same administration group. Two types of AS numbers are available: a 2-byte AS number (with a number range from 1 to 65535) and a 4-byte AS number (with a number range from 1 to 4294967295). Available AS numbers can become exhausted thereby 2-byte AS numbers need to be extended to 4-byte AS numbers. A 4-byte AS number is shown in the X.Y format, where X ranges from 1 to 65535 and Y ranges from 0 to 65535. Based on the network where they are used, AS numbers are classified into two types. Table 1-4 lists the two types of AS numbers and their ranges. Table 1-4 AS number types and ranges
Variable length subnet mask (VLSM) is often referred to as "subnetting a subnet." It allows different parts of a subnetted network to be further divided into subnets of different sizes. The network ID is the first octet of each Class A IP address, the first two octets of each Class B IP address, or the first three octets of each Class C IP address. With VLSM, the number of bits in the network ID of an IP address can be increased by borrowing bits from the host ID.
A network can be divided into multiple subnets to conserve IP address space and support flexible IP addressing. Figure 1-5 IP address subnetting Take a Class B IP address as an example. If the high-order 5 bits of the host ID are used for subnetting, the subnet ID ranges from 00000 to 11111, allowing up to 32 (25) subnets to be formed. After the subnetting, the subnet mask changes accordingly. For example, if the subnet ID is 11111, the subnet mask is 255.255.248.0. The network address is the result of an AND operation on the IP address and the corresponding mask. Borrowing bits from the host ID field to create a subnet ID field results in a compromise whereby the number of supported hosts is reduced. For example, a Class B IP address supports 65,534 (216 − 2) hosts. If a 5-bit subnet ID field is used, a maximum of 32 subnets can be formed. Each subnet has an 11-bit host ID field, supporting a maximum of 2046 (211 - 2) hosts. Therefore, the total number of supported hosts is 65,472 (32 x 2046), which is 62 fewer than without a 5-bit subnet ID field. The all-0 host number indicates that the IP address is the address of the network and is used for network routing. The all-1 host number indicates that the IP address is a broadcast address and is used for broadcasting to all hosts on the network.
Routing policies filter routes and modify route attributes (including reachability) to change the path through which network traffic passes. You can configure routing policies based on networking requirements for the device to filter the routes to be advertised, received, or imported and change route attributes. Routing policies serve the following purposes:
Policy-based routing (PBR) is a mechanism for selecting routes based on user-defined policies. Traditionally, devices search their IP routing tables for routes based on packets' destination addresses and then forward the packets. However, more and more users require packet routing based on user-defined policies. Network administrators can customize policies for PBR based on attributes such as the destination address, source address, packet size, and link quality to change the forwarding path of packets. PBR applies only to IP packets to be forwarded. It does not apply to locally generated packets (such as local ping packets). PBR-based tracert is not supported. If a device has PBR configured but does not have a route corresponding to the destination IP address of a received tracert packet, the device discards the tracert packet. PBR is implemented through redirection configuration in a traffic behavior and takes effect only on incoming packets. By default, a device forwards packets to the next hop of the matching route in the routing table. If PBR is configured, the device forwards packets to the next hop specified in the PBR configuration. You can configure a device to preferentially select the next hop or outbound interface of a specific route in the routing table to forward packets matching the defined policy. If the specific route becomes invalid, the device uses the next hop or outbound interface specified in the PBR configuration to forward the packets. If the next hop or outbound interface of the specific route and that specified in the PBR configuration both become invalid but a default route exists in the routing table, the device uses the default route to forward the packets. If the device is configured to forward packets based on the next hop specified in the PBR configuration but no ARP entry corresponding to the next hop exists, ARP entry learning is triggered. If the ARP entry learning fails, the device forwards the packets based on the next hop of the matching route in the routing table. If an ARP entry corresponding to the next hop specified in the PBR configuration exists or the ARP entry learning succeeds, the device forwards the packets based on this specified next hop. The differences between PBR and routing policies are as follows:
For details about how to configure and use routing protocols, see the following documents: S12700 V200R013C00 Configuration Guide - IP Unicast Routing CloudEngine 12800, 12800E V200R005C10 Configuration Guide - IP Unicast Routing HUAWEI USG6000, USG9500, NGFW Module V500R005C00 Product Documentation - IP Routing AR100, AR120, AR150, AR160, AR200, AR1200, AR2200, AR3200, AR3600 V200R010 Product Documentation CLI-based Configuration - IP Unicast Routing Configuration Guide NE20E-S V8R10C10SPC500 Product Documentation Configuration - IP Routing NE40E V8R10C10SPC500 Product Documentation Configuration - IP Routing |