IP and OSI Routing with Integrated IS-IS
Integrated IS-IS supports three types of networks:
OSI only (CLNS)
IP only
Dual (that is, both OSI and IP simultaneously)
The Integrated IS-IS LSPs can contain multiple variable-length TLV fields, with some containing OSI-specific state information and some containing IP-specific state information.
This section explains how IP routing is accomplished in an Integrated IS-IS network and tells why CLNS addresses must be configured, even if the network is running only IP.
IP Networks in Integrated IS-IS
Integrated IS-IS LSPs describe IP information in a similar manner to the way that IS-IS describes ESs. There are specific TLV types for IP information.
However, even if Integrated IS-IS is being used only for IP routing, OSI protocols are used to form the neighbor relationship between routers (routers still establish ES/IS adjacencies and use IS-IS hello packets). Therefore, a NET address is required for SPF calculations (using Dijkstra's algorithm) and Layer 2 forwarding. The NET address is used to identify the router in Integrated IS-IS.
This section describes how the OSI routing process works in IS-IS or Integrated IS-IS.
Building the OSI Forwarding Database
The following process is used to build the OSI forwarding database (the CLNS routing table) in a router running IS-IS or Integrated IS-IS:
The link-state database is used to calculate the Shortest Path First (SPF) tree to OSI destinations (the NETs, or OSI addresses, of the routers). The link metrics are totaled along each path to decide which is the shortest path to any given destination.
Separate link-state databases exist for Level 1 and Level 2 routes. Therefore, in Level 12 routers, SPF is run twice (once for each level) and separate SPF trees are created for each level.
ES reachability is calculated with a partial route calculation (PRC) based on the previously mentioned Level 1 and Level 2 SPF trees. (There are no OSI ESs if the network is a pure IP Integrated IS-IS environment.)
The best paths are inserted in the CLNS routing table (OSI forwarding database).
OSI Routing Process
Routing inside a Level 1 area is based on the system ID of the destination OSI (NSAP) address.
Level 12 routers send default routes to the Level 1 routers in their area. When a Level 1 router has a packet that is destined for another area, the following rules apply:
The Level 1 router routes the packet to the nearest Level 12 router. The Level 1 router finds the closest exit point from the area, based on the best default route to the Level 12 routers in its area.
The Level 12 router routes the packets into the Level 2 backbone, based on the destination area ID. The packet travels across the Level 2 backbone to the destination area.
When it arrives in the destination area, Level 1 routing is again used to route the packet to its final destination inside that area.
The interface between the Level 1 world and the Level 2 world takes place on a Level 12 router. The Level 12 router behaves as if it were both a Level 1 router (routing to Level 1 destinations) and a Level 2 router (routing between areas).
Level 2 routing is based on the area ID. If a Level 12 router receives a packet (from a Level 2 neighbor) destined for its own area, it routes it as for Level 1, based on the system ID.
The fact that Level 1 routers see a default route only to the nearest Level 12 routers can lead to suboptimal routing, as shown in Figure 5-17.
Figure 5-17 Example of IS-IS Suboptimal Interarea Routing
In Figure 5-17, router R1 routes packets to router R2 through area 1's Level 12 router. This router looks at the destination area of the packet and routes it directly into area 2. In area 2, the packets are routed as Level 1 to R2 (even though the initial next hop is another Level 12 router, the routing is Level 1.)
Packets returning from R2 to R1 are routed by R2 to its nearest Level 12 router. This router happens to see the best route to area 1 as being through area 4 and routes the return packets by a different route than the incoming packets traveled. As can be seen in Figure 5-17, the path taken is not actually the least cost from R2 to R1.
Asymmetric routing (packets in different directions taking different paths) is not necessarily detrimental to the network.
Interconnecting IS-IS Domains
An IS-IS domain is a collection of IS-IS areas and is the equivalent of an IP AS.
IS-IS can support the interconnection of multiple domains. In a pure OSI (CLNS) environment, ISO-IGRP, a Cisco proprietary protocol, can be used. ISO-IGRP interprets the initial domain identifier (IDI) portion of CLNS routes and allows routing between domains. Static CLNS routes can also be used. The standard OSI Interdomain Routing Protocol (IDRP) provides the same function; however, IDRP is not supported by Cisco IOS Software.
In an IP environment, an IP interdomain protocol is required. The most common of these is the Border Gateway Protocol (BGP).
Example of OSI (CLNS) Intra-Area and Interarea Routing
This section presents an example of OSI (CLNS) intra-area and interarea routing, using IS-IS or Integrated IS-IS.
CLNS Troubleshooting Commands Used in This Example
For this example, outputs of some troubleshooting commands on a Cisco router are used to illustrate how OSI routing works. The commands used in this example are detailed in this subsection.
NOTE
Some of the CLNS troubleshooting commands enable you to type a CLNS name instead of an NSAP address, and some commands display a name as well as the NSAP address. This mapping of name to address can be accomplished using the clns host global configuration command; this command works similar to the ip host global configuration command and is described later, in the section, "Other Integrated IS-IS Configuration Commands.".
Use the show isis topology [nsap] [level-1] [level-2] [l1] [l2] EXEC command to display a list of the paths to all connected routers. This command is described in Table 5-1.
Table 5-1 show isis topology Command Description
show isis topology Command |
Description |
nsap |
Host name or NSAP of a router. |
level-1 |
(Optional) The IS-IS link-state database for Level 1. |
level-2 |
(Optional) The IS-IS link-state database for Level 2. |
l1 |
(Optional) Abbreviation for the option level-1. |
l2 |
(Optional) Abbreviation for the option level-2. |
NOTE
The show isis topology command is not documented in the Cisco IOS Software Command Reference manuals; however it is shown in the Cisco IOS Software Configuration Guides, and it does work on the routers.
Use the show clns route [nsap] EXEC command to display all the CLNS destinations to which this router knows how to route packets. The nsap optional parameter is the CLNS NSAP address or host name. The output of this command displays the IS-IS Level 2 routing table, as well as static and ISO-IGRP learned prefix routes. This routing table stores IS-IS area addresses and prefix routes; destinations are sorted by category.
Use the show isis route EXEC command to display the IS-IS Level 1 forwarding table for IS-ISlearned routes.
NOTE
The show isis route command is documented as show isis routes in the Cisco IOS Software Command Reference manuals; however show isis route is the command that works on the routers.
This command is useful only if IS-IS is running in OSI mode. It does not display any routes if IS-IS is running only in IP mode; in this case, the command output indicates that you should use the show isis topology command instead.
Use the which-route {nsap-address | clns-name} EXEC command if you want to know which next-hop router will be used or if you have multiple processes running and want to troubleshoot your configuration. This command displays the routing table in which the specified CLNS destination is found. This command is described in Table 5-2.
Table 5-2 which-route Command Description
which-route Command |
Description |
nsap-address |
CLNS destination network address |
clns-name |
Destination host name |
Use the show ip route [address [mask] [longer-prefixes]] | [protocol [process-id]] command to display all or specific portions of the IP routing table. This command is described in Table 5-3.
Table 5-3 show ip route Command Description
show ip route Command |
Description |
address |
(Optional) Address about which routing information should be displayed. |
mask |
(Optional) Argument for a subnet mask. |
longer-prefixes |
(Optional) The address and mask pair becomes a prefix, and any routes that match that prefix are displayed. |
protocol |
(Optional) Name of a routing protocol, or the keywords connected, static, or summary. If you specify a routing protocol, use one of the following keywords: bgp, egp, eigrp, hello, igrp, isis, ospf, or rip. |
process-id |
(Optional) Number used to identify a process of the specified protocol. |
Example Network
Figure 5-18 shows the network used in this example.
Figure 5-18 Example Network for Intra-area and Inter-area Routing Discussion
Example Troubleshooting Command Output
The example output of the show isis topology command shown in Example 5-1 is taken from router R1, a Level 1 router, in the example in Figure 5-18.
Example 5-1 show isis topology Command Output from Router R1 in Figure 5-18
R1#show isis topology IS-IS paths to level-1 routers System Id Metric Next-Hop Interface SNPA R1 -- R2 10 R2 Se0 *HDLC* R4 10 R4 Se1 *HDLC* |
The example output of the show isis topology command shown in Example 5-2 is taken from router R2, a Level 12 router, in the example in Figure 5-18.
Example 5-2 show isis topology Command Output from Router R2 in Figure 5-18
R2# show isis topology IS-IS paths to level-1 routers System Id Metric Next-Hop Interface SNPA R1 10 R1 Se0 *HDLC* R2 -- R4 10 R4 Se1 *HDLC* IS-IS paths to level-2 routers System Id Metric Next-Hop Interface SNPA R2 -- R5 10 R5 Et0 0010.7bb5.9e20 |
The show isis topology command displays the least-cost paths to the destination NETs. The fields in the outputs in Example 5-1 and Example 5-2 are as follows:
The system ID shows the NET of the destination. Cisco IOS Software uses dynamic host name mapping (as defined in RFC 2763) to map this to a host name, where that host name is available to the router. A router's host name is included in its outgoing LSP.
The metric shows the sum of the metrics on the least-cost path to the destination.
The next-hop router (an IS) is shown, along with the interface through which that next hop is reached and the SNPA of that next hop. (Recall that for a serial line, the SNPA is simply HDLC.)
Example 5-2 shows that separate topology databases exist for Level 1 and Level 2 in router R2, a Level 12 router.
The show clns route command displays the CLNS destinations to which this router can route packets. The example output of the show clns route command shown in Example 5-3 is taken from router R1, a Level 1 router, in the example in Figure 5-18.
Example 5-3 show clns route Command Output from Router R1 in Figure 5-18
R1# show clns route CLNS Prefix Routing Table 49.0001.0000.0000.0001.00, Local NET Entry |
As Example 5-3 shows, router R1 in Figure 5-18 shows only its local NET entry because it is a Level 1only router and, therefore, has no Level 2 area routes to display.
The show isis route command shows the Level 1 routes to IS-IS neighbors. The example output of the show isis route command shown in Example 5-4 is taken from router R1 in the example in Figure 5-18.
Example 5-4 show isis route Command Output from Router R1 in Figure 5-18
R1# show isis route IS-IS Level-1 Routing Table - version 312 System Id Next-Hop Interface SNPA Metric State R2 R2 Se0 *HDLC* 10 Up L2-IS R4 R4 Se1 *HDLC* 10 Up R1 -- Default route out of area - (via 2 L2-attached ISs) System Id Next-Hop Interface SNPA Metric State R2 Se0 *HDLC* 10 Up |
As Example 5-4 shows, router R1 in Figure 5-18 can see the other Level 1 routers in its area, routers R2 and R4. Level 12 routers appear in the Level 1 routing table (by virtue of their Level 1 connection) with a note at the end of their entry to show that they also act at Level 2. In this case, the Level 12 router is R2, as shown in Example 5-4. The closest Level 12 router also appears as the default route out of the area. Again, this is router R2 in Example 5-4.
In the show isis route command, as in the show isis topology command, the next-hop IS, the interface over which that next hop is reached, its SNPA, and the summed metric to that destination is shown for all IS routes. In Example 5-4, the state of all the neighbors is upthis indicates that the hello process has established an adjacency.
For comparison, the example output of the show clns route command shown in Example 5-5 is taken from router R2 in the example in Figure 5-18. This output shows the local NET entry and also shows the Level 2 routes to its own areas and the neighbor areas.
Example 5-5 show clns route Command Output from Router R2 in Figure 5-18
R2#show clns route CLNS Prefix Routing Table 49.0001.0000.0000.0002.00, Local NET Entry 49.0002 [110/10] via R5, IS-IS, Up, Ethernet0 49.0001 [110/0] via R2, IS-IS, Up |
NOTE
As displayed in Example 5-5, router R2, a Level 12 router, regards the route to its own area (area 49.0001) as being through itself, further emphasizing that the Level 1 and Level 2 processes in a Level 12 router operate separately.
The example output of the show isis route command shown in Example 5-6 is taken from router R2 in Figure 5-18. This output shows R2's routes to its IS-IS neighbors, routers R4 and R1.
Example 5-6 show isis route Command Output from Router R2 in Figure 5-18
R2#show isis route IS-IS Level-1 Routing Table - version 47 System Id Next-Hop Interface SNPA Metric State R4 R4 Se1 *HDLC* 10 Up R1 R1 Se0 *HDLC* 10 Up |
An alternative method of finding the route to a destination NET or NSAP is to use the which-route command. The example output of the which-route command shown in Example 5-7 is taken Router R1 in the example in Figure 5-18
Example 5-7 which-route Command Output from Router R1 in Figure 5-18
R1#which-route 49.0001.0000.0000.0002.00 Route look-up for destination 49.0001.0000.0000.0002.00 Found route in IS-IS level-1 routing table Adjacency entry used: System Id Interface SNPA State Holdtime Type Protocol 0000.0000.0002 Se0 *HDLC* Up 26 L1 IS-IS Area Address(es): 49.0001 Uptime: 00:09:50 R1#which-route 49.0002.0000.0000.0005.00 Route look-up for destination 49.0002.0000.0000.0005.00 Using route to closest IS-IS level-2 router Adjacency entry used: System Id Interface SNPA State Holdtime Type Protocol 0000.0000.0002 Se0 *HDLC* Up 27 L1 IS-IS Area Address(es): 49.0001 Uptime: 00:09:57 |
In Example 5-7, the which-route command is entered on the Level 1only router, R1. The first command requests the route to router R2 (the NSAP shown in the command is R2's NSAP). The second command requests the route to router R5. The which-route command output states whether the destination is reachable by Level 1 or by the default exit point to Level 2, and it returns information on the next hop to the destination.
For comparison, the example output of the which-route commands shown in Example 5-8 is taken from router R5 in the example in Figure 5-18; R5 is a Level 2 router.
Example 5-8 which-route Command Output from Router R5 in Figure 5-18
R5#which-route 49.0001.0000.0000.0002.00 Found route in CLNS L2 prefix routing table Route entry used: i 49.0001 [110/10] via R2, Ethernet0/0 Adjacency entry used: System Id Interface SNPA State Hold. Type Prot R2 Et0/0 0000.0c92.e515 Up 24 L2 IS-IS Area Address(es): 49.0001 R5#which-route 49.0001.0000.0000.0001.00 Found route in CLNS L2 prefix routing table Route entry used: i 49.0001 [110/10] via R2, Ethernet0/0 Adjacency entry used: System Id Interface SNPA State Hold. Type Prot. R2 Et0/0 0000.0c92.e515 Up 21 L2 IS-IS Area Address(es): 49.0001 |
The first command in Example 5-8 requests the route to R2. The second command requests the route to R1. As shown in this example output, the which-route command output on a Level 2 router states that the route was matched by an entry from the CLNS Level 2 routing table, and it returns information on the next hop to the destination.
Building an IP Forwarding Table
So far in this section, the process and outputs have referred to the OSI part of the Integrated IS-IS process. These are the same as for pure OSI IS-IS routing.
However, in the IP world, when running Integrated IS-IS, IP information is included in the LSPs. IP reachability behaves in IS-IS as if it were ES information.
It is important to note that IP information takes no part in the calculation of the SPF treeit is simply information about leaf connections to the tree. Therefore, updating the IP reachability is only a PRC (similar to ES reachability).
IP routes are generated by the PRC and offered to the IP routing table, where they are accepted based on routing table rules comparing, for example, administrative distance. When entered in the routing table, IP IS-IS routes are shown as being through Level 1 or Level 2, as appropriate.
The separation of IP reachability from the core IS-IS network architecture gives Integrated IS-IS better scalability than OSPF. OSPF sends LSAs for individual IP subnets. If an IP subnet fails, the LSA is flooded through the network and, in all circumstances, all routers must run a full SPF calculation.
In comparison, in an Integrated IS-IS network, the SPF tree is built from CLNS information. If an IP subnet fails in Integrated IS-IS, the LSP is flooded as for OSPF. However, if the failed subnet is a leaf IP subnet (that is, the loss of the subnet has not affected the underlying CLNS architecture), the SPF tree is unaffected and, therefore, only a PRC happens.
Figure 5-19 illustrates an IP network running Integrated IS-IS; the IP addresses shown are the addresses of the loopback 0 interface on each router. Example 5-9 shows the routing table on router R2 in this example network; the routes are IS-IS routes.
Figure 5-19 An IP Network Running Integrated IS-IS
Example 5-9 show ip route Command Output from Router R2 in Figure 5-19
R2#show ip route <output omitted> i L1 1.0.0.0/8 [115/10] via 10.12.0.1, Ser0 i L1 4.0.0.0/8 [115/10] via 10.24.0.4, Ser1 i L2 5.0.0.0/8 [115/10] via 11.0.0.10, Eth0 |
In Example 5-9, the output is interpreted as follows:
The i indicates that the route was sourced from IS-IS.
L1 and L2 show whether the IS-IS path to these destination IP networks is by way of IS-IS Level 1 or Level 2 routing, respectively.
The next-hop IP addresses are the IP addresses of the corresponding next-hop IS-IS neighbor routers.