IS-IS Network Design Solutions
IS-IS Network Design Solutions
Part I: IS-IS
Protocol: Design Specification and
Features
Part I IS-IS Protocol: Design Specification and Features
TCP and UDP provide transport for applications and run over the IP
layer. ICMP is a control protocol that works alongside IP at the
network layer. ARP provides address resolution between the network
layer and the underlying data link layer. Numerous applications use
the transport services of TCP and UDP. Some common examples
include the following:
ESSENTIALS OF IP ADDRESSING
Addressing and routing are inextricably linked. To provide a datagram
(packet) delivery service, IP needs to have an addressing scheme to
denote the source of a packet and its intended destination. Having a
native addressing scheme enables IP, which operates at Layer 3, to be
independent of the underlying LAN or wide-area network (WAN)
transport medium. The original architects of the IP protocol chose a
32-bit addressing scheme, which in raw value allows
232 (4,294,967,295) unique host addresses to be defined.
10.0.0.0 – 10.255.255.255
172.16.0.0 – 172.31.255.255
192.168.0.0 – 192.168.255.255
IGRP EIGRP
Integrated IS-IS
OSPF
BGP
Classful Routing
Classless Routing Protocols
Protocols
All the routing protocols listed in the preceding section, with the
exception of BGP, are optimized for intradomain functionality.
Intradomain routing protocols typically do not offer flexibility for
policy implementation and also cannot deal with a large number of
routes, such as in the global Internet routing table. Obviously, more
complex policies will be required to control the exchange of routing
information between two separate domains, and this is certainly what
BGP is optimized for.
OSPF also originated from the IETF and is probably the most popular
and well-understood IGP because of its originality as an IP protocol
and extensive coverage in internetworking literature. OSPF has
evolved over time into a robust protocol, acquiring the necessary
capabilities to build complex routing infrastructures in both enterprise
and service provider environments. Although the entirety of the OSPF
protocol is complex, its basic concepts and capabilities are not
difficult to understand and configure on Cisco routers.
Integrated IS-IS
This book is about the IS-IS protocol and the following chapters
provide insights into this protocol's innards and capabilities. IS-IS
(ISO 10589) was originally specified by the International
Telecommunications Union (ITU), formally the International
Organization for Standardization (ISO), as a routing protocol for
connectionless network layer protocol (CLNP). IS-IS was first
implemented for routing within the DECnet Phase V architecture at
Digital Equipment Corporation (DEC). It was later adapted to support
IP routing by the IETF in RFC 1195. Despite their different functional
designs and origins, IS-IS and OSPF share a lot in common. Both are
link-state protocols and use the SPF algorithm for route computation.
Unicast routing
Multicast routing
Unicast Routing
As mentioned previously, the essence of IP unicast routing is to help
routers figure out the next hop to pass on packets, along the best path
to a target destination. Choice of the best path is determined by
choosing the path with the lowest cost. This best path determination
boils down to determination of the data-link or MAC address of the
next hop. Each non-directly connected entry in the routing table
consists of a prefix, the IP address of the next hop, and the outgoing
interface to the next hop.
Process Switching
Process switching refers to switching packets by queuing them to the
CPU on the route processor at the process level. In this case, every
packet-switching request is queued alongside other applications and
serviced, in turn, by the CPU on the route processor. The CPU
performs route lookup for every packet to determine the Layer 2
rewrite string before the packet is switched to the next hop or
destination. Obviously, process switching is slow and can be CPU-
intensive. Process switching is illustrated in Figure 1-10.
Figure 1-10. Illustration of process switching.
Fast Switching
Fast switching is an enhancement of process switching in which any
packet-switching request is first performed at the process level, and
the Layer 2 rewrite information obtained is cached for reuse. When
fast switching is enabled, the CPU receives an interrupt for any
forwarding request to check the IP cache for a matching entry to the
destination. If an entry is found, the Layer 2 rewrite is retrieved and
the packet is switched immediately. If no entry exists, the packet is
queued for process switching. After it is process switched, the Layer 2
rewrite is then cached for reuse. Note that the fast-switching cache is
built by process switching the first packet to any destination. Figure 1-
11 shows the fast-switching process.
Figure 1-11. Illustration of fast switching.
COMMENTS ON IPV6
Depletion of the IPv4 address space has been steep with the
tremendous growth of the Internet. Efficient and innovative schemes
for controlling address usage, such as CIDR, Network Address
Translation (NAT), and Dynamic Host Configuration Protocol
(DHCP), have helped contain the problem. A limitation of IPv4 is
challenges with renumbering, especially in cases where a medium-size
network changes service providers. IPv4 addresses are assigned to
service providers and portability is an issue. The inability of many
sites to renumber as they migrate their networks to new service
providers has led to severe fragmentation of the IPv4 address space,
exacerbating the already high growth rate of the global Internet
routing table. The growth of the Internet routing table and the
increasing number of prefixes carried within service provider
networks place undue demand for memory and route computation
resources on Internet routers. These issues and many other limitations
of IPv4 led to several enhancement proposals. These proposals were
eventually consolidated into the IETF standard IPv6. In tackling one
of the critical limitations of IPv4 (size of the address space), IPv6
proposes a larger 128-bit address size, compared to the 32-bit size of
IPv4 addresses. Presumably, the four-times larger address should be
large enough to support predicted future growth of the Internet. It
might be interesting to note that IPv6 does not completely overhaul
the IPv4 architecture but rather improves it in the following key areas:
The three important protocols used on the Internet (BGP, IS-IS, and
OSPF), as well as RIP, are being enhanced to support IPv6.
IPv6 Addressing
IPv6 retains the IPv4 notions of unicast and multicast addressing but
removes the concept of broadcast addressing while introducing
another type of address, referred to as anycast. The functions of
broadcast addresses have been folded into those of multicast
addresses. An anycast address represents a group of addresses, where
data to the group is delivered to only one of the addresses in the
group. Anycast addresses cannot be used as data sources and should
be assigned only to routers.
SUMMARY
This broad chapter on IP routing concepts provides readers with an
overview of IP routing protocols and an understanding of the
underlying mechanisms involved in routing packets generally in any
IP network and specifically on Cisco routers.
CLNP
The Connectionless Network Protocol is similar to the Internet
Protocol (IP), but specified for providing network services for ISO
transport protocols rather than the transport protocols in the TCP/IP
suite. Like IP, CLNP is defined to rely minimally on the underlying
data link layer, which makes it virtually independent of the underlying
physical medium. The physical medium can be either point-to-point
(as is the case with most wide-area network [WAN] connectivity) or
broadcast (as in local-area network [LAN] connectivity). Unlike IP,
however, which is the only network layer protocol of TCP/IP and
ultimately encapsulates all higher layer protocols, including routing
and user applications, CLNP coexists at the network layer, ES-IS and
ES-IS, all of which are defined to support the ISO CLNS
environment. That is, CLNP, ES-IS, and IS-IS are all network layer
protocols and are encapsulated independently in data-link frames. The
ISO network layer protocol family is identified at the data-link layer
by protocol type 0xFEFE.
This book does not delve into CLNP further, except to the extent that
it pertains to the subject matter at hand: the IS-IS routing protocol.
ES-IS
The End System-to-Intermediate System (ES-IS) routing exchange
protocol automates information exchange and facilitates adjacency
discovery between ISO end systems and routers connected to the same
network segment or link. The routers transmit intermediate system
hello (ISH) messages and the hosts transmit end system hello (ESH)
messages as part of the ES-IS protocol. The hellos, which are
transmitted between directly connected nodes, convey network and
data-link addresses of the communicating nodes. The hellos are also
referred to as configuration information. The end systems forward
packets to nonconnected devices through the routers.
Another type of packet used within the ES-IS protocol is called route
redirection (RD). A route redirection packet is sent by a router to an
end system to inform it of a better path to reach a specific destination
of interest. The function of ISO RDs is similar to those of Internet
Control Message Protocol (ICMP) redirects used in IP environments.
Basically, the operation of the ES-IS protocol between routers and end
systems in the ISO environment can be related to the combined
operation of the ICMP, Address Resolution Protocol (ARP), and
Dynamic Host Configuration Protocol (DHCP) within the IP
framework.
Integrated IS-IS
The Internet Engineering Task Force (IETF) RFC 1195, “Use of OSI
IS-IS for Routing in TCP/IP and Dual Environments,” specifies the
version of the IS-IS protocol, commonly known as Integrated IS-
IS or Dual IS-IS. Integrated IS-IS adapts the original IS-IS protocol
that was specified for CLNS environments, for also routing IP. It is
interesting to note that Integrated IS-IS is one of few protocols that
provides an integrated framework for concurrent processing of more
than one network layer protocol; in this case, IP and CLNP. Other
routing protocols, such as the OSPF, usually support routing for only
one type Layer 3 protocol. OSPF deals only with routing for IP.
Integrated IS-IS can be used for routing in CLNP-only or IP-only
networks, as well as in dual environments, which have both CLNP
and IP traffic.
For now, just remember that each IS-IS router has a unique
SysID, which together with the area ID and an N-selector value
of 0x00 forms a special NSAP known as the node's network
entity title (NET).
This section briefly reviews the types of packets used in the IS-
IS protocol and their general format. IS-IS packets have three
categories: hello packets, link-state packets, and sequence
number packets. Hello packets are used to establish and
maintain adjacencies between IS-IS neighbors. Link-state
packets are used to distribute routing information between IS-
IS nodes. Sequence number packets are used to control
distribution of link-state packets, essentially providing
mechanisms for synchronization of the distributed Link-State
databases on the routers in an IS-IS routing area.
The Type, Length, and Value attributes of TLV fields have the
following meaning:
Not Specified 7
NOTE
IS-IS Adjacencies
Directly connected routers enabled for IS-IS routing go beyond
the ES-IS adjacencies described in the preceding section to form
IS-IS adjacencies. The IS-IS adjacencies on point-to-point links
are formed and maintained a little differently than on broadcast
links. Consequently, different types of IS-IS hellos (IIHs) are
used. The three types of IIHs follow:
Like all IS-IS packets, the IS-IS hello packets are made up of
headers and variable-length fields. The point-to-point IIHs and
LAN IIHs have slightly varied information in their header area.
Mostly, however, similar information is contained in the header
area of both packet types except that point-to-point IIHs have a
local circuit ID in place of the LAN ID in LAN IIHs. Also, point-
to-point IIHs do not have the priority information found in LAN
IIHs. As specified in ISO 10589, TLV types used in point-to-
point IIHs are limited to the following:
NOTE
Length: 5 to 17 octets
The IS-IS PDU types for LAN Level 1 and Level 2 packets are 15
and 16, respectively. Example 3-1shows a sample trace capture
of a LAN Level 1 hello frame. The example displays a source
address of 0x00D058F78941 and a destination or destination
address of 0x0180C2000014. The target address is the AllL1IS
address.
Example 3-1. Trace of IS-IS LAN Level 1 Hello
IGRP 100
EIGRP Internal 90
OSPF 110
BGP Internal 20
Table 3-3. Administrative Distances of Routing Protocols
Static to Interface 1
Connected 0
NSAP addresses are not fixed in length and can be up to 160 bits
(20 bytes) long compared to the fixed 32 bits (4 bytes) of IP
addresses. ISO 8348/AD2 specifies a hierarchical scheme for
defining global and public NSAP addresses. The following are
the seven top-level addressing domains:
As said before, the value of the AFI also determines the syntax
of the DSP. The DSP syntax can be in binary octets, decimal
digits, or even characters.
Table 4-1 shows the AFI values for various top-level address
domains and DSP syntax types. For example, AFI 47 refers to
the ISO 6523 ICD addressing domain and indicates a binary
syntax for the DSP. Similarly, AFI 39 refers to the ISO DCC
addressing domain and binary syntax for the DSP.
Table 4-1. AFI Values for Address Domains and DSP Syntax
Types
X.121 36 37
ISO DCC 38 39
F.69 40 41
Table 4-1. AFI Values for Address Domains and DSP Syntax
Types
E.163 42 43
E.164 44 45
Local 48 49 50
47.0005.80123456000089AB001.AABBCCDDEEFF.00
^ ^ ^ ^
AFI IDI AREA SYSID
The Area ID field consists of the AFI (first byte) and all
subsequent fields up to the beginning of the System ID section.
The Area ID field has variable length. The length of the System
ID field is specified to be 1 to 8 bytes. The NSEL is the last byte.
The maximum size of the NSAP address in the simplified format
remains 20 bytes.
NOTE
49.0001.0000.0000.0001.00
^ ^ ^
Area ID SysID NSEL
When using IS-IS for IP routing, you can follow the simplified
NSAP format to create a simple Area ID without regard for
other details, such as IDI, domain, and details of the area
information. In the preceding example, an AFI value of 49 is
prefixed to the intended area information (0001) to form the
Area ID (49.0001). Recall from Table 4-1 that the AFI value of
49 is designated for local private use similar to the reserved
private address space specified in RFC 1618. The next characters
after the AFI are in hexadecimal format; the first 12 digits
represent the 6-byte SysID and the last 2 digits represent the
NSEL byte.
BGP has stood the test of time to emerge as the only viable
protocol for exchanging routing information between the many
ASs that form the Internet. In the early days of the Internet, an
alternative routing protocol based on CLNP called Interdomain
Routing Protocol (IDRP) was proposed, but it was not widely
adopted because of the ubiquity of IP and its dominance over
CLNP. BGP provides flexible routing policies for controlling
routing information within an AS, as well as outbound and
inbound routing information. IS-IS belongs to the class of
routing protocols called Interior Gateway Protocols
(IGPs), which work alongside BGP and provide supportive roles
for routing in an AS. Typically, all the autonomous systems on
the Internet run BGP and an IGP (IS-IS or OSPF). However, all
the instances of IGPs running in the different network domains
that constitute the Internet are isolated from each other. Only
BGP is used for exchanging routing information between ASs.
Therefore, a service provider can freely choose any type of IGP
to use within its AS. When IS-IS is used as an IGP, the required
NSAPs can be based on the simplified format because they do
not need to be globally unique—just as private IP addresses can
be defined on the internal links in an AS without any significant
external implications except breaking Traceroutes and Pings to
and from remote networks. Globally unique NSAP addresses do
make sense, however, for interconnected telecommunications
systems, such as ATM switches, SONET/SDH Add Drop
Multiplexers (ADM), and any devices that use CLNP-based
applications for global connectivity. Besides OSPF, IS-IS is one
of the most widely deployed IGPs in ISP networks. There are
many reasons for this: historical reasons based on specific
practical experience, troubleshooting simplicity, perceived
robustness and fast convergence, or mere subjective
convenience. As indicated, even though globally unique NSAP
addresses are not required to run IS-IS in an Internet AS for the
current application, most service providers have deployed 20-
byte globally unique addresses.
ISO NSAP Addressing Authorities
Currently, the Cisco IOS CLI does not provide formatting help
during entry of the NSAP in a router configuration. Knowledge
of field boundaries in the NSAP addressing architecture by
network operators is, therefore, critical for configuring NSAPs
and enabling IS-IS on Cisco routers.
DEFINING THE SYSTEM ID
NOTE
Interface Loopback 0
IP address 192.168.1.24
Router isis
Net 49.0001.1921.6800.1024.00
Step 1. Each octet in the dotted-decimal notation of the loopback IP address that
prefixed with zeros, padding it to three digits, as follows:
Step 2. After Step 1, you have 12 digits, which you can easily rearrange into thre
follows:
Step 3. 1921.6800.1024 can then be used as the unique SysID of the router. The
suffix are added to obtain the complete NSAP address, as shown in Exam
Example 4-6. Obtaining the Complete NSAP Address
RTA#
Interface Loopback 0
Ip address 192.168.1.24
Router isis
Net 49.0001.1921.6800.1024.00
Net 49.0002.1921.6800.1024.00
The NSEL field specifies a user of the network layer service. The
routing layer is regarded as a special user of network layer
services and is assigned a value of zero for the NSEL.
The NSAP configured on IS-IS routers always uses 0x00 for the
NSEL; such addresses are also referred to as network entity
titles (NETs). NSEL values have the same connotation as the
Protocol Identifier in Layer 2 addresses or TCP port numbers.
The NSEL value assists the network layer in handing off
datagrams to the appropriate application or service user.
According to the OSI layering scheme, the basic user of network
layer services is the transport layer. CLNP data packets that are
not meant for the routing process have target NSAP addresses
with non-zero NSEL values to indicate the network service user
at the transport layer. This does not apply to IP packets that are
routed based on an IP destination address. For example, the
NSEL value of 0x21 identifies the transport layer of DECNet
Phase IV and a value of 0x22 for OSI Transport Layer TP4. OSI
TP4 is implemented in DECNet Phase V (see Table 4-2). The
transport layer then ultimately hands off to a higher protocol
layer, possibly to the end application.
NSAP Examples
47.0001.aaaa.bbbb.cccc.00
Area = 47.0001, SysID = aaaa.bbbb.cccc, NSel = 00
39.0f01.0002.0000.0c00.1111.00
Area = 39.0f01.0002, SysID = 0000.0c00.1111, NSel = 00
49.0002.0000.0000 .0007.00
Area = 49.0002, SysID = 0000.0000.0007, Nsel = 00
Example 4-11 shows RTA and RTB configured with static CLNP
host statements that enable the routers to resolve each other's
NSAP (actually the SysID) to the corresponding name. This
allows a router's name to be used in place of the SysID
component in the Link-State Packet Identifier (LSP ID),
providing tremendous convenience when troubleshooting
or reviewing entries in the IS-IS Link-State database.
Example 4-11. Static Host Name–to–NSAP Address Mapping
RTA
Router isis
Net 49.0001.1111.2222.3333.00
Area information
Adjacent routers
IP subnets
Metric information
Authentication information
The information contained in an LSP represents a partial view
of the entire topology of the local area. You might recall from
previous chapters that the original specifications of IS-IS (ISO
10589 and RFC 1195) require each router in an IS-IS routing
domain to be tied to at least one parent area.
NOTE
LSPs learned from neighbors in the same area are stored locally
on each router in the Level 1 IS-IS Link-State database. Each
area in an IS-IS domain has its own unique Level 1 Link-State
database. It is a key requirement of link-state protocols such as
IS-IS that all routers in an area receive and assemble all intra-
area LSPs into identical Link-State databases that represent the
topology of the area. Each router then runs the shortest path
first (SPF) algorithm over its database to obtain best paths for
destinations within the area.
Hello packets
LSPs
SNPs
Level 1 and Level 2 LSPs are similar in format even though each
type of packet carries information for different levels of the IS-
IS routing hierarchy. This section reviews the generic LSP
packet format and identifies differences between Level 1 and
Level 2 LSPs. It also looks at the TLVs associated with each type
of LSP.
Link-State Packet Format
Figure 5-5 shows the LSP structure. The size of the SysID is 6
bytes, with a 1-byte Pseudonode ID and a 1-byte LSP number
appended.
Figure 5-5. Structure of the LSP ID.
This show isis database output contains two LSPs from RTA in
the Level 1 database, represented by RTA.00-00 and RTA.01-
00, respectively. Even though generated by the same router,
each LSP has a different pseudonode number in its LSP ID.
RTA.00-00, which has a zero pseudonode number and is RTA's
own regular LSP. RTA.01-00 has a non-zero Pseudonode ID,
and therefore represents a pseudonode LSP generated for
a LAN on which RTA is the DIS. The pseudonode LSP lists all
known routers connected to the LAN, whereas a router's own
LSP carries information such as adjacent neighbors on all
interfaces, IP prefix information, and so on.
Link-State Packet Sequence Number
Step 1. The total number of possible sequence number adjustments, counting fro
4,294,967,295.
Step 3. The resulting value from Step 2 is converted into years, as follows:
Even accounting for leap years, it will take more than 4000
years for a router that is continuously generating its LSP
(unrealistically) to overrun the Sequence Number field.
When a router receives what looks like a copy of its LSP but
with corrupted information, it tries to purge it from the network
by flooding a newer LSP with current link-state information and
a higher sequence number than that of the corrupted LSPs. All
other routers in the area then receive and install the newer LSP,
thus purging the older LSP from their databases. In general, any
router that detects a corrupted LSP initiates a purge by flooding
a copy with the remaining lifetime reset to 0. This action
effectively causes other routers in the area also to purge the
LSP. Corrupted LSPs are not used in routing calculations or
reflooded as is. If the originator is still connected to the area, it
originates and refloods a valid copy of the LSP.
This section looks at the bit fields in the last byte of the LSP
header. These fields include the 1-bit Partition field, the 4-bit
Attached field, the 1-bit Overload field, and the 2-bitIS Type
field.
The virtual link provides the Level 1 repair path through the
backbone. The partition-designated routers advertise the virtual
adjacencies by setting the partition bit in their Level 1 LSPs,
thus signaling the existence of the virtual link to Level 1 routers
for forwarding data between the partitions. Figure 5-7illustrates
area partition repair. Details regarding detection of an area
partition, election of partition-designated routers, and
establishment of virtual links are beyond the scope of this book.
(For more complete coverage, refer to ISO 10589.) Partition
repair is an optional capability in IS-IS and is currently not
supported in Cisco IOS Software. Cisco routers enabled for IS-
IS routing, therefore, always set the partition bit in their LSPs to
zero and also ignore the partition bit if it is set in any received
LSPs. Consequently, the partition bit has no relevance to the
operation of Integrated IS-IS on Cisco routers.
Figure 5-7. Area partition repair.
Attached— The 4-bit Attached field is set by Level 2 routers in
their Level 1 LSPs to indicate to same-area Level 1 routers that
they are connected in other areas. Connectivity to another area
in the domain essentially implies attachment to the backbone.
IS-IS areas, as specified in ISO 10589, are stubs, and Level 1
routers forward packets to other areas in the domain through
the closest Level 2 router. Level 2 routers in an area advertise
themselves to the Level 1 routers by setting the attach bits in
their Level 1 LSPs. Even though the attached bits are specified
in both Level 1 and Level 2 LSPs, they are relevant only in the
Level 1 routing framework. The 4 bits also allow an IS-IS router
to indicate which of the 4 metric types are supported for
attaching to the backbone. Each bit is dedicated to a specific
type of metric (see Table 5-1). The four types of metrics
supported by the IS-IS protocol (default, delay, expense, and
error) is discussed in detail in Chapter 3. These metrics are
designed for quality-of-service application. Only the default
metric is supported in Cisco IOS Software.
Overload— Bit 3 in the last byte of the LSP header signals the
resource availability stateof a router. If this bit is set, it indicates
an overload condition at the router. An overload condition
indicates the router's performance is inhibited by low memory
and processing resources. LSPs with the overload bit set are not
reflooded and also are not used in calculating paths through the
overloaded router. This means that the overloaded router is
circumvented for transit traffic; however, paths in which the
overloaded router is the last hop are calculated. The Cisco IOS
command set-overload-bit allows manual setting of the
overload bit. The overload bit can be leveraged to deliberately
prevent transit traffic from flowing through a specific router.
This is discussed further in Chapter 7.
IS Type— The IS Type bits in the LSP indicate whether the LSP
is from a Level 1 or Level 2 router. This essentially indicates the
target Link-State database for storing the LSP. The possible bit
settings for the IS Type field are shown in Table 5-2.
Table 5-2. IS Type Field Settings
00 00000000 Unused
01 00000001 Level-1
10 00000010 Unused
11 00000011 Level-2
Table 5-3 lists the TLVs specified in ISO 10589 and RFC 1195 to
support the IS-IS Level 1 routing environment. TLVs (Type,
Length, Value) fields also are referred to as CLV (Code, Length,
Value) fields in the previously mentioned standards. TLV is
used because it is more common in recent literature and IETF
publications. The End System Neighbors information TLV
(Type 3) is bolded because it is specific only to the Level 1
routing environment.
1 – Clear-text password
6 × 2 = 12 bytes.
Table 5-4 lists the Level 2 TLVs, which are the subject of this
section. The blocked TLVs are available only in Level 2 LSPs.
The others are shared TLVs and can be used in both Level 1 and
Level 2 LSPs (refer to Table 5-3). As in Table 5-3, the TLV type
and the standard in which a TLV was originally specified are
shown in this table.
ISO
Area Address 1
10589
ISO
Intermediate System Neighbors 2
10589
ISO
Prefix Neighbors 5
10589
ISO
Authentication Information 10
10589
0 – Reserved.
Bit 8 (the S bit) of each metric byte indicates support for the
specific metric. For the default metric, this bit is reserved and is
always set to 0. In the case of the other metric types, if bit 8 is
set, the metric is unsupported. Bit 7 is this internal/external bit.
It is set to 0 to indicate that the specific metric is an internal
type and to 1 to indicate external type.
Two newly proposed LSP TLVs specify wider fields for the
default metric, allowing larger interface metric values than the
previous 63 maximum. This enhancement can be leveraged for
basic IP routing, as well as MPLS-based traffic engineering
applications. These new TLVs are as follows:
Extended Intermediate System Reachability TLV (Type 22)
Extended IP Reachability TLV (Type 135)
Type (1 byte)— 22
Length (1 byte)— Total length of the Value field
Value— 3 bytes of default metric
The 3 bytes of the metric field are used to encode the metric as a
24-bit unsigned integer. For practical purposes, a maximum
path value (0xFE000000) is specified to prevent computation
overflows by existing implementations of the SPF algorithm.
Also links with the maximum possible metric of 2^24 – 1 are to
be ignored in path calculations.
Example 5-6 shows an LSP with entries for TLV 22 and TLV 135
in italics captured on a Cisco router with the show isis database
detail command.
Example 5-6. LSP with Extended TLVs
CSNPs and PSNPs share the same packet format and each
carries a collection of LSP summaries. The basic difference
between them is that a CSNP advertised by a router contains
summaries of all the known LSPs in its database, whereas the
PSNP contains only a subset. Separate Level 1 and Level 2
CSNPs and PSNPs are generated to support the Level 1 and
Level 2 Link-State databases, respectively. For example, a Level
1 CSNP contains summaries of all the LSPs in the Level 1 Link-
State database.
Table 5-5 lists the types of TLVs in CSNPs: the LSP Entries TLV
and a TLV for authentication of the CSNP packet.
Table 5-5. TLVs Supported in CSNPs
Table 5-6 lists the TLVs that can be found in PSNP. These are
the same as those supported by CSNPs.
Example 5-7 shows that no SRM and SSN flags have been set for
any LSPs, meaning that there are no LSPs that are pending to be
flooded or that need to be acknowledged for any interface. This
command can be useful in troubleshooting situations of
congestion resulting from relatively large volumes of traffic
or lack of processing and bandwidth resources on routers in the
network.
Flooding over Point-to-Point Links
isis lsp-refresh-
LSP refresh interval 900 seconds
interval
LSP transmission 33
isis lsp-interval
interval milliseconds
SUMMARY
LSP copies are distributed in the Level 1 areas and the backbone
by a mechanism referred to as flooding. Control mechanisms
involving CSNPs, PSNPs, SRM and SSN flags, and various
timers are employed to assist flooding of LSPs and
synchronization of the Link-State database between routers.
NOTE
L = {(1, 2), (1, 3), (2, 3), (2, 4), (3, 2), (3, 4) (4, 5), (5, 3)}, for the
set of arcs
The next section shows the operation of the SPF algorithm for a
directed graph represented by G = (N, L), given a fixed vertex, s,
in the set N where
N— Set of vertices
L— Set of arcs
d(i, j)— Distance from vertex i to j, where
1. Initialization
Step 2. Find the next vertex vi not in P, which has L(vi) = min L(n), for all vi}. M
is vi.
Paths (P)— Set of vertices to which the shortest path has been
computed
In the final step, the least cost associated with every node in T is
updated relative to the most recent vertex promoted to P and
the next hop is also changed to that of the promoted vertex. An
existing least cost value is replaced only if the new valve is
lower.
Each router in the graph stores N LSPs, one from each node in
the area. Because each LSP contains information about
connected links and adjacent neighbors, the size of each LSP is
proportional to K, the number of connected links. Therefore,
each node needs storage space proportional to N*K links. That
is, memory requirements at each node is of the order O(N*K) or
O(L), where L is the total number of links. In a nonhighly
meshed environments, where L is of the same order as the
number of nodes (N), the memory requirements can be
estimated to be of the order O(N).
In Figure 6-2, bidirectional arrowed links are used for arcs and
to imply same cost between adjacent nodes in either direction.
This might not be the case in real networks. Specifically, IS-IS
does not require matching metric values in both directions for
the same link. The topology shown in Figure 6-2has five nodes
and seven links. The algorithm is performed using node 1 as the
reference node. In a real network, each node performs a similar
calculation by using itself as the reference. The goal is to obtain
the least cost (best) path from the source of the calculation to all
other nodes in the topology.
Node
Node 2 Node 3 Node 4 Node 5
1
L(1), L(5),
L(2),next L(3),next L(4),next
i P next next
hop hop hop
hop hop
{1,
1 - 2 (2) 1 (3) - -
3}
{1,
2 3, - 2 (2) - 3 (3) 6 (3)
2}
{1,
3 - - - 3 (3) 6 (3)
3,
Table 6-1. Example of Dijkstra's Calculation (s = 1)
Node
Node 2 Node 3 Node 4 Node 5
1
2,
4}
{1,
3,
4 2, - - - - 5 (3)
4,
5}
Table 6-1 shows the paths that are selected from the Tentative
set at every iteration in boldface. Only Nodes 2 and 3 are moved
to the Tentative set in iteration i = 1. Each path shows the
metric to the destination and the next hop. The next hops from
node 1 to nodes 2 and 3 are nodes 2 and 3 themselves because
they are directly connected.
Nodes that are not directly connected to s inherit the next hop
of their parents. For example, the best path to get to node 4 is
through node 3 with a cost of 3. The best path to node 5 is
through node 4; however, the parent of node 4 is node 3.
Therefore, node 3 becomes the next hop to get to node 5 from
node 1. Note that the next-hop computation expresses the
datagram forwarding paradigm, in which each node is
interested only in the next hop as it forwards a packet toward
the destination along the optimum path.
Explanation of Table 6-1 (SPF Calculation Example)
Figure 6-3 shows the resulting least cost topology, at the end of
the algorithm, as seen from the perspective of node 1. Nodes 2
and 3 are directly connected, but the best path to node 4 is
through node 3, and the best path to node 5 is through node 3
and then node 4.
Figure 6-3. Least-cost topology from node 1.
n = System ID
d(n) = Distance of n from the root system, s
Adj(n) = Set of valid adjacencies for n known by s
The entries on the PATHS lists at the end of each run of the SPF
process are only candidates for the routing table on the router.
The route processor expends some more cycles comparing the
IS-IS routes with similar routes (same prefixes) from other
sources, such as BGP, static routes, OSPF, and so on, and
installs the prefixes from the source with lowest administrative
distance in the routing table. The SPF tree computed by the
Dijkstra algorithm considers the routers as vertices with IP
addresses advertised by the routers as leaves. As a result, the
entire shortest path tree for network changes related only to IP
prefixes does not need to be recalculated. Instead, the router
runs a partial computation to find an alternative IP prefix if one
exists. Also, when best paths are selected, two or more similar
routes with worse metrics are kept as backup elements for use
as alternative routes in case the selected primary goes away.
This allows Cisco IOS to quickly find an alternative path when
any route change occurs. Because the topology of the network is
determined by the adjacencies advertised in the LSPs, the loss
of an adjacency implies a change in topology and, therefore,
subsequent scheduling of a complete SPF run. When a point-to-
point link goes down, for example, a router loses the adjacency
to the neighbor at the other end. This signals a change in
topology and, therefore, scheduling of a full SPF. However, a
broadcast interface, such as Ethernet, might have only an IP
subnet connecting to IP workstations, so losing that interface
can imply losing only the IP subnet and not necessarily an
adjacency because there might not be another IS-IS router on
the link. Because the IP subnet is only a leaf of the SPF tree, this
does not flag a change in network topology, and, therefore, only
PRC is run to find an alternative path.
SPF 5.5 10
PRC 2 5
LSP generation 0 5
isis spf-interval
isis prc-interval
isis lsp-gen-interval
Why must you always design with hierarchy in mind? The main
reason is that, ultimately, a flat network does not scale. For
example, in the case of IS-IS, as the network grows, increasing
the number of nodes increases the number of LSPs flooded,
which in turn increases the complexity and time taken for the
SPF computation.
The more nodes within the network, the more links there are,
the more LSPs that are flooded, the more information that SPF
has to deal with, the more CPU cycles required for route
computation, and so on. The most expensive part of the route
computation (SPF) is over the intra-area topology—therefore, it
makes sense to segment the network into smaller manageable
sections or areas. If this is done, there will be fewer nodes and
links in each area, and fewer LSPs will be flooded.
Consequently, the SPF process will have less information to deal
with during route computation, saving valuable CPU cycles for
other critical functions of the router.
Figure 7-5 shows how you can combine hierarchy and area
routing over the core, distribution, and access layers. Only Level
2 LSPs are flooded between the core and distribution layers.
The access layer devices in the same area as the distribution
routers receive and exchange only Level 1 LSPs with the
distribution routers. Designing the network this way protects
the core layer from instabilities within the access layer.
Figure 7-5. IS-IS hierarchy using area routing.
IP Addressing Layout
One of the main factors that determines how well an IGP scales
is the addressing layout planned into the network architecture.
This applies to any routing protocol regardless of whether it is
link-state or distance vector, intradomain or interdomain. If an
incorrect addressing scheme is used in the design and deployed
in the earlier phases of the implementation, there might be
challenges in the future to scale further. This section briefly
examines and highlights some of the issues that should be
considered when designing an IP addressing layout for use with
IS-IS.
Summarize from the access layer toward the core, by having the
distribution routers summarize each block of access layer
prefixes into shorter prefixes that are advertised into the core.
At the distribution router, you can summarize the four
advertisements coming from the access routers into a single
prefix (refer to Figure 7-6). The four access prefixes are hidden
from the core router, protecting the core router from any
instabilities that might arise on the access routers.
Figure 7-6. Summarizing from distribution to core.
You can also summarize at the distribution layer from the core
downstream toward the access layer. Typically, access devices
that attach to a distribution layer (or directly to the core)
require only a default route. In other scenarios, such as dual
homing, it may be necessary to take appropriate measures to
avoid any potential for suboptimal path selection. In Figure 7-7,
you can see that practically all core prefixes are summarized
into one advertisement—the default route. This is shown as a
prefix of all 0s—0.0.0.0/0.
Figure 7-7. Summarizing from distribution to access.
The primary objective of IP route summarization is to limit the
size of the routing table, which assists in scaling the network in
a stable manner. Designing an IP addressing scheme to be used
with Integrated IS-IS is no different from designing for any
other IGP. In summary, to achieve the objective of a successful,
scalable network, apply the design practices and principles
elaborated here. and plan carefully for future growth.
USING IS-IS AS AN IGP
Over the past few years, IS-IS has become increasingly more
popular for use as an IGP. Previously, IS-IS was more prevalent
in government and academic networks, the majority of which
were pure CLNS environments that did not carry IP prefix
information.
NOTE
NOTE
NOTE
Normally, the router sets the overload-bit in its LSP to warn all
other routers of an overload condition that would make it
potentially unreliable as transit. The capability is defined in the
original IS-IS specification but was never leveraged in actual
implementations. A recently introduced application of the
overload bit is for controlling interaction of IS-IS and BGP in
potential service-impacting situations.
Number of routers
Number of links
Number of internal and external routes
Stability of links
Flooding
Memory
Processing capacity (CPU)
IOS jitters these timers within some limits from the configured
values to ensure that routers do not refresh their LSPs at the
same time to prevent overloading the routers.
NOTE
In recent IOS releases, you have the option to set the holdtime
to a minimum value of 1 second. The following configuration
shows how to do this:
interface pos0/0
isis hello-interval minimal
NOTE
The LSP generation itself does not normally take more than a
few milliseconds. However, this also depends on the event for
which the new LSP is being generated.
The SPF runtime also includes the inserting of best routes into
the IP routing table. Note that packet forwarding continues
during SPF computation, based on the current contents of the
routing table.
Having discovered the old route from the old LSP of RTB, RTC
begins forwarding traffic to RTN through RTB, even though the
latter is yet to fully discover the entire topology and compute
routes. Traffic forwarded by RTC to RTB in these early stages
might be dropped, and RTC would have been better off using
the alternate path.
Most of the original work on the OSPF protocol was done and
documented by John Moy, who was then at Proteon, Inc. Moy
was chairman of IETF OSPF Working Group for many years.
Obviously, the many dedicated participants in the OSPF
working group meetings also contributed to the shaping of the
protocol in diverse ways.
Intermediate Router
System (IS)
Circuit Link
Designated Router
(BDR)
Complete Database
Sequence Description Packet
Number Packet (DBD)
(CSNP)
Partial Link-State
Sequence Acknowledgment
Number Packet or Request Packet
(PSNP)
Table 7-1. IS-IS Versus OSPF Terminology
Routing Autonomous
Domain System
No equivalent Advertising
in IS-IS Router
Common Grounds
IS-IS OSPF
IS-IS OSPF
IS-IS OSPF
operation.
IS-IS OSPF
IS-IS OSPF
Encapsulation
Packet Formats and Encoding Issues
Neighbor Discovery and Adjacency Maintenance
Distribution of Routing Information
Route Characteristics and Metric Information
Robustness and Reliability Issues
Network Architecture
Stabilility, Convergence, and Scalability
Security
Operations: Maintenance and Troubleshooting
Conclusions: Which Protocol Is Better?
Encapsulation
Because IS-IS runs over the data link, IS-IS hellos are
advertised to Layer 2 broadcast addresses (allL1ISs and
allL2ISs). On multipoint links such as Ethernet, the
corresponding broadcast addresses are 0180.C200.0014 and
0180.C200.0015. Because of their encapsulation in IP packets,
OSPF hellos are advertised to Layer 3 multicast addresses
AllSPFRouters (224.0.0.5) and AllDRouters (224.0.0.6).
Type of
IS-IS OSPF Comments
Interface
Link Types
IS-IS and OSPF support multiacess broadcast media, such as
Ethernet or similar media, in the same way. The same goes for
point-to-point links. OSPF additionally supports nonbroadcast
multiaccess (NBMA) media, such as ATM and Frame Relay.
OSPF can also model NBMA media as point-to-
multipoint. Table 7-6 shows a comparison of the link types
supported by the two protocols. IS-IS does not provide direct
support for NBMA media. When used in IS-IS networks, NBMA
media must be configured as Broadcast media if all nodes are
fully meshed. Alternatively, the individual PVCs can be
configured as point-to-point links. If the NBMA cloud is highly
meshed, IS-IS meshed groups can be used in conjunction with
point-to-point configuration to control excessive flooding.
Broadcast Broadcast
Point-to- Point-to-point
point
N/A Point-to-
multipoint
N/A Demand
Circuits
Forming Adjacencies
The essence of forming adjacencies with regards to link-state
protocols is to build a stateful relationship that is leveraged by
other protocol mechanisms to ensure consistency of relevant
link-state information between communicating neighbor
routers. The process of exchanging link-state information is also
known as database synchronization. There are significant
differences between IS-IS and OSPF in how routers form
adjacencies. IS-IS adjacencies are formed after 2-way (point-to-
point links) or 3-way (broadcast links) communication has been
established through the exchange of hellos. A recently published
IETF draft proposes a mechanism for 3-way handshake over
point-to-point links. A 3-way adjacency handshake is available
in Cisco IOS 12.0 S and other releases. IS-IS routers proceed to
synchronize their LS databases after they have become adjacent.
The potential for transient routing problems when adjacency
formation precedes database synchronization can be resolved
through the use of the IS-IS overload bit.
Both IS-IS and OSPF use the same SPF algorithm for route
computation, so they should have comparable convergence
times, everything being equal. However, because IS-
IS propagates IP routes within an architectural framework
designed for the ISO node-based addressing scheme, IP prefixes
end up as leaf nodes in the SPF tree. This provides greater
opportunities for IS-IS to perform only the less CPU-intensive
partial route calculation when network events do not affect the
basic topology but only IP prefixes. OSPF is built around links,
and any IP prefix change in an area will trigger a full SPF. With
OSPF, only changes in interarea and external routes result in
partial SPF calculations. Consequently, IS-IS PRC is more
pervasive than OSPFs partial SPF runs. This difference allows
IS-IS to be more tolerant of larger single area domains whereas
OSPF forces hierarchical designs for relatively smaller
networks. This seeming advantage allowed ISP network
operators to deploy large single IS-IS domains to overcome
problems with suboptimal routing with hierarchical designs. Of
course, use of areas and hierarchy in networks is good design
practice that prepares the network for future growth and helps
prevent problems associated with large flat topologies. While
areas and hierarchy are good for scalabilty, on the downside,
they also add complexity.
Managing Stability and Convergence
Both the Integrated IS-IS and OSPF protocols have been widely
deployed and have been in use for some time for most
implementations to be matured and well hardened. However,
for a long time, only Cisco seemed to have a usable
implementation of IS-IS. Currently, there are IS-IS
implementations from other router vendors that are
interoperable with the Cisco implementation. Of the two
protocols, OSPF has evolved the most since inception, under the
auspices of IETF OSPF Working Group. It is, therefore, not by
coincidence that OSPF is also the most complex of the two
protocols from both protocol design and operations perpective.
However, Integrated IS-IS hasn't seen much standardization
since ISO10589 and RFC 1195 were published. Most of IS-IS
implementation experience and feature evolution were
developed by Cisco Systems. IS-IS was first implemented as an
ISO only protocol at Cisco before later enhanced with IP
capabilities. IS-IS's ties with ISO CLNP is obvious from its
nonconventional configuration for IP routing, which requires
ISO NSAP to be configured in place of IP network statements as
found in RIP, OSPF, and EIGRP/IP.
The first step is to apply the second NSAP address with the new
area prefix 49.0002 to each of the routers as shown here. Each
router has its own system ID, which does not change in the new
address:
router isis
net 49.0001.0000.0000.0001.00 net
49.0002.0000.0000.0001.00
The final step is to remove the NSAP with the old area ID,
49.0001, from all the routers, leaving the NSAP with the new
area ID as shown here:
router isis
net 49.0002.0000.0000.0001.00
This completes the migration process. During the migration, no
loss of adjacency occurs, and, therefore, there is no loss of
connectivity or service disruption.
CASE STUDY: MIGRATION FROM NARROW TO WIDE
METRICS
Step 1. All routers are presumably running old software or new software in defa
and use only the old-style TLVs.
Step 2. Make sure the routers are running software that supports new-style TLV
advertise both old-style and new-style metrics. Routers that have not yet
advertising and processing only old-style TLVs. Reconfigured routers w
receive both types of TLVs and process both. The configuration is show
router isis
metric-style transition
Step 3. When all the routers have been upgraded as described in Step 2, configu
advertise and accept only new-style TLVs:
router isis
metric-style wide
Step 4. Finally, metric values greater than 63 can now be configured because all
and interpret routing received with new-style TLVs.
Method 2
Step 1. All routers are running older software or new software but in default mo
and use only old-style TLVs. Upgrade each router to new software that s
and configure it to advertise old-style TLVs but also accept both TLV st
router isis
metric-style narrow transition
Step 2. Reconfigure each router in turn to advertise only new-style TLVs but als
TLVs:
router isis
metric-style wide transition
Step 3. In this step, all the routers are configured for the last time to advertise an
TLVs as follows:
router isis
metric-style wide
NOTE
If all the routers within the Frame Relay cloud are not
reconfigured to have the same interface type, point-to-point or
multipoint, no adjacency will be completed. Therefore, LSPs are
not exchanged over these interfaces. To fix this problem, RTA
needs to be reconfigured as a point-to-point subinterface, with
each PVC in a different IP subnet.
The higher the extent of the mesh, the larger the number of
adjacencies. With a large number of adjacencies to support, a
router's LSP might grow more than the maximum LSP size,
requiring fragmentation. This can have adverse effects on the
network because the number of LSPs is more of a concern than
the actual size of the LSPs in such environments. In essence,
larger number of LSPs requires more SPF computation time. In
summary, a large NBMA full mesh can result in potential
performance and scalability issues.
The basic idea behind mesh groups is that each member of the
mesh group does not reflood LSPs received from another
member of the group to other members of the same group
because they would have already received copies. However,
LSPs received from nonmember routers are flooded to all
members of the mesh group, as well as other adjacent
nonmembers.
All interfaces that belong to the same mesh group are identified
with the same mesh group number. For example, the interface
shown Example 8-2 is identified with mesh-group number 10.
Also, the mesh group syntax allows you to selectively configure
full blocking on individual interfaces instead of placing them in
a group. Mesh groups need to be used with care. To ensure
flooding is not disrupted, select the most reliable PVCs to flood
over. Failure to do so might compromise flooding and result in
unsynchronized databases when critical VC connections fail.
Connected interface 0
Static route 1
eBGP 20
EIGRP (internal) 90
IGRP 100
OSPF 110
IS-IS 115
RIP 120
Table 8-1. Default Administrative Distances
EGP 140
iBGP 200
!
router isis
net 49.0001.1234.5678.9abc.00
passive-interface loopback0
lsp-refresh-interval 65000
max-lsp-lifetime 65535
is-type level-2-only
distance 255 ip
log-adjacency-changes
ignore-lsp-errors
metric-style wide level-2
!
spf-interval
prc-interval
lsp-gen-interval
IP addressing
Summarization
Default routing (if required)
Appropriate interface metrics to direct traffic flow
Consistent collection of LSP in the Link-State database
across all routers
IS-IS adjacencies formed
Frequency of SPF and PRC calculations
Migration Phases
!
router eigrp 10
network 192.168.10.0
network 192.168.20.0
no auto-summary
!
Phase 2—Configurations and Other Status Information
!
hostname RTA
!
clns routing
!
interface Serial1/0:1
ip address 192.168.20.5 255.255.255.252
ip router isis
isis metric 500 level-2
!
router eigrp 10
network 192.168.10.0
network 192.168.20.0
no auto-summary
!
router isis
passive-interface Loopback0
distance 255 ip
net 49.0001.1921.6810.0001.00
is-type level-2-only
metric-style wide level-2
max-lsp-lifetime 65535
lsp-refresh-interval 65000
log-adjacency-changes
!
RTD#show clns
Global CLNS Information:
3 Interfaces Enabled for CLNS
NET: 49.0001.1921.6810.0001.00
Configuration Timer: 60, Default Holding Timer: 300, Packet Lifetime
ERPDUs requested on locally generated packets
Intermediate system operation enabled (forwarding allowed)
IS-IS level-2-only Router:
Routing for Are
Use the show clns neighbor command to verify that the right
adjacencies have been formed. An adjacency matrix, showing
which neighbors are expected in the adjacency table, must be
prepared ahead to facilitate this verification. Example 8-
10 shows how to obtain more information about each neighbor.
Example 8-10. Obtaining More Information About Neighbors
After the IS-IS operation is verified across the routers, the Link-
State database needs to be scanned for the presence of LSPs
from all the routers running IS-IS. Example 8-12 shows how to
list LSP entries in the LS database.
Example 8-12. Listing LSPs in the Link-State Database
RTD(config)#router isis
RTD(config-router)#no distance 255 ip
RTD(config-router)#
RTD(config)#router eigrp 10
RTD(config-router)#distance 255
RTD(config-router)#
Some key points to note about using IS-IS for IP and ISO CLNP
follow:
SUMMARY
- ATM point-to-point
- ATM multipoint
- ISDN multipoint
- IP route summarization
Authentication
Domain-wide prefix distribution (Level 2 to Level 1 route
leaking)
IS-IS multi-area configuration
Configuring IS-IS for optimized performance
Attribute Comments
Attribute Comments
Similar to the case of ATM, the IS-IS mesh group feature must
always be considered for highly meshed FR environments with
point-to-point configurations. This helps limit unnecessary
flooding of LSPs.
ISDN Configuration
Redistribution
RT1#show running-config
[snip]
router isis
redistribute static ip metric 0 metric-type internal level-2
net 49.0001.0000.0000.0001.00
!
ip route 172.16.1.0 255.255.255.0 Null0
[snip]
The following output from RT1 (see Example 9-8) displays the
contents of its own Level 1 and Level 2 LSPs. In Example 9-7,
note that internal metric type has been assigned by default and
the metric applied is 0. Example 9-8 shows that the external
static route has been added to only the Level 2 LSP.
Example 9-8. LSP Contents in Case of Simple Redistribution
RT1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
RT1(config)#router isis
RT1(config-router)#redistribute static ip metric-type external
RT1(config-router)#^Z
RT1#show running-config
[snip]
router isis
redistribute static ip metric 0 metric-type external level-2
net 49.0001.0000.0000.0001.00
!
ip route 172.16.1.0 255.255.255.0 null 0
[snip]
The IP routing table output from RT2 shows the external route,
172.16.1.0/24, which was redistributed from a static source into
IS-IS on router RT1 (see Example 9-10). The metric entered for
this route, 138, is the total of the metric on the outgoing
interface from RT2to RT1 (10) plus the metric of 128 advertised
by RT1. Other routes received from RT1 (10.0.0.1/32 and
10.1.1.0/24) are registered with a metric of 20 (10 advertised by
RT1 and additional 10 for the metric from RT2 to RT1).
Example 9-10. Representation of External IS-IS Routes in the IP Routing Table
RT2#show ip route
172.16.0.0/24 is subnetted, 2 subnets
i L2 172.16.1.0 [115/138] via 192.168.1.1, Serial0/0
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
C 10.0.0.2/32 is directly connected, Loopback0
i L2 10.1.1.0/24 [115/20] via 192.168.1.1, Serial0/0
C 10.2.2.0/24 is directly connected, Ethernet0/0
i L2 10.0.0.1/32 [115/20] via 192.168.1.1, Serial0/0
192.168.1.0/30 is subnetted, 1 subnets
C 192.168.1.0 is directly connected, Serial0/0
RT1#show running-config
!
router isis
redistribute static ip metric 0 route-map TEST metric-type external l
net 49.0001.0000.0000.0001.00
!
IP Route Summarization
An IS-IS router can be configured to summarize IP routes into
Level 1, Level 2, or both, at the same time, with the following
router-level configuration command: summary-address
<prefix> [level-1|level-2|level-1-2]. By default, summaries go
into Level 2 if no routing level option is indicated. An
illustration of how summarization is configured and its
operation is provided by the series of outputs shown in Example
9-13, which is based on Figure 9-11. The set of outputs
in Example 9-12 depict the scenario where summarization is not
configured yet on RT1, which has three interfaces: loopback
0,Ethernet0/0, and Serial0/0. Example 9-12 shows the LSP for
RT1 as captured on RT2 and the routing table on RT2. The route
of interest, 11.1.1.0/24, is not summarized here; however, it is
summarized in Example 9-13 into 11.1.0.0/16.
Figure 9-11. Network diagram for summarization example.
RT1#show running-config
interface loopback 0
ip address 10.0.0.1 255.255.255.255
ip router isis
!
interface Ethernet0/0
ip address 11.1.1.1 255.255.255.0
ip router isis
!
interface Serial0/0
ip address 192.168.1.1 255.255.255.252
ip router isis
router isis
net 49.0001.0000.0000.0001.00
RT2#show ip route
10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks
C 10.0.0.2/32 is directly connected, Loopback0
C 10.2.2.0/24 is directly connected, Ethernet0/0
i L2 10.0.0.1/32 [115/20] via 192.168.1.1, Serial0/0
11.0.0.0/24 is subnetted, 1 subnets
i L2 11.1.1.0 [115/20] via 192.168.1.1, Serial0/0
192.168.1.0/30 is subnetted, 1 subnets
C 192.168.1.0 is directly connected, Serial0/0
RT1#show running-config
!
router isis
summary-address 11.1.0.0 255.255.0.0
net 49.0001.0000.0000.0001.00
RT2#show ip route
10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks
C 10.0.0.2/32 is directly connected, Loopback0
C 10.2.2.0/24 is directly connected, Ethernet0/0
i L2 10.0.0.1/32 [115/20] via 192.168.1.1, Serial0/0
11.0.0.0/16 is subnetted, 1 subnets
i L2 11.1.0.0 [115/20] via 192.168.1.1, Serial0/0
192.168.1.0/30 is subnetted, 1 subnets
C 192.168.1.0 is directly connected, Serial0/0
RT1#show running-config
[snip]
Interface Ethernet0/0
Ip address 11.1.1.1 255.255.255.0 secondary
Ip address 10.1.1.1 255.255.255.0
!
Interface Serial0/0
Ip address 192.168.1.1 255.255.255.252
No ip directed-broadcast
Ip router Isis
!
Router Isis
Net 49.0001.0000.0000.0001.00
!
[snip]
RT2#show ip route
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
C 10.0.0.2/32 is directly connected, Loopback0
i L2 10.1.1.0/24 [115/20] via 10.0.0.1, Serial0/0
C 10.2.2.0/24 is directly connected, Ethernet0/0
i L2 10.0.0.1/32 [115/20] via 10.0.0.1, Serial0/0
11.0.0.0/24 is subnetted, 1 subnets
i L2 11.1.1.0 [115/20] via 10.0.0.1, Serial0/0
Authentication
ISO 10589 and RFC 1195 specify only simple plain-text
passwords for authentication of IS-IS packets. A more recent
RFC draft (IS-IS HMAC-MD5 Authentication, draft-ietf-isis-
hmac-00.txt) proposes a mechanism for using the HMAC-MD5
authentication algorithm to provide a more sophisticated
authentication scheme for IS-IS. Current Cisco IOS Software
supports only the simple text-based passwords.
RT1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
RT1(config)#int s0/0
RT1(config-if)#isis password cisco level-2
RT1(config-if)#^Z
Because Cisco IOS Software sets bit 8 for external metrics when
routes for external sources are advertised into IS-IS, using the
same bit for route leaking might result in conflicting situations.
Also note that only IS-IS routes that are Level 2 routes in the
routing table are “leaked” into Level 1. Remember the following
when configuring route leaking in Cisco-based IS-IS
environments:
RT1#
interface Ethernet0/0
ip address 11.1.1.1 255.255.255.0
ip router isis
!
interface Serial0/0
ip address 192.168.1.1 255.255.255.252
ip router isis
!
router isis
summary-address 12.0.0.0 255.0.0.0 level-1
redistribute isis ip level-2 into level-1
net 49.0001.0000.0000.0001.00
RT1#
interface Serial1/0
ip address 192.169.1.1 255.255.255.0
ip router isis Core
interface Ethernet0/0
ip address 11.1.2.1 255.255.255.0
ip router isis Access-2
interface Ethernet0/1
ip address 11.1.3.1 255.255.255.0
ip router isis Access-3
RT1#show running-config
!
clns routing
!
interface Loopback0
ip address 172.168.123.1 255.255.255.255
no ip directed-broadcast
!
interface Serial0/0
ip unnumbered Loopback0
no ip directed-broadcast
ip router isis
isis metric 15 level-2
isis password cisco level-2
isis hello-multiplier 12 level-2
isis hello-interval 5 level-2
!
router isis
summary-address 10.1.0.0 255.255.0.0
passive-interface Loopback0
net 49.0001.0002.0003.0004.0005.0006.00
is-type level-2-only
metric-style wide
spf-interval 30
no hello padding
log-adjacency-changes
!
ip classless
!
end
isis metric
isis password
isis hello-interval
isis hello-multiplier
is-type
metric-style
spf-interval
ignore-lsp-errors
no hello padding
log-adjacency-changes
passive-interface
summary-address
All the commands in the preceding two lists are not required to
enable IS-IS. However, they are added to optimize operational
efficiencies of the protocol and network design. These
commands are discussed further in the following sections.
The isis password and summary-address commands are covered
earlier in this chapter, in the sections on authentication and
summarization, respectively.
isis hello-interval and isis hello-multiplier Commands
You can use the isis metric command to modify the default
metric value for Level 1 or Level 2 separately. In both situations,
the default value is 10. In the configuration shown in Example
9-21, the metric is changed to 15 for only Level 2. Notice that
this router would participate only in Level 2 routing on all its
active IS-IS interfaces because of the global, router-level is-type
level-2-only command.
RT1#show log
%CLNS-5-ADJCHANGE: ISIS: Adjacency to 0000.0000.0001 (ethernet 0)
RTA(config)#router isis
RTA(config-router)#no hello padding ?
multipoint Pad LAN hello PDUs
point-to-point Pad point-to-point hello PDUs
SUMMARY
RT5
interface Loopback0
ip address 11.1.1.5 255.255.255.255
!
interface Ethernet0/0
ip address 10.1.1.5 255.255.255.0
ip router isis
!
router isis
passive-interface Loopback0
net 49.0001.0000.0000.0005.00
is-type level-1
metric-style wide
RT1
interface Loopback0
ip address 11.1.1.1 255.255.255.255
!
interface Ethernet0/0
ip address 10.1.1.1 255.255.255.0
ip router isis
!
interface Serial0/0
ip address 192.168.1.1 255.255.255.252
ip router isis
!
router isis
passive-interface Loopback0
net 49.0001.0000.0000.0001.00
metric-style wide
log-adjacency-changes
RT2
interface Loopback0
ip address 11.1.1.2 255.255.255.255
!
interface Ethernet0/0
ip address 10.1.2.1 255.255.255.0
ip router isis
!
interface Serial0/0
ip address 192.168.1.2 255.255.255.252
ip router isis
!
router isis
passive-interface Loopback0
net 49.0002.0000.0000.0002.00
metric-style wide
log-adjacency-changes
RT6
interface Loopback0
ip address 11.1.1.6 255.255.255.255
!
interface Ethernet0/0
ip address 10.1.2.6 255.255.255.0
ip router isis
!
router isis
passive-interface Loopback0
net 49.0002.0000.0000.0006.00
is-type level-1
metric-style wide
show clns
RT2#show clns
Global CLNS Information:
2 Interfaces Enabled for CLNS
NET: 49.0002.0000.0000.0002.00
Configuration Timer: 60, Default Holding Timer: 300, Packet Lifetime
ERPDU's requested on locally generated packets
Intermediate system operation enabled (forwarding allowed)
IS-IS level-1-2 Router:
Routing for Area: 49.0002
RT1#show ip protocol
Routing Protocol is "isis"
Invalid after 0 seconds, hold down 0, flushed after 0
Outgoing update filter list for all interfaces is
Incoming update filter list for all interfaces is
Redistributing: isis
Address Summarization:
None
Routing for Networks:
Ethernet0/0
Serial0/0
Passive Interface(s):
Loopback0
Routing Information Sources:
Gateway Distance Last Update
11.1.1.2 115 00:02:25
11.1.1.5 115 00:02:15
Some lines in the following output (the last few) pertain to the
format style of IS-IS metrics, and they are displayed as a result
of the metric-style wide command in the configuration. Wide
metrics are particularly relevant for MPLS traffic engineering,
which was named by Cisco as Routing with Resource
Reservation (RRR) before standardization efforts started in the
IETF.
Example 10-4. show clns protocol Command Output
Level 2 database shows only two LSPs, one each from RT1 and
RT2. This means that RT2 is the only Level 2 neighbor of RT1.
This also implies that RT1 has formed only a Level 1 adjacency
with RT5 and only a Level 2 adjacency with RT2. This is because
RT2 is in another area and RT5 is in the same area but has been
configured to be a Level 1-only router.
All routers in the same area have the same set of LSPs in their
Level 1 databases. Similarly, all Level 2 routers have an identical
list of Level 2 LSPs. Any inconsistency in the Level 1 database
for routers in the same area or the Level 2 database for routers
connected to the Level 2 backbone surely flags a problem.
Note that 11.1.1.6 originates from RT6 (refer to Figure 10-1), but
it is advertised through Level 2 to the rest of the network by
RT2. The other IP prefixes in this LSP are directly connected
networks.
Example 10-10. show isis database detail Command
The show isis spf-log command logs events related to the SPF
process providing information such as triggers and duration of
events. Reviewing the SPF log can help you to troubleshoot a
churn in the network. By studying the SPF log, for example, you
can determine the reason for a high spike in CPU utilization at
the route processor attributable to the IS-IS SPF process. A
sample output of show isis spf-log is shown in Example 10-12.
The output shows that at 1:56:08, the SPF process was triggered
by some event relating to LSP RT1.01.00. The last column of
this line shows the trigger was a TLVCONTENT on RT1.01-00.
In Chapter 9, the spf-interval configuration command is
discussed and a list of SPF event triggers is provided. An
augmented list of triggers is provided in Table 10-2.
Example 10-12. show isis spf-log Command
LSPDB
show ip traffic
The CLNS and IS-IS debug commands shown in Table 10-3 are
all useful for troubleshooting IS-IS problems. However, the
following three debugging commands are the most useful and
are commonly used. Each is discussed in more detail in the
following subsections:
RT5#show running-config
clns routing
!
interface Loopback0
ip address 11.1.1.5 255.255.255.255
!
interface Ethernet0/0
ip address 10.1.1.5 255.255.255.0
ip router isis
clns router isis
!
router isis
passive-interface Loopback0
net 49.0001.0000.0000.0005.00
is-type level-1
metric-style wide
Example 10-21. show isis route from RT2 from Figure 10-3
RT5#traceroute
Protocol [ip]: clns
Target CLNS address: 49.0002.0000.0000.0006.00
Timeout in seconds [3]:
Probe count [3]:
Minimum Time to Live [1]:
Maximum Time to Live [30]:
Extended commands [n]: y
Source CLNS address [49.0001.0000.0000.0005.00]:
Include global QOS option? [yes]:
Pad packet? [no]:
Validate reply data? [no]:
Data pattern [0x60CD]:
Sweep range of sizes [n]:
Verbose reply? [no]:
Type escape sequence to abort.
Tracing the route to 49.0002.0000.0000.0006.00
1 49.0001.0000.0000.0001.00 4 msec ! 0 msec ! 0 msec !
2 49.0002.0000.0000.0002.00 0 msec ! 0 msec ! 0 msec !
3 49.0002.0000.0000.0006.00 0 msec ! 0 msec ! 0 msec !
Example 10-28. Simulating Mismatched Levels of Routing on a Seriel Link (refer to Figure 10-4
RT1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
RT1(config)#router isis
RT1(config-router)#is-type level-1
RT1(config-router)# ^Z
Each IS-IS node must have at least one NSAP address (NET) to
identify it as a network node. This NET consists of the area ID
of the node, the System ID, and a 0-value NSEL. The system ID
is required to be unique within the area; the NSEL value is fixed
at 0x00. The area ID (also referred to as the area prefix) must
be the same for all nodes in the same area. For nodes with
multiple NETs, the system ID must be the same in all of them,
and at least one of the area prefixes must be shared with
another node in the same area. The effect of misconfiguring a
NET is illustrated in Figure 10-5. In this example, RTE, RTF,
and RTG are meant to be together in area 49.0001. They are
also meant to form both Level 1 and Level 2 adjacencies.
Figure 10-5. Test network for studying misconfigured NSAP
problem.
RT1#show logging
Mar 10 16:41:20: %CLNS-3-BADPACKET: ISIS: LAN L1 hello, Duplicate syst
Mar 10 16:42:22: %CLNS-3-BADPACKET: ISIS: LAN L1 hello, Duplicate syst
Mar 10 16:43:21: %CLNS-3-BADPACKET: ISIS: LAN L1 hello, Duplicate syst
RT2(config)#interface s 0/0
RT2(config-if)#mtu 2000
RT2(config-if)#^Z
RT1(config-router)#int se0/0
RT1(config-if)#no isis hello padding
RT1(config-if)#mtu 2000
RT1(config-if)#^Z
This is not the case in older Cisco IOS Software releases, where
directly connected routers could still form IS-IS adjacencies
even though they were not properly configured to be on the
same IP subnet. Recent changes in IOS require the source IP
address of an IP neighbor to be validated before bringing up the
adjacency. This behavior is implemented in Cisco IOS Software
12.0S releases, which are optimized for IP networks. This makes
verification of the IP address configuration an important step in
troubleshooting IS-IS adjacency problems.
Fast switching
Cisco Express Forwarding
RT1#show run
|
begin interface
interface Serial0/0
mtu 2000
ip address 192.168.1.1 255.255.255.252
no ip directed-broadcast
ip router isis
no ip mroute-cache
no fair-queue
clockrate 2000000
no isis hello padding
Backup ix/lvl/metric:9/L2/30
RT1#show running-config
[snip]
router isis
passive-interface Loopback0
default-information originate
net 49.0001.0000.0000.0001.00
metric-style wide
log-adjacency-changes
display-route-detail
Typically, at the point where the flap is seen, the LSP that
contains the route is periodically advertised and withdrawn, or
newer versions are continuously being received. Route flaps can
also have a devastating effect on the routing environment if a
large number of LSPs and routers are affected. This might cause
the SPF process to run for prolonged periods, resulting in
potentially dangerous levels of CPU utilization on the affected
routers.
Authentication Problems
IS-IS specifications (ISO 10589 [1] and RFC 1195 [2]) provide a
simple password scheme for authentication. Three kinds of
authentication methods that use simple password are supported
on Cisco routers, as discussed in Chapter 9.
Link authentication
Area authentication
Domain authentication
RT1#show log
%CLNS-5-ADJCHANGE: ISIS: Adjacency to 0000.0000.0001 (ethernet 0)
%CLNS-5-ADJCHANGE: ISIS: Adjacency to 0000.0000.0002 (ethernet 0)
SUMMARY
Callon, Ross. “Use of OSI IS-IS for Routing in TCP/IP and Dual
Environments.” IETF RFC 1195. 1990.
http://www.cisco.com/univercd/cc/td/doc/product/software/i
os121/121cgcr/switch_c/xcprt2/xcdcef.htm.
Integrated IS-IS
Commands.http://www.cisco.com/univercd/cc/td/doc/product
/software/ios122/122cgcr/fiprrp_r/1rfisis.htm.
IP routing Protocol
Commands.http://www.cisco.com/univercd/cc/td/doc/product
/software/ios100/rpcr/66004.htm.
Hello Packets
Link-State Packets