What is IGP Routing Protocol

classless igp routing protocol and igp egp routing protocols and hybrid igp routing protocol and best igp routing protocol and igp dynamic routing protocols
Dr.KiranArora Profile Pic
Published Date:27-10-2017
Your Website URL(Optional)
Routing IGP An Interior Gateway Protocol (IGP) is used for exchanging routing information between net- work elements within a single administrative domain (also known as an autonomous system or AS). IGP-based routing protocols distribute routing information throughout the AS and consist of either flat or hierarchical network topologies. Four commonly used IGPs are Routing Information Protocol (RIP), Open Shortest Path First (OSPF), Enhanced Interior Gateway Routing Protocol (EIGRP), and Intermediate System to Intermediate System (IS-IS). Routing protocols are generally categorized as distance vector or link state protocols. Dis- tance vector protocols use routing distance to choose the best path between source and destination. They exchange their entire routing information periodically between all of their neighbors and consume more link bandwidth. Link state protocols, on the other hand, send updates only on link state change and exchange only the routing information that changed between the previous update and the latest update. This chapter examines the underlying technologies and implementation of different IGPs in IOS XR. It also discusses the steps required for base configuration, authentication, route-policy, and process info, and troubleshooting guidelines with focus on the show and debug commands. Routing Information Protocol RIP is a UDP-based distance vector protocol that broadcasts routes using port number 520. RIP sends out the routing updates at an interval called the route-update interval every 60 seconds. It expects the neighbor to send the updates with the same frequency. Routing updates are also sent in the event of any network change. RIP supports different timers—specifically, a timer to control the frequency of the route update and a timer to invalidate a RIP route. This section describes fundamental concepts, and the differences between RIP version 1 (RIPv1) and RIP version 2 (RIPv2), before explaining how to config- ure RIP for IOS XR. Understanding RIP Fundamentals RIP uses a simple hop-count as a metric to compare and compute alternative paths and is limited to networks with diameter of up to 15 hops. A route advertised with distance met- ric of 16 is marked as invalid and considered unreachable. This value is called infinity be- cause it is larger than the maximum allowable value of 15 for the protocol metric. RIP is generally not the best choice of routing protocol, especially when intelligent route update and calculation method that can incorporate link characteristics for metric are desired. ha196 Cisco IOS XR Fundamentals Unlike other IGP protocols, RIP does not form neighbor relationship (adjacency). Passive configuration command is used in conjunction with RIP to prevent routing updates from being sent out on a given interface. However RIP continues to receive routing updates through that interface from its neighbor. RIP Versions Currently, two versions of RIP exist: RIPv1 and RIPv2. Both of these protocols can carry maximum of 25 routes in the protocol packet headers. RIPv1 does not support any subnet masks. In the absence of subnet masks, RIPv1 advertises classful subnets if network ad- dresses fall at major class boundary. If the network addresses do not fall at the major class boundary, the subnet mask of the interface closest to that network address is chosen. RIPv1 does not provide any security against any malicious attacks; there is no check in RIP for the source of the routes received by the router. RIPv2 eliminates some of the constraints seen with RIPv1 because it supports features such as routing domains, external route tags, route summarization, route distribution, vari- able length subnet masks (VLSM), next hop addresses, and authentication. Authentication support exists for both clear-text and MD5 and hence is a significant improvement over RIPv1. In comparison with the broadcast updates of RIPv1, RIPv2 packets might be multi- cast as well. The use of a multicast address ( reduces the unnecessary processing load on network devices that do not support RIP routing. RIP is a stable, simple, and easy-to-configure protocol that is compatible with wide vari- eties of network devices and is still widely deployed in legacy and small or stub networks. IOS XR by default supports RIPv2. Configuring RIP in Cisco IOS XR As a first step, IOS XR requires building a target configuration. After the target configura- tion is built, the user needs to issue an explicit commit to add it to the running configura- tion of the router. RIP configuration is simplified in IOS XR. Unlike IOS where network addresses are configured under RIP protocol configuration, in IOS XR only the interfaces that are to participate in RIP are configured under the routing process. The RIP process gets started the moment RIP is configured on the router. After initialization of the process, the configuration is parsed to find interfaces that need to be enabled for RIP. Figure 7-1 shows a setup that has two routers connected back-to-back over 10 Gigabit Eth- ernet interfaces. A loopback and a 10 Gigabit Ethernet interface are configured on CRS-1 and a 10 Gigabit Ethernet interface is configured on CRS-2. CRS-2 Loopback 1 TenGigE0/0/0/3 TenGigE0/0/0/2 CRS-1 Figure 7-1 Two Connected Routers haChapter 7: Routing IGP 197 Note: In Cisco IOS XR, routing protocols can be configured before the interfaces are configured with the IP addresses. However, the routing protocol becomes active only after the network address is configured on at least one of the interfaces. Example 7-1 shows the configuration for enabling RIP on loopback and 10 Gigabit Ether- net interface on CRS-1. The configuration specific to RIP can be queried by extending the show running-config command with the router rip option. Example 7-1 RIP Configuration on Cisco IOS XR Snippet of the base config for CRS-1 and CRS-2 RP/0/RP0/CPU0:CRS-1show running-config interface Loopback1 ipv4 address interface TenGigE0/0/0/2 ipv4 address RP/0/RP0/CPU0:CRS-2 show running-config interface TenGigE0/0/0/3 ipv4 address Now enable RIP on Loopback and TenGigabitEthernet interfaces on CRS-1. Similar configuration will be applied on CRS-2 RP/0/RP0/CPU0:CRS-1conf t RP/0/RP0/CPU0:CRS-1(config)router rip RP/0/RP0/CPU0:CRS-1(config-rip)interface TenGigE0/0/0/2 RP/0/RP0/CPU0:CRS-1(config-rip-if)interface Loopback1 RP/0/RP0/CPU0:CRS-1(config-rip-if)end Uncommitted changes found, commit them before exiting(yes/no/cancel)? cancel:yes RP/0/RP0/CPU0:CRS-1 Displays the rip config which was committed RP/0/RP0/CPU0:CRS-1show running-config router rip router rip interface Loopback1 interface TenGigE0/0/0/2 ha198 Cisco IOS XR Fundamentals RP/0/RP0/CPU0:CRS-1 Configuring Route Policy Language Route Policy Language (RPL) is used in conjunction with RIP to perform different func- tionalities. It can be used to set different metrics during redistribution or to filter routing updates from neighboring routers. There are two options in RIP to change the RIP metric: set rip-metric, which changes the metric of the route to the newly configured value, and the add rip-metric option, which updates the original metric by an offset defined as per the configuration. Example 7-2 shows the usage of routing policy to set the metric for re- distributed routes. Example 7-2 Redistribution Using route-policy Configure the route-policy named metric1 which sets a metric for redistributed routes RP/0/RP0/CPU0:CRS-1(config)route-policy metric1 RP/0/RP0/CPU0:CRS-1(config-rpl)set rip-metric 5 RP/0/RP0/CPU0:CRS-1(config-rpl)end-policy RP/0/RP0/CPU0:CRS-1(config)commit Apply the route-policy metric1 for redistributed routes RP/0/RP0/CPU0:CRS-1(config)router rip RP/0/RP0/CPU0:CRS-1(config-rip)redistribute static route-policy metric1 RP/0/RP0/CPU0:CRS-1(config-rip)commit Example 7-3 provides the syntax to configure a route policy used to filter routes. IOS XR supports the add rip-metric option of the RPL to change the metric values for RIP. Example 7-3 Route Filtering Using route-policy and the add rip-metric Option Lets configure the prefix-set to filter a specific route from the updates RP/0/RP0/CPU0:CRS-2(config)prefix-set route1 RP/0/RP0/CPU0:CRS-2(config-pfx) RP/0/RP0/CPU0:CRS-2(config-pfx)end-set RP/0/RP0/CPU0:CRS-2(config)commit Lets define the route-policy to allow the route defined by prefix-set route1 aohaChapter 7: Routing IGP 199 RP/0/RP0/CPU0:CRS-2(config)route-policy filter1 RP/0/RP0/CPU0:CRS-2(config-rpl)if destination in route1 then RP/0/RP0/CPU0:CRS-2(config-rpl-if)pass RP/0/RP0/CPU0:CRS-2(config-rpl-if)endif RP/0/RP0/CPU0:CRS-2(config-rpl)end-policy Apply the route-policy metric1 to rip for incoming routes RP/0/RP0/CPU0:CRS-2(config)router rip RP/0/RP0/CPU0:CRS-2(config-rip)route-policy filter1 in RP/0/RP0/CPU0:CRS-2(config-rip)commit Add rip-metric option of RPL is used to change the metric RP/0/RP0/CPU0:CRS-1(config-rpl)add rip-metric ? 0-16 decimal number parameter ‘’ followed by alphanumeric characters Configuring Passive Interface Passive interfaces in RIP do not advertise routing updates. Example 7-4 provides the syn- tax to configure a passive interface. Example 7-4 Passive Interface Configuration RP/0/RP0/CPU0:CRS-1(config)router rip RP/0/RP0/CPU0:CRS-1(config-rip)interface TenGigE0/0/0/2 RP/0/RP0/CPU0:CRS-1(config-rip-if)passive-interface Restarting, Shutting Down, and Blocking RIP RIP is defined as a cold restart process because the RIP process on the standby RP is not fully initialized. The RIP process can be restarted, shut down, blocked, or started and it can use the checkpoint recovery mechanism of IOS XR to recover. RIP is nonstop for- warding (NSF)–aware, and therefore it can be restarted without impacting data traffic or RIB. It can be monitored using the show process rip command. Examples 7-5 through 7-7 provide the IOS XR commands to restart, shut down, and block the RIP process. The show process rip command is used to know the state of the process, and to know the job ID that can be used in conjunction with other commands. Example 7-5 RIP Process Status on Active RP RP/0/RP0/CPU0:CRS-1show processes rip Job Id: 235 PID: 14717173 Executable path: /disk0/hfr-rout-3.6.1/bin/rip Instance : 1 ha200 Cisco IOS XR Fundamentals Version ID: 00.00.0000 Respawn: ON Respawn count: 11 Max. spawns per minute: 12 Last started: Wed Nov 12 06:11:08 2008 Process state: Run (last exit due to SIGTERM) Package state: Normal Started on config: cfg/gl/rip/ord_A/default/ord_d/config core: TEXT SHAREDMEM MAINMEM Max. core: 0 Placement: ON startup_path: /pkg/startup/ipv4_rip.startup Ready: 0.678s Process cpu time: 0.204 user, 0.116 kernel, 0.320 total JID TID Stack pri state TimeInState HR:MM:SS:MSEC NAME 235 1 40K 10 Receive 0:00:03:0731 0:00:00:0190 rip 235 2 40K 10 Receive 0:00:03:0741 0:00:00:0010 rip 235 3 40K 10 Receive 0:00:03:0870 0:00:00:0002 rip 235 4 40K 10 Receive 0:00:03:0732 0:00:00:0002 rip 235 5 40K 10 Receive 0:00:03:0849 0:00:00:0000 rip ———————————————————————————————————————- RP/0/RP0/CPU0:CRS-1 A RIP process can be restarted, shut down, or blocked using the job ID or the rip key- word as shown in Example 7-6. Example 7-6 RIP Restart, Shut Down, or Block Process RP/0/RP0/CPU0:CRS-1process shutdown rip RP/0/RP0/CPU0:CRS-1process blocked 235 RP/0/RP0/CPU0:CRS-1process restart rip Example 7-7 shows that the standby RIP process is not fully initialized and stays in the queue state. Example 7-7 Status of Process Running on Standby RP RP/0/RP0/CPU0:CRS-1 show processes rip detail location 0/RP1/CPU0———————- Job Id: 235 Executable path: /disk0/hfr-rout-3.6.1/bin/rip Instance : 1 Version ID: 00.00.0000 Respawn: ON Respawn count: 0 Max. spawns per minute: 12 Last started: Not yet spawned ahaChapter 7: Routing IGP 201 Process state: Queued Package state: Normal Registered item(s): cfg/gl/rip/ core: TEXT SHAREDMEM MAINMEM Max. core: 0 Placement: ON startup_path: /pkg/startup/ipv4_rip.startup Running path: /disk0/hfr-rout-3.6.1/bin/rip Package path: /pkg/bin/rip Node redundancy state: standby Job-id-link: 235 group_jid: 1880,0,0,0 fail_count: 0 this pcb: 481fe010 next pcb: 60218800 jobid on RP: 0 Verifying and Troubleshooting RIP Example 7-8 illustrates some of the show commands that can be used to verify and trou- bleshoot RIP on IOS XR. Example 7-8 RIP Verification Display the information for interfaces enabled for RIP and the version configured RP/0/RP0/CPU0:CRS-1show rip interface tenGigE 0/0/0/2 TenGigE0_0_0_2 Rip enabled?: Yes Out-of-memory state: Normal Broadcast for V2: No Accept Metric 0?: No Send versions: 2 Receive versions: 2 Interface state: Up IP address: Metric Cost: 0 Split horizon: Enabled Poison Reverse: Disabled Socket set options: Joined multicast group?: Yes LPTS filter set?: Yes RIP peers attached to this interface: ha202 Cisco IOS XR Fundamentals uptime: 716 version: 2 packets discarded: 0 routes discarded: 1 Display the topology database for RIP on the neighboring router CRS-2 RP/0/RP0/CPU0:CRS-2show rip database Routes held in RIP’s topology database: 0 directly connected, TenGigE0/0/0/3 auto-summary 1 via, next hop, Uptime: 26s, TenGigE0/0/0/3 auto-summary Table 7-1 lists some of the key RIP commands in IOS XR. Table 7-1 RIP Operation and Debug Commands Command Description show route rip Displays the RIP routes that are installed in RIB show rip statistics Provides the statistics on the sent/received RIP packets show rip vrf vrf all statistics \ clear rip vrf vrf all Clears the RIP database debug rip auth database events global im oom Used for debugging a RIP policy receive rib send show interface type in- database stance vrf all vrf-name Note: Cutover, or switchover, is a process by which the standby RP assumes control of the system after a failure of the active RP, after removal of the active RP, or as a result of an operator command. Cutover can be planned, as in the case of scheduled maintenance, or unplanned, as in the case of a failure. ahaChapter 7: Routing IGP 203 Enhanced Interior Gateway Routing Protocol EIGRP is a distance vector protocol that runs on port number 88. Even though it is consid- ered an IGP, it can also be used for interdomain routing. In addition to variable-length sub- net mask (VLSM), route summarization, route tags, and neighbor discovery mechanism, the features that distinguish this protocol from other routing protocols are its fast conver- gence, low network usage, partial update of the routing table, and support for multiple network layer protocols. This section describes basic EIGRP concepts before outlining the configuration options for EIGRP in IOS XR. Understanding EIGRP Fundamentals EIGRP uses as the multicast address for the routing update. EIGRP interface can be active or passive. Active interfaces advertise connected prefixes and form adjacen- cies with neighbors, whereas passive interfaces only advertise and do not form any neigh- bor relationship. It uses a distance metric that is a composite metric calculated using available bandwidth, delay, load utilization, and link reliability. Optimal path can be achieved by modifying the link characteristics used in the calculation of the distance met- ric. By default, the EIGRP metric is a 32-bit quantity. EIGRP has five types of packets: Hello/Acks, Update, Queries, Replies, and Requests. Goodbye message is another useful message used by EIGRP that helps with faster net- work convergence. This broadcast message is sent out in the event of EIGRP routing process shutdown and informs adjacent peers about the changed topology. This feature al- lows supporting EIGRP peers to recompute neighbor relationships more efficiently than would have happened at hold timer expiry. EIGRP has four basic components: Neighbor Discovery/Recovery, Reliable Transport Pro- tocol (RTP), Diffusing Update Algorithm (DUAL), and Protocol Dependent Modules. This section describes each. Neighbor Discovery/Recovery Neighbor discovery/recovery is a process used to discover directly connected neighbors, and is also a method to declare neighbors unreachable or nonfunctional. Discovery/ recovery is achieved through small size hello packets sent at periodic intervals. EIGRP supports secondary IP addresses on the interface, but sources hello packets only from the primary subnet. Neighbors are declared adjacent after exchange of hellos if they have the same AS number, the source IP of the received hello has the same subnet as one of the primary connected interfaces, the K values match, and if they are authenticated suc- cessfully. K values are constant values used as multipliers in the calculation of metrics for distance. Reliable Transport Protocol The Cisco proprietary TCP-based Reliable Transport Protocol (RTP) is the transport layer that facilitates ordered delivery of EIGRP packets. It allows mixed and reliable delivery of unicast and multicast packets and helps with fast convergence when links with variable speeds are involved in the network. The DUAL algorithm tracks the different routes adver- ha204 Cisco IOS XR Fundamentals tized by the neighbors and uses the EIGRP metrics to calculate the best routes. It is differ- ent from other routing protocols in that routing calculations are shared among multiple routers. A router sends routing updates of directly connected routes, instead of every route in the network. In addition it sends an update of a particular route only if a topology change has occurred to that specific route and then is sent to relevant neighbor routers, but not to all routers. This reduces the route computation time by a significant amount. Diffusing Update Algorithm DUAL inserts the route into the routing table based on a feasible successor. The successor is the neighboring router that would be used for packet forwarding, has the least cost path to a destination, and is not part of a routing loop. DUAL identifies feasible successors af- ter each topology change. A feasible successor is viewed as a neighbor that is downstream with respect to the destination. If a feasible successor exists, it will use any route it finds to avoid any unnecessary recomputation. Lowering recomputation helps reduce processor utilization as well as lower overall convergence time. Protocol-Dependent Modules Protocol-dependent modules are used for network layer protocol-specific requirements. This informs DUAL of the protocol-specific messages and route selection related deci- sions are impacted by this configuration. The outcome of all EIGRP operations is captured in two tables: a neighbor table and a topology table. A neighbor table stores information about neighbors, hold timer, and se- quence numbers used for reliable transmission. A topology table is populated by a protocol-dependent module and is used by DUAL. It records all the advertisements by neighbors along with the metric information. With such key capabilities to converge fast, low bandwidth utilization, low process uti- lization, and reliable transmission, EIGRP is one of the most efficient routing protocols available. Configuring EIGRP in Cisco IOS XR EIGRP in IOS XR supports both IPv4 and IPv6 address families. Refer to Figure 7-1. In this case CRS-1 and CRS-2 will be configured to form the EIGRP neighbors for IPv4. This can be achieved by enabling the required interfaces under IPv4 address family. Example 7-9 shows the basic steps required to configure EIGRP in IOS XR. Example 7-9 EIGRP Configuration in IOS XR Snippet of the base config for CRS-1 and CRS-2 RP/0/RP0/CPU0:CRS-1show running-config interface Loopback1 ipv4 address haChapter 7: Routing IGP 205 interface TenGigE0/0/0/2 ipv4 address RP/0/RP0/CPU0:CRS-2show running-config interface TenGigE0/0/0/3 ipv4 address Now enable EIGRP for loopback and TenGigabitEthernet interfaces on CRS-1 and similar configuration is applied on CRS-2 RP/0/RP0/CPU0:CRS-1conf t RP/0/RP0/CPU0:CRS-1(config)router eigrp 1 RP/0/RP0/CPU0:CRS-1(config-eigrp)address-family ipv4 RP/0/RP0/CPU0:CRS-1(config-eigrp-af) interface Loopback1 RP/0/RP0/CPU0:CRS-1(config-eigrp-af-if) RP/0/RP0/CPU0:CRS-1(config-eigrp-af-if) interface TenGigE0/0/0/2 RP/0/RP0/CPU0:CRS-1(config-eigrp-af-if)end Uncommitted changes found, commit them before exiting(yes/no/cancel)? cancel:yes RP/0/RP0/CPU0:CRS-1 Use the following command to verify the eigrp config RP/0/RP0/CPU0:CRS-1show running-config router eigrp router eigrp 1 address-family ipv4 interface Loopback1 interface TenGigE0/0/0/2 Configuring Routing Policy Example 7-10 gives the steps to use routing policy to set the EIGRP metric for redistrib- uted routes. The addition of eigrp-metric with route-policy is another way of changing the EIGRP metric values. Example 7-10 Set Metric for Redistributed Routes Using route-policy and add eigrp-metric Now configure the route-policy metric1 and set the different eigrp metric which will be used for redistributed routes aha206 Cisco IOS XR Fundamentals RP/0/RP0/CPU0:CRS-1(config)route-policy metric1 RP/0/RP0/CPU0:CRS-1(config-rpl)set eigrp-metric 5000 50 255 100 1500 RP/0/RP0/CPU0:CRS-1(config-rpl)end RP/0/RP0/CPU0:CRS-1(config)commit Apply the route-policy metric1 for redistributed routes RP/0/RP0/CPU0:CRS-1(config)router eigrp 1 RP/0/RP0/CPU0:CRS-1(config-eigrp)address-family ipv4 RP/0/RP0/CPU0:CRS-1(config-eigrp-af)redistribute static route-policy metric1 RP/0/RP0/CPU0:CRS-1(config-eigrp-af)commit add eigrp-metric support in route-policy metric1 for redistributed routes RP/0/RP0/CPU0:CRS-1(config)route-policy metric1 RP/0/RP0/CPU0:CRS-1(config-rpl)add eigrp-metric ? 0-4294967295 Bandwidth in Kbits per second Configuring Router ID Cisco IOS XR offers options in EIGRP configuration to set the same or a different router ID for different address families. Example 7-11 shows the steps required to set the same router ID for the IPv4 address family. You can follow the same procedure to set the IPv6 router ID under the IPv6 address family. Example 7-11 Configuring Router ID Now configure the loopback address as the ipv4 router-id of EIGRP RP/0/RP0/CPU0:CRS-2conf t RP/0/RP0/CPU0:CRS-2(config)router eigrp 1 RP/0/RP0/CPU0:CRS-2(config-eigrp)address-family ipv4 RP/0/RP0/CPU0:CRS-2(config-eigrp-af)router-id RP/0/RP0/CPU0:CRS-2(config)commit show eigrp accounting can be used to verify the router-id of EIGRP with the new value RP/0/RP0/CPU0:CRS-1show eigrp ipv4 accounting IPv4-EIGRP accounting for AS(1)/ID( Total Prefix Count: 3 States: A-Adjacency, P-Pending, D-Down State Address/Source Interface Prefix Restart Restart/ Count Count Reset(s) A Redistributed —— 1 0 0 haChapter 7: Routing IGP 207 Configuring and Verifying NSF Cisco IOS XR EIGRP supports NSF, which is enabled by default. As long as the neighbor- ing routers are NSF aware, data traffic will not be impacted on an RP cutover scenario. NSF timers can be changed using the timers parameters under EIGRP NSF configuration. This feature helps EIGRP to achieve high availability under different fault scenarios such as the EIGRP process failure or RP cutover. Example 7-12 shows how to verify and config- ure NSF. Example 7-12 Verify and Configure NSF Show protocols eigrp displays the NSF capability of EIGRP RP/0/RP0/CPU0:CRS-1show protocols eigrp Routing Protocol: EIGRP, instance 1 Default context AS: 1, Router ID: Address Family: IPv4 Default networks not flagged in outgoing updates Default networks not accepted from incoming updates Distance: internal 90, external 170 Maximum paths: 4 EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0 EIGRP maximum hopcount 100 EIGRP maximum metric variance 1 EIGRP NSF: enabled NSF-aware route hold timer is 240s NSF signal timer is 20s NSF converge timer is 120s Time since last restart is 00:31:37 SIA Active timer is 180s Interfaces: Loopback1 TenGigE0/0/0/2 Changing NSF timers for EIGRP RP/0/RP0/CPU0:CRS-1(config-rip)router eigrp 1 RP/0/RP0/CPU0:CRS-1(config-eigrp)address-family ipv4 RP/0/RP0/CPU0:CRS-1(config-eigrp-af)timers nsf ? converge Route converge time route-hold Route hold time for inactive peer signal Route signal time aha208 Cisco IOS XR Fundamentals Verifying EIGRP Process Status In a dual RP system, EIGRP processes are running only on the Active nodes. It is also a cold restart process because it is not fully initialized on the standby RP. The EIGRP process can be restarted or shut down, and its status can be monitored using show process eigrp. The EIGRP process uses checkpoint recovery mechanisms for restarting or shutting down of the process. Example 7-13 provides the commands for verifying the EIGRP process status on active and standby RP. The EIGRP process is in the RUN state in Active RP and in the Queued state in the Standby RP as highlighted in Example 7-13. Just as with RIP, EIGRP is also restartable using process restart eigrp. Example 7-13 Process Status on Active and Standby RP The state of the EIGRP process running on Active (RP0) and Standby (RP1) RP/0/RP0/CPU0:CRS-1show processes eigrp detail location all node: node0_0_CPU0 ———————————————————————————————————————- No such process eigrp ———————————————————————————————————————- node: node0_RP0_CPU0 ———————————————————————————————————————- Job Id: 170 PID: 15007990 Executable path: /disk0/hfr-rout-3.6.1/bin/eigrp Instance : 1 Version ID: 00.00.0000 Respawn: ON Respawn count: 5 Max. spawns per minute: 12 Last started: Wed Nov 12 06:37:03 2008 Process state: Run Package state: Normal Started on config: cfg/gl/eigrp/proc/0x1/ord_a/default/ord_a/enabled core: TEXT SHAREDMEM MAINMEM Max. core: 0 Placement: ON startup_path: /pkg/startup/eigrp.startup Ready: 0.820s Available: 0.833s Running path: /disk0/hfr-rout-3.6.1/bin/eigrp Package path: /pkg/bin/eigrp Node redundancy state: active Job-id-link: 170 group_jid: 1360,0,0,0 fail_count: 0 haChapter 7: Routing IGP 209 this pcb: 481fe010 next pcb: 601ea600 jobid on RP: 0 Send Avail: YES Process cpu time: 0.278 user, 0.125 kernel, 0.403 total JID TID Stack pri state TimeInState HR:MM:SS:MSEC NAME 170 1 52K 10 Receive 0:00:18:0674 0:00:00:0261 eigrp 170 2 52K 10 Receive 0:02:24:0746 0:00:00:0002 eigrp 170 3 52K 10 Receive 0:01:18:0675 0:00:00:0012 eigrp 170 4 52K 10 Receive 0:01:18:0669 0:00:00:0002 eigrp 170 5 52K 10 Receive 0:00:18:0665 0:00:00:0001 eigrp 170 6 52K 10 Receive 0:01:18:0672 0:00:00:0000 eigrp 170 7 52K 10 Receive 0:02:24:0332 0:00:00:0000 eigrp ———————————————————————————————————————- ———————————————————————————————————————- node: node0_RP1_CPU0 ———————————————————————————————————————- Job Id: 170 Executable path: /disk0/hfr-rout-3.6.1/bin/eigrp Instance : 1 Version ID: 00.00.0000 Respawn: ON Respawn count: 0 Max. spawns per minute: 12 Last started: Not yet spawned Process state: Queued Package state: Normal Registered item(s): cfg/gl/eigrp/ core: TEXT SHAREDMEM MAINMEM Max. core: 0 Placement: ON startup_path: /pkg/startup/eigrp.startup Running path: /disk0/hfr-rout-3.6.1/bin/eigrp Package path: /pkg/bin/eigrp Node redundancy state: standby Job-id-link: 170 group_jid: 1360,0,0,0 fail_count: 0 this pcb: 481fe010 next pcb: 601ea600 jobid on RP: 0 Send Avail: YES ha210 Cisco IOS XR Fundamentals Verifying and Troubleshooting EIGRP Example 7-14 illustrates some of the show and debug commands that can be used for vali- dating and troubleshooting EIGRP. Example 7-14 Verify Interface Configuration Displays the interface information enabled for EIGRP RP/0/RP0/CPU0:CRS-1show eigrp interfaces tenGigE 0/0/0/2 detail IPv4-EIGRP interfaces for AS(1) Xmit Queue Mean Pacing Time Multicast Pending Interface Peers Un/Reliable SRTT Un/Reliable Flow Timer Routes Te0/0/0/2 1 0/0 6 0/10 50 0 Hello interval is 5 sec, hold time is 15 sec Next xmit serial none Un/reliable mcasts: 0/3 Un/reliable ucasts: 6/5 Mcast exceptions: 0 CR packets: 0 ACKs suppressed: 1 Retransmissions sent: 1 Out-of-sequence rcvd: 0 Bandwidth percent is 50 Authentication mode is not set Effective Metric: Bandwidth: 10000000, Delay: 1, Reliability: 255, Load: 1, MTU: 1500 The topology database for EIGRP on the neighboring router shows information such as successors, feasible distance, metric for the routes. RP/0/RP0/CPU0:CRS-2show eigrp topology IPv4-EIGRP Topology Table for AS(1)/ID( Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - reply Status, s - sia Status P, 1 successors, FD is 512 via Connected, TenGigE0/0/0/3 P, 1 successors, FD is 128512 via (128512/128256), TenGigE0/0/0/3 EIGRP neighbor information can be retrieved on the neighboring router RP/0/RP0/CPU0:CRS-2show eigrp neighbors haChapter 7: Routing IGP 211 IPv4-EIGRP neighbors for AS(1) H Address Interface Hold Uptime SRTT RTO Q Seq (sec) (ms) Cnt Num 0 Te0/0/0/3 13 00:00:25 3 200 0 11 RP/0/RP0/CPU0:CRS-2 Table 7-2 lists some of the operational and debug commands related to EIGRP. Table 7-2 EIGRP Operational and Debug Commands Command Description show route eigrp Displays the EIGRP routes that are installed in RIB show eigrp traffic Provides the statistics of the EIGRP packets sent and received clear eigrp as-number vrf Clears the EIGRP neighbor database vrf all ipv4 ipv6 neighbors ip-address interface-type interface- instance soft debug eigrp ipv4 as- Used for debugging EIGRP events number vrf vrf-nameip- address neighbor notifi- cations summary Open Shortest Path First Open Shortest Path First (OSPF) is an IGP that runs on the IP layer and uses port number 89. It routes packets based on the destination address and the type of service (TOS) byte. It quickly detects the changes in the autonomous system and calculates new routes after a period of convergence. This section describes fundamental OSPF concepts before delving into the configuration details of IOS XR. Understanding OSPF Fundamentals OSPF is based on link state technology where each router maintains a database of the link states, which stores information such as IP address, subnet, and cost. This database known as link state database (LSDB) is used to build the adjacency and routing table of the ha212 Cisco IOS XR Fundamentals router and describes the topology of the autonomous system. These link states are adver- tised to all the routers in the autonomous system via a flooding process. The router runs Dijktra’s algorithm on the LSDB to generate a shortest path first (SPF) tree, which in turn is used to build a routing table with the best route (the one with least cost) to the destina- tion. Unlike RIP, OSPF does not send out periodic updates and after the adjacency is formed between neighbors, only the changed routing information is propagated to the neighbor. These link states are advertised to all the routers within the autonomous system by flooding. This is called link state advertisement (LSA). OSPF allows grouping of networks into areas. The topology of an area is hidden from other areas in an AS. This hierarchy helps reducing routing traffic and protects a network from bad traffic. In case of failure, this hierarchy helps to isolate the impaired network and protects the rest of the network. OSPF routers can have different roles depending on the area they serve. These roles are divided into four categories: ■ Internal routers: An internal router connects to only one area. ■ Backbone routers: Backbone routers have one or more links in area 0. ■ Area border router (ABR): ABR connects more than one area and is generally used to connect a backbone router to a nonbackbone. ■ Autonomous system boundary routers (ASBR): ASBR connects OSPF AS to an- other AS. All routers within the same area have the same LSDBs. Type 1 and Type 2 LSAs are scoped within the area. OSPF supports external route (from EGP) propagation through its AS and such information is stored as separate LSAs called Type-5 LSAs. Backbone is al- ways a Type-5-capable area. There are two special types of OSPF areas: ■ Stub area: A stub area is connected to the backbone area only. It does not receive any external routes and allows no Type-5 LSAs to be propagated. ■ Not-so-stubby area (NSSA): An NSSA is a type of stub area that allows the injec- tion of external routes into the stub area. Type-7 LSAs allow carrying external route information within NSSA. These are only for one NSSA and are not flooded to back- bone or ABR. OSPF uses for multicasting the LSAs and hello packets. Hello packets are used for establishing neighbors. These packets decide whether the adjacency should be formed with a given neighbor. Some important parameters used in OSPF are hello interval, dead interval, LSA update timer, and minimum time between SPF calculations. OSPF supports features such as route summarization, VLSM, disjoint subnets, supernet- ting, loop-free routes, and authentication. OSPFv3 uses the same mechanism as OSPFv2, with the difference that it supports LSAs for IPv6 address updates. OSPFv3 is not backward compatible with OSPFv2, and net- works that have both IPv4 and IPv6 require the presence of both OSPFv2 and OSPFv3 for routing. OSPFv2 recognizes neighbors by using interface addresses on broadcast and non- broadcast multiple access (NBMA) networks and by using router ID on other types of networks, whereas OSPFv3 only uses router ID to identify neighbors. OSPFv3 does not haChapter 7: Routing IGP 213 have OSPF-specific authentication and uses authentication provided by IPv6. This proto- col runs on link addresses compared to subnets used in OSPFv3 and uses the link-local ad- dress of the interface to exchange the LSAs. So, with its capability to scale, protect networks through partitioning into various areas, and converge faster for both IPv4 and IPv6 networks, this is one of the protocols of choice when it comes to deploying IGP. Configuring OSPF in Cisco IOS XR Refer to Figure 7-1. In this case CRS-1 and CRS-2 will be configured to form the OSPF neighbors for IPv4. Appropriate interfaces will be configured under the OSPF router process. All the interfaces for a given area are enabled by configuring under the defined OSPF area. OSPF and OSPFv2 will be used interchangeably in this section. Configuring and Verifying OSPFv2 Example 7-15 shows the basic steps required to configure OSPF for a single area in IOS XR. Example 7-15 OSPFv2 Configuration Snippet of the base config for CRS-1 and CRS-2 RP/0/RP0/CPU0:CRS-1show running-config interface Loopback1 ipv4 address interface TenGigE0/0/0/2 ipv4 address RP/0/RP0/CPU0:CRS-2show running-config interface TenGigE0/0/0/3 ipv4 address Now enable OSPFv2 for loopback and TenGigabitEthernet interfaces on CRS-1 and similar configuration is applied on CRS-2 RP/0/RP0/CPU0:CRS-1conf t RP/0/RP0/CPU0:CRS-1(config)router ospf 1 RP/0/RP0/CPU0:CRS-1(config-ospf)area 0 RP/0/RP0/CPU0:CRS-1(config-ospf-ar)interface Loopback1 RP/0/RP0/CPU0:CRS-1(config-ospf-ar-if) RP/0/RP0/CPU0:CRS-1(config-ospf-ar-if) interface TenGigE0/0/0/2 RP/0/RP0/CPU0:CRS-1(config-ospf-ar-if)commit ha214 Cisco IOS XR Fundamentals Uncommitted changes found, commit them before exiting(yes/no/cancel)? cancel:yes RP/0/RP0/CPU0:CRS-1 Use the following command to verify the ospf config RP/0/RP0/CPU0:CRS-1show running-config router ospf router ospf 1 area 0 interface Loopback1 interface TenGigE0/0/0/2 RP/0/RP0/CPU0:CRS-1 Example 7-16 illustrates the different verification commands for OSPFv2. Example 7-16 Verifying the OSPFv2 Configuration show ospf neighbor lists out the different IPv4 OSPF neighbors on CRS-2 RP/0/RP0/CPU0:CRS-2 show ospf neighbor Neighbors for OSPF 1 Neighbor ID Pri State Dead Time Address Interface 1 FULL/DR 00:00:38 TenGigE0/0/0/3 Neighbor is up for 00:00:04 Total neighbor count: 1 show ospf interface displays the OSPF attributes for interface enabled for OSPFv2 RP/0/RP0/CPU0:CRS-1show ospf interface TenGigE0/0/0/2 is up, line protocol is up Internet Address, Area 0 Process ID 1, Router ID, Network Type BROADCAST, Cost: 1 Transmit Delay is 1 sec, State DR, Priority 1 Designated Router (ID), Interface address Backup Designated router (ID), Interface address Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 ha