Principles
This section describes the implementation of IP Routing.
Routers and Routing Principles
On the Internet, network connecting devices control traffic and ensure data transmission quality. Common network connecting devices include hubs, bridges, switches, and routers. These network devices have similar basic principles. The following uses a router as an example to describe basic principles.
As a typical network connecting device, a router selects routes and forwards packets. Upon receiving a packet, a router selects a proper path, which has 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 to forward the packets. Optimal route selection depends on the 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.
Static Routes and Dynamic Routes
Routes support static routes and dynamic routes including Routing Information Protocol (RIP) routes, Open Shortest Path First (OSPF) routes, Intermediate System-to-Intermediate System (IS-IS) routes, and Border Gateway Protocol (BGP) routes.
Differences Between Static Routes and Dynamic Routes
- Direct route: is discovered by link layer protocols.
- Static route: is manually configured by network administrators.
- Dynamic route: is discovered by dynamic routing protocols.
Static routes are easy to configure, have low requirements on the system, and apply to simple, stable, and small networks. The disadvantage of static routes is that they cannot automatically adapt to network topology changes. Therefore, static routes require subsequent maintenance.
Dynamic routing protocols have their routing algorithms. Therefore, dynamic routes can automatically adapt to network topology changes and apply to the networks on which Layer 3 devices are deployed. The configurations of dynamic routes are complex. Dynamic routes have higher requirements on the system than static ones and consume network resources and system resources.
Classification of Dynamic Routing Protocols
Based on the application range, dynamic routing protocols are classified into the following types:
Interior Gateway Protocol (IGP): runs inside an AS, such as RIP, OSPF, and IS-IS.
Exterior Gateway Protocol (EGP): runs between different ASs, such as BGP.
Based on the type of algorithm they use, dynamic routing protocols are classified into the following types:
Distance-vector routing protocol: includes RIP and BGP. BGP is also called path-vector protocol.
Link-state routing protocol: includes OSPF and IS-IS.
The preceding algorithms differ mainly in route discovery and calculation methods.
Routing Table and FIB Table
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.
Routing Table
Each router maintains a local core routing table, and each routing protocol maintains its routing table.
Local core routing table
A router uses the local core routing table to store preferred routes. The router then sends the preferred routes to the FIB table to guide packet forwarding. The router selects routes according to the priorities of protocols and costs stored in the routing table.
NOTE:
A router that supports Layer 3 Virtual Private Network (L3VPN) maintains a local core routing table for each VPN instance.
Protocol routing table
A protocol routing table stores the routing information discovered by the protocol.
A routing protocol can import and advertise the routes that are discovered by other routing protocols. For example, if a router that runs the Open Shortest Path First (OSPF) protocol needs to use OSPF to advertise direct routes, static routes, or Intermediate System-Intermediate System (IS-IS) routes, the router must import the routes into the OSPF routing table.
Routing Table Contents
You can run the display ip routing-table command on a router to view brief 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
------------------------------------------------------------------------------
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 InLoopBack0
A routing table contains the following key data for each IP packet:
Destination: identifies the destination IP address or the destination network address of an IP packet.
Mask: works with the destination address to identify the address of the network segment where the destination host or router resides.
The network segment address of the destination host or router is obtained through the "AND" operation on the destination address and network mask. For example, if the destination address is 1.1.1.1 and the mask is 255.255.255.0, the address of the network segment where the host or router resides is 1.1.1.0.
The network mask is composed of several consecutive 1s. These 1s can be expressed in either the dotted decimal notation or the number of consecutive 1s in the mask. For example, the network mask can be expressed either as 255.255.255.0 or 24.
Proto: indicates the protocol through which routes are learned.
Pre: indicates the routing protocol preference of a route. There may multiple routes to the same destination, which have different next hops and outbound interfaces. These routes may be discovered by different routing protocols or manually configured. A router selects the route with the highest preference (the smallest value) as the optimal route. For the routing protocol preference, see Routing Protocol Preference.
Cost: indicates the route cost. When multiple routes to the same destination have the same preference, the route with the lowest cost is selected as the optimal route.
NOTE:
The Preference value is used to compare the preferences of different routing protocols, while the Cost value is used to compare the preferences of different routes of the same routing protocol.
NextHop: indicates the IP address of the next device that an IP packet passes through.
Interface: indicates the outbound interface through which an IP packet is forwarded.
As shown in Figure 7-1, RouterA connects to three networks, so it has three IP addresses and three outbound interfaces. Figure 7-1 shows the routing table of RouterA.
Automatic Restoration After the Number of Routes Exceeds the Upper Limit
- System route limit: specifies the maximum number of routes supported by the system.
- System route prefix limit: specifies the range of prefixes for all the routes supported by the system.
- Multicast IGP route limit: specifies the maximum number of multicast IGP routes.
- Multi-topology route limit: specifies the maximum number of multi-topology routes.
- Private network route limit: specifies the maximum number of private network routes supported by the system.
- VPN route limit: specifies the maximum number of VPN routes supported by the system.
- VPN route prefix limit: specifies the range of prefixes for all the VPN routes supported by the system.
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.
Matching with FIB Table
After route selection, routers send active routes in the routing table to the FIB table. When a router receives a packet, the router searches the FIB table for 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 also indicates 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.
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 120.0.0.2 GigabitEthernet1/0/0
8.0.0.0/8 Static 60 3 D 120.0.0.2 GigabitEthernet1/0/0
9.0.0.0/8 Static 60 50 D 20.0.0.2 GigabitEthernet3/0/0
9.1.0.0/16 Static 60 4 D 120.0.0.2 GigabitEthernet2/0/0
20.0.0.0/8 Direct 0 0 D 20.0.0.1 GigabitEthernet4/0/0
After receiving a packet that carries the destination address 9.1.2.1, 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 120.0.0.2 SU t[37] GigabitEthernet1/0/0 0x0
8.0.0.0/8 120.0.0.2 DU t[37] GigabitEthernet1/0/0 0x0
9.0.0.0/8 20.0.0.2 DU t[9992] GigabitEthernet3/0/0 0x0
9.1.0.0/16 120.0.0.2 DU t[9992] GigabitEthernet2/0/0 0x0
20.0.0.0/8 20.0.0.1 U t[9992] GigabitEthernet4/0/0 0x0
The router performs the "AND" operation on the destination address 9.1.2.1 and the masks 0, 8, and 16 to obtain the network segment addresses: 0.0.0.0/0, 9.0.0.0/8, and 9.1.0.0/16. The three addresses match three entries in the FIB table. The router chooses the entry 9.1.0.0/16 according to the longest match, and forwards the packet through GigabitEthernet2/0/0.
Routing Protocol Preference
Routing protocols (including static route) may discover different routes to the same destination, but not all routes are optimal. At a certain moment, only one routing protocol determines the optimal route to a destination. To select the optimal route, each routing protocol (including static route) 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. External preference is manually configured for each routing protocol. Table 7-1 lists the default external preferences of routing protocols.
Routing Protocol or Route Type |
Default External Preference |
---|---|
Direct |
0 |
OSPF |
10 |
IS-IS |
15 |
Static |
60 |
RIP |
100 |
OSPF ASE |
150 |
OSPF NSSA |
150 |
IBGP |
255 |
EBGP |
255 |
In Table 7-1, the value 0 indicates direct routes and the value 255 indicates routes learned from unreliable sources. A smaller value indicates a higher preference.
You can manually configure the preference of a routing protocol except direct routes. In addition, the preference for each static route varies.
Internal preferences of routing protocols cannot be manually configured. Table 7-2 lists the internal preferences of routing protocols.
Routing Protocol or Route Type |
Internal Preference |
---|---|
Direct |
0 |
OSPF |
10 |
IS-IS Level-1 |
15 |
IS-IS Level-2 |
18 |
Static |
60 |
RIP |
100 |
OSPF ASE |
150 |
OSPF NSSA |
150 |
IBGP |
200 |
EBGP |
20 |
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. 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 that is set to 5. In this case, the router determines the optimal route based on the internal preference listed in Table 7-2. An OSPF route has an internal preference 10, and a static route has an internal preference 60. This indicates that the OSPF route has a higher preference than the static route. Therefore, the router selects the OSPF route as the optimal route.
Route Metric
A route metric specifies the cost of a route to a specified destination address. The following factors often affect the route metric:
Path length
The path length is the most common factor affecting the route metric. Link-state routing protocols allow you to assign a link cost for each link to identify the path length of a link. In this case, the path length is the sum of link costs of all the links that packets pass through. Distance-vector routing protocols use the hop count to identify the path length. The hop count is the number of devices that packets pass through from the source to the destination. For example, the hop count from a router to its directly connected network is 0, and the hop count from a router to a network that can be reached through another router is 1. The rest can be deduced in the same manner.
Network bandwidth
The network bandwidth is the transmission capability of a link. For example, a 10-Gigabit link has a higher transmission capability than a 1-Gigabit link. Although bandwidth defines the maximum transmission rate of a link, routes over high-bandwidth links are not necessarily better than routes over low-bandwidth links. For example, when a high-bandwidth link is congested, forwarding packets over this link will require more time.
Load
The load is the degree to which a network resource is busy. You can calculate the load by calculating the CPU usage and packets processed per second. Monitoring the CPU usage and packets processed per second continually helps learn about network usage.
Communication cost
The communication cost measures the operating cost of a route over a link. The communication cost is another important indicator, especially if you do not care about network performance but the operating expenditure.
Load Balancing and Route Backup
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.
Load Balancing
Routers support the multi-route mode, allowing 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 5-tuple (source IP address, destination IP address, source port, destination port, and transport protocol) in the packets. 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.
As shown in Figure 7-2, RouterA forwards the first packet P1 to 10.1.1.0/24 through GE1/17/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:
When forwarding the second packet P2 to 10.1.1.0/24, RouterA forwards P2 and subsequent packets destined for 10.1.1.0/24 through GE1/17/0 if it finds that the 5-tuple information of P2 is the same as that of P1 destined for 10.1.1.0/24.
When forwarding the first packet P1 to 10.2.1.0/24, RouterA forwards this packet and subsequent packets destined for 10.2.1.0/24 through GE2/17/0 if it finds that the 5-tuple information of P1 destined for 10.2.1.0/24 is different from that of P1 destined for 10.1.1.0/24.
Route Backup
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 the 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.
IP FRR
Definition
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.
Purpose
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 the services that are quite 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 ensures that the forwarding system rapidly detects a link fault and then uses a backup route to restore services as soon as possible.
IP FRR Classification and Implementation
IP FRR, which is designed for routes on IP networks, is classified into IP FRR on the public network and IP FRR on the private network.
IP FRR on the public network: protects routers of the public network.
IP FRR on the private network: protects Customer Edges (CEs).
IP FRR is implemented as follows:
If the primary link is available, you can configure an IP FRR policy to provide the forwarding information of the backup route to the forwarding engine.
If the forwarding engine detects a link fault, the engine uses the backup link to forward traffic before the routes on the control plane converge.
IP FRR Typical Applications
As shown in Figure 7-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.
Route Convergence
Definition
Route convergence is the action of recalculating routes to replace existing routes in the case of network topology changes. The integration of 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, which are in descending order of priority. The system then converges routes according to the scheduling weight to guide service forwarding.
Principles
Routing protocols first compute and deliver routes of high convergence priorities to the system. You can reconfigure the scheduling weight values as required. Table 7-3 lists the default convergence priorities of public routes.
Routing Protocol or Route Type |
Convergence Priority |
---|---|
Direct |
high |
Static |
medium |
32-bit host routes of OSPF and IS-IS |
medium |
OSPF routes (excluding 32-bit host routes) |
low |
IS-IS routes (excluding 32-bit host routes) |
low |
RIP |
low |
BGP |
low |
For private routes, only the convergence priority of 32-bit host routes of OSPF and IS-IS is identified as medium and the convergence priorities of the other routes are identified as low.
Priority-based Route Convergence
Figure 7-4 shows the networking for multicast services. OSPF and IS-IS run on the network; the receiver connects to RouterA; 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 12.10.10.0/24. You can set the convergence priority of route 10.10.10.10/32 to be higher than that of route 12.10.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.
Default Routes
Default routes are special routes, which are 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.
Route Import
Different routing protocols may discover different routes because they use different algorithms. 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 the routes discovered by other routing protocols, direct routes, and static routes using its mechanism.
Autonomous System
An Autonomous System (AS) is a set of IP networks and routers under one 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: 2-byte AS number and 4-byte AS number. A 2-byte AS number ranges from 1 to 65535. Available AS numbers become almost exhausted. Therefore, 2-byte AS numbers need to be extended to 4-byte AS numbers that range from 1 to 4294967295. A 4-byte AS number is in the X.Y format, where X ranges from 1 to 65535 and Y ranges from 0 to 65535.