Integrated IS-IS Operation
Before you can fully grasp the details of IS-IS and how it routes traffic, you must understand the routing protocol operation. This operation is similar to the section on IS-IS convergence detailed in Chapter 5, "IP Link-State Routing Principles." The section in Chapter 5 dealt with how the routing protocol identifies a change in the network and updates the routing tables. This section describes how all the databases for IS-IS are created and maintained , not simply how they are updated.
A high-level overview of the Integrated IS-IS operation follows :
Routers send Hellos out of all Integrated IS-IS interfaces to discover neighbors and to form adjacencies.
Routers sharing a common data link become neighbors.
Routers build link-state packets (LSPs) based on local Integrated IS-IS interfaces and prefixes learned from other adjacent routers. These are sent to all neighbors.
Routers flood received LSPs to all adjacent routers except to the neighbor from which the LSP was received.
When new or different LSPs are received, the router adds the LSPs to the link-state database.
The router calculates the SPF for each destination and constructs the shortest path tree (SPT) and the forwarding database.
The routing process for IS-IS is divided into four stages:
The following sections describe each stage in detail.
The Update Process
The router can forward data packets to the remote destination only if it has an understanding of the network topology. The router can then determine the best path to the remote network and send the data packet on the next stage of its journey.
To ensure that every router has the information required, each router generates its own LSP. The LSP lists the router's neighbors, which are propagated throughout the network. The flooding of LSPs ensures every router has the same set of LSPs and that the link-state databases are identical.
LSPs are generated whenever there is a change in the network, often because of a configuration change. However, any of the following instances trigger a new LSP to be flooded throughout the network:
An adjacency either comes up or down (for example, a new router comes online).
An interface on the router changes state or is assigned a new metric.
An IP route changes (for example, because of redistribution).
During the flooding process, a router both receives and sends LSPs. The action of each instance has clear rules of engagement.
Sending and Receiving an LSP
On receipt of the new LSP, the router stores it in the link-state database and marks it for flooding. If the LSP is already present in the database, the router just acknowledges and ignores it. The router sends the duplicated LSP to its neighbors, which in turn flood to their neighbors and onward to the very edges of the network. Because Level 1 and Level 2 routers have their own link-state databases, Level 1 LSPs are flooded throughout the area; Level 2 LSPs are sent across all Level 2 adjacencies.
The process of propagating LSPs differs slightly, depending on which medium the LSP was received. The following sections describe the propagation process for point-to-point and broadcast links.
Propagating LSPs on a Point-to-Point Interface
The point-to-point link does not need to ensure that multiple systems have synchronized databases. With only one other router with which to work, some reliance is given to the router's capability to determine the need to update so that bandwidth can be optimized.
The following list describes the flooding process on a point-to-point link:
When an adjacency is established, both sides send a complete sequence number packet (CSNP) with a compressed version of their link-state database (Router ID and the sequence number).
If there are any LSPs in the receiving router's database that were not in the CSNP it received, it sends a copy of the missing LSPs to the other router.
Likewise, if the database is missing any LSPs received in the CSNP, the receiving router requests the detailed or full LSP to be sent.
The individual LSPs are requested , sent, and acknowledged via partial-sequence number packet (PSNPs).
When an LSP is sent, the router sets a timer, and if no explicit acknowledgement has been received before the timer expires , the LSP is resent . This timer is the minimumLSPTransmission-interval and can be configured; the default on a Cisco router is five seconds.
Propagating LSPs on a Broadcast Link
A broadcast link may need to send out both Level 1 and Level 2 updates. The link sends these updates using multicast MAC addresses to all Level 1 routers and all Level 2 routers. Because the pseudonode is just that, a pretend system, a real node or system must enter the charade and perform the tasks of the pseudonode. The designated intermediate system (DIS) takes on much of the responsibility for synchronizing the databases on behalf of the pseudonode. The DIS has three tasks, as follows:
Creating and maintaining adjacencies
Creating and updating the pseudonode LSP
Flooding the LSPs over the LAN
The following lists the main steps in the flooding process:
On receipt of a CSNP, the router compares each compressed LSP with the link-state database.
If the database has a newer version of the LSP sent in the CSNP, or if there is no instance of the LSP in the CSNP, the router multicasts the LSP onto the LAN.
If the database is missing an LSP that was in the CSNP, it sends a PSNP requesting the full LSP. Although the router multicasts, it is only the DIS that takes action.
Figure 11-1 summarizes the flow of CSNPs and PSNPs on broadcast and point-to-point links.
Figure 11-1. The Propagation of CSNPs and PSNPs
Determining Whether the LSP in the Database Is Valid
The LSP contains three fields that help determine whether the LSP that has been received is more recent than that held in the database, and whether it is intact or has been corrupted. These three fields are as follows:
Remaining Lifetime This is used to age-out old LSPs. If an LSP has been in the database for 20 minutes, it is assumed that the originating router has died. The refresh timer is set to 15 minutes.
If the lifetime expires, the LSP has the content removed, leaving only the header. The lifetime is set to show that it is a new LSP, and then it is flooded through the network. All receiving routers accept the mutilated LSP, recognize that this means the route is bad, and purge the existing LSP from their databases.
Sequence Number This is an unsigned 32-bit linear number. The first LSP is allocated the sequence number 1, and the following LSPs are incremented by 1.
Checksum If a router receives an LSP and the checksum does not compute correctly, the LSP is flushed and the lifetime is set to 0. The router floods the LSP, all routers purge the LSP, and the originating router retransmits a new LSP.
The Decision Process
After the link-state databases have been synchronized, it is necessary to decide which path to take to reach the destination. Because the routers and hosts may have multiple connections to each other, there may be many paths from which to choose.
To make the decision as to the best path, link-state protocols employ the algorithm defined by Dijkstra. This algorithm is extremely complex, but its core function is to create a tree that mirrors the shortest paths to all destinations. Each router builds a shortest path tree with itself as the root. This is achieved by taking all the LSPs from the link-state database and using the Dijkstra algorithm to create the shortest path tree (SPT). The SPT is used in turn to create the forwarding table, also known as the routing table.
Several tables are created during this procedure. The PATH table is the SPT during construction, and the TENT is a tentative database (a scratchpad).
The steps by which the router's SPT and the forwarding database are built are as follows:
- Step 1. The router places itself at the root in the PATH table.
- Step 2. The SPF takes each LSP from the link-state database and selects the best or shortest path by considering the metric for each path in turn. The lowest metric is selected as the shortest path.
- Step 3. The decision process looks at LSP for the node just placed in the PATH table. The metric cost of getting to the node is added to the cost shown in LSP (the cost from the node to the destination advertised). If this path is not already in PATH or TENT with a better cost, put it in TENT.
- Step 4. If the TENT table is empty, stop.
- Step 5. If the TENT table is not empty, find the lowest-cost entry and move the PATH to the TENT table.
- Step 6. The router then returns to step 2 and repeats the remaining steps.
If there is more than one path to a remote destination, the criteria by which the lowest cost paths are selected and placed in the forwarding database are as follows:
If there is more than one path with the lowest value metric, Cisco equipment places up to six equal-cost paths into the table. The default number of equal-cost paths is four.
Optional metrics are chosen before the default metric, but because Cisco supports only the default metric, this is a moot point.
Internal paths are chosen before external paths, because going outside the autonomous system is likely to be a suboptimal route and might be the result of a routing loop.
Level 1 paths within the area are more attractive. If the path is within the area, not only is it more efficient to route directly to it, but also going outside the area and returning can be the cause of a routing loop, demanding greater resources and time.
The address with the longest match or most specific address in IP is the address with the longest IP subnet mask. This ensures that the closest router is chosen, because prefix routing is configured by summarization that can occur only on area boundaries.
Type of Service (ToS) is a field in the IP header that allows for complex routing decisions to be made by adding another level of criteria to the decision process. If ToS has been configured, the path with ToS is chosen over those paths with no ToS.
If multiple paths have ToS configured, the path with the shortest route is selected.
If the ToS is the same, up to six entries are placed into the forwarding database and the routers load balance between them.
If there is no path, the forwarding database sends the packet to the nearest Level 2 router, which is the default router.
The metric defines the cost of the path. Integrated IS-IS has four metrics, only one of which is required and supported. The metrics defined in ISO 10589 are as follows:
Default Sometimes referred to as cost. Every Integrated IS-IS router must support this metric. Cisco set the default for all interfaces to be 10.
Delay This optional metric reflects the transit delay.
Expense This optional metric reflects the monetary expense of the network.
Error The reliability of the path is determined as the metric.
The ISO metrics are configured on the outgoing interface using an integer value between 0 and 63. A 10-bit field describes the total path to a destination, allowing a value between 0 and 1023. Considering this to be inadequate, Cisco increased the metric size to be 24 bits. The default configuration is using the 6-bit or narrow metric. This metric is the original metric that acquired the name narrow only after the wide metric was defined.
In determining the shortest path, the lowest metric is chosen, internal paths are chosen over external paths, and Level 1 routes have precedence over Level 2 routes.
The default or cost metric is the only metric supported by Cisco, because each metric used in Integrated IS-IS requires a different link-state database calculation for both the Level 1 and Level 2 routes.
Other rules have little to do with the decision process but are responsible for ensuring the LSPs are valid. Essentially , Integrated IS-IS ignores incomplete fragments . Any fragmented packet entering the router is ignored if there is no starting fragment with the packet header (because this indicates packet loss or corruption). The O fragment also defines whether the OL bit is set, the Integrated IS-IS type, and whether there are entries in the Area Address options field. Although this does not eliminate the reassembly of corrupted packets, it certainly reduces the load.
The Forwarding and Receive Processes
The IP subnets are carried in the LSPs in the IP Reachability TLV (code 128) and are treated in the same manner as the OSI addresses. The decision process for building the SPT is the routing decision.
After the SPT has been built, the forwarding database can be created. The forwarding table is essentially a lookup table for the longest match, where load balancing occurs on multiple equal-cost paths. The forwarding table for Integrated IS-IS is more relevant to CLNS than to IP because the IP routing information is entered directly into the IP routing table, where IP routes are leaves on the tree of IS-IS.
Although the forwarding database is concerned solely with forwarding the data, it selects the longest match and load balances across equal-cost links.
If the frame is valid, the receive process passes user data and error reports to the forwarding process, whereas routing information Hellos, LSPs, and SNPs are sent to the update process.
The receive process is not described in depth here because it is primarily concerned with CLNS routing and does not concern IP. A detailed description is given in the ISO 10589 standards document.
Integrated IS-IS Design Considerations
Optimizing the network depends on careful planning and design. Although each network is constrained by physical and technical limitations, you must strive to design your network to meet the needs of its users and accommodate the demands of various applications.
In Integrated IS-IS, the fundamental design considerations are areas and addressing. The next sections describe the Integrated IS-IS design considerations of area design, route summarization, and nonbroadcast multiaccess (NBMA) modeling solutions.
Area Design of Integrated IS-IS Routers
When designing a network, you have to compromise. Typically, the trade-off is between reliability and speed. What is most efficient for the network is determined by the requirements of the network and the resources available.
In designing Integrated IS-IS networks and the hierarchical design, you need to consider the data flow in addition to the resources required by the routing protocol. Tuning the update process might be sufficient, although this results in the compromise of resources and reliability. If you reduce the update timers, the databases converge more quickly, but the network could be depleted of necessary resources to route data.
In area design, two SPF databases need to be maintained, which requires the use of additional resources for those routers that straddle more than one area, that is, Level 1-2 routers. The increased resources required are not only in terms of CPU and memory, but also in bandwidth for the propagation of LSPs.
Some typical designs include the following:
A totally flat network that uses only Level 1 routing. This design will not scale because any change in the network requires a flood of LSPs to all routers, which consequently run the SPF algorithm.
However, this simplified design has some advantages: There will be only one SPF database and no problem of suboptimal routing between areas.
A totally flat network using only Level 2 routing. As the network expands, Level 1 areas may be added. The Level 2 area has complete internal knowledge with the streamlined advantages of one SPF instance. The Level 1 area may well be a company connecting to the ISP, in which case the areas would be added as new customers came online.
A totally flat network using the Cisco default of every router running Level 1-2 routing. This allows for easy migration to a hierarchical design and overcomes the problem of suboptimal routing. However, this design requires resources to maintain two SPF databases.
A hierarchical network where the core is running Level 2 routing, with Level 1 areas connecting into the core. Level 1-2 routers are used to connect the areas. Although this is an excellent design, using the strengths of IS-IS, there are still concerns that should be considered . This design results in the use of additional resources and the possibility of suboptimal routing. Configuring the metric for the outbound interface determines the routing decision. This requires a careful knowledge of the topology of the network to ensure that the problem is not compounded. Recent developments have allowed for route leaking to be created, which allows the Level 2 routers to pass some specific routing information into Level 1. This facilitates the optimal routing decision to be selected.
By default, Cisco routers running Integrated IS-IS operate as Level 1-2 routers. You can configure the router to reflect a true Level 1 and Level 2 design, but the default operation overcomes many potential pitfalls, including the following:
Area partitions In hierarchical routing between areas, if there is a loss of connection between the Level 1 router and the Level 2 router, the subarea could be completely annexed unless there is an alternative route.
Loss of data If the area becomes partitioned, a section of the network becomes unavailable through a loss of connectivity.
Suboptimal routing decisions Level 1 areas have knowledge only of networks within their own areas. To reach another area, packets are sent to the nearest Level 2 router. Without additional configuration, the Level 1 router determines the nearest Level 2 router to be the one with the lowest metric, which translates to the lowest hop count. The metrics used are the default metric of 10, regardless of the bandwidth.
Summarization has many advantages. It reduces the resource needs of the network and hides network problems within an area. If the router is unaware of a change or problem in the network, the databases are not updated or recalculated, reducing the resources required for SPF calculations. The more details the router knows about the network, the more the router must do to maintain an accurate knowledge of that network; that is, anytime it fails to hear an LSP, however remote and small its detail of the network, the entire network must flood LSPs and recalculate the SPT. Summarization allows the areas to manage the internal knowledge of the network and to summarize that knowledge across area boundaries. The summarization command is given in Chapter 12, "Configuring Integrated IS-IS."
The rules for summarization using OSPF in multiple areas apply to Integrated IS-IS. The rules for summarizing IP routes in Integrated IS-IS are as follows:
Level 1-2 routers can summarize the routes held within their area. The summarized routes are propagated to a Level 2 router. This is an efficient method of establishing prefix routing into other areas. The summarization is configured at the Level 1-2 router at the edge of the area. This is similar to the OSPF summarization by the ABR.
If one Level 1-2 router has route summarization configured, you must configure route summarization on every Level 1-2 router injecting updates into Level 2. If one router is advertising without summarization, all traffic destined for the area is sent to that router because Integrated IS-IS uses longest-match routing. Therefore, the router advertising the more specific route is the chosen one. This is true of Level 1-2 routers sharing the same Level 1 area.
Level 1 routes cannot be summarized within the area because this is not permitted by the protocol.
Integrated IS-IS NBMA Modeling Solutions in a Switched WAN Network
In the good old days, eight or more years ago, most organizations had a broadcast network (such as Ethernet) for the LAN and point-to-point links (such as a serial link) for the WAN. The broadcast link was multiaccess and the point-to-point link connected two systems, typically over a very low bandwidth link. Accommodating these different technologies when building a routing protocol made sense, but technologies have developed in complexity since then, particularly in the WAN environment.
Frame Relay and ATM are examples of NBMA networks. NBMA networks are not accommodated in Integrated IS-IS. OSPF has a point-to-multipoint configuration option, but Integrated IS-IS does not. The options are to use a multipoint configuration (which equates to a full mesh using broadcast technology), point-to-point subinterfaces, or a combination of both. The recommended solution is point-to-point subinterfaces, although it is possible to configure the interfaces as multipoint.