This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
| OSI model by layer |
|---|
Intermediate System to Intermediate System (IS-IS, also written ISIS) is a link-state interior gateway protocol (IGP), typically deployed within a single autonomous system, and is used in large enterprise and service-provider networks to exchange routing information. The IS-IS protocol is defined in ISO/IEC 10589:2002 as an international standard in the Open Systems Interconnection (OSI) model.
IS-IS operates by flooding link-state information through a network of routers. Each IS-IS router builds its own link-state database (LSDB) by collecting the flooded link-state information from other routers. Like Open Shortest Path First (OSPF), IS-IS uses Dijkstra's algorithm for computing the shortest paths through the network. Packets (datagrams) are then forwarded along the computed shortest paths to their destinations.
IS-IS was developed by Digital Equipment Corporation as part of DECnet Phase V. The Internet Engineering Task Force (IETF) published an IS-IS specification in 1990, but that RFC was retracted and marked "historic" because it republished a draft rather than a final version of the International Organization for Standardization (ISO) standard (causing confusion).
The protocol was standardised by ISO in 1992 as ISO 10589 for use between Intermediate Systems rather than end systems or hosts. It was intended to make the routing of datagrams possible using the ISO-developed OSI protocol stack Connectionless-mode Network Service (CLNS). IS-IS was developed at roughly the same time that the IETF was developing a similar protocol, OSPF. It was later extended to support the routing of datagrams in the Internet Protocol (IP), the network-layer protocol of the global Internet. This extension is known as Integrated IS-IS. By 2005, IS-IS had become the de facto standard for large service-provider network backbones.
The ISO IS-IS standard defines its terminology for network components, some of which differs from terms usually found in the industry:
IS-IS operates over a broadcast (LAN) and point-to-point network links. Adjacencies are formed between neighboring routers to exchange routing information.
Unlike most IP routing protocols, IS-IS operates directly over Layer 2 rather than relying on Layer 3 for transport and does not use IP addresses to identify interfaces. It identifies interfaces using Layer 2 addresses such as Mac addresses on Ethernet, and identifies routing nodes using ISO network addresses. Each Intermediate System is assigned a Network Entity Title (NET), which is a NSAP address used to identify the router in the IS-IS routing domain. A NET is an NSAP used as a Network Entity Title where the NSEL field is set to zero. The System ID field is commonly set to a unique IPv4 address from one of the router’s loopback interfaces. An intermediate system can have up to three NET addresses. The NET consists of Area, System ID and NSEL fields. The Area field consists of an AFI (Address Family Identifier) and an Area ID, and can be one to 13 bytes long. The System ID is six bytes long, and the NSEL is one byte. The fields of the ISO Network Address "49.0100.1921.6821.1138.00" are:
When administering large networks, using IP addresses directly can be inconvenient. In large networks, routers are often identified using hostnames such as "if-bundle-22-2.qcore1.pye-paris.as6453.net", which may encode location and topology information. Routers are identified by IP addresses and hostnames are resolved externally using the Domain Name System (DNS) in many routing protocols. Because IS-IS operates directly over the data link layer rather than over IP, hostname mappings can be distributed within the protocol. IS-IS link-state PDUs may include Type-Length-Value 137 (TLV 137), which advertises a hostname associated with an IS-IS System ID derived from the router's NET.
Similar to OSPF, IS-IS employs the concept of areas to divide the network. This reduces the overall burden on routers in the network by only requiring them to have complete link-state information for their area. In IS-IS, ISs operate at Level 1, Level 2, or Level 1/Level 2. Level 1 routers are internal to an area, and only maintain a link-state database (LSDB) for that area. Level 2 routers form the backbone of an IS-IS network, and route traffic between areas. They maintain a separate Level 2 LSDB for inter-area routing. Level 2 routers must be contiguous; their network must be fully internally routable, without crossing into different areas. Level 1/Level 2 routers are on the boundary between Level 1 and Level 2 routers; they participate in intra- and inter-area routing, maintaining separate Level 1 and Level 2 LSDBs.
When a Level 1 router needs to send traffic to a destination outside its area, it directs it to a Level 1/Level 2 router. Level 1/Level 2 routers advertise their status as boundary routers by setting the Attached Bit (ATT) in its Level 1 LSP. Routers receiving this LSP will add a default route to the origin of the LSP. External routes may be redistributed into Level 1 areas via Level 1/Level 2 routers. By default, external routes are not advertised into the Level 2 backbone; redistribution into Level 2 must be configured on Level 1/Level 2 routers.
IS-IS LSPs contain information about the LSP in the attribute block of the eight-bit LSP header:
When IS-IS was introduced, the default type–length–value (TLV) formats for IS reachability (TLV 2) and IP reachability (TLVs 128 and 130) used a six-bit link metric field with a maximum value of 63 and a 10-bit path metric field with a maximum value of 1023. As network scale and link speeds increased, these metric limitations became restrictive for larger topologies. To address this, new TLVs were introduced: TLV 22 for extended IS reachability and TLV 135 for extended IP reachability. These extensions increase the supported link metric to 24 bits (maximum value 16,777,215) and the path metric to 32 bits (maximum value 4,294,967,295). Metrics without TLV 22 and 135 are known as "narrow", and metrics that include them are known as "wide". Wide and narrow metrics may be configured independently on a per-level basis.
Compared to OSPF, IS-IS adjacency formation rules are simpler and depend primarily on the router's level. Level 1 routers form adjacencies only with other Level 1 or Level 1/Level 2 routers in the same area. Level 2 routers form adjacencies with other Level 2 or Level 1/Level 2 routers, regardless of area. Level 1/Level 2 routers may form Level 1 adjacencies with Level 1 or Level 1/Level 2 routers in the same area and Level 2 adjacencies with Level 2 or Level 1/Level 2 routers, regardless of area. Level 1 adjacencies require matching area addresses, but Level 2 adjacencies are formed independently of area membership.
Like OSPF, all routers in a broadcast domain need to form adjacencies and exchange LSPs so there are adjacencies for each router in the domain. To overcome this issue, a designated intermediate system (DIS) is elected on each LAN segment. The router with the highest priority and System ID is elected as the DIS; if another router is connected with a higher priority (or higher System ID, if the priorities are equal), it will be elected as the new DIS. Instead of each router forming an adjacency with every other router in the broadcast domain, each router forms an adjacency with the DIS, and the DIS becomes responsible for relaying LSPs to the subordinate routers in a hub-and-spoke topology.
An elected DIS router is a pseudonode, which uses the resources (including System ID) of one router. LSPs originated by a DIS always have a non-zero Pseudonode ID field. The DIS will send periodic CSNPs on the LAN segment and reply to PSNPs from other routers. If the DIS stops communicating, a new DIS will be elected in the segment.
IS-IS supports authentication of protocol data units (PDUs), including IIH (IS-IS Hello), link-state PDUs (LSPs), and sequence-number PDUs (SNPs). Authentication may be configured on a per-interface and per-level (Level 1 or Level 2) basis. Authentication mechanisms include simple password authentication and cryptographic authentication using HMAC MD5 and SHA variants.
Unlike OSPF, which operates at Layer 3, IS-IS encapsulates its PDUs into Layer 2 frames and does not depend on Layer 3 protocols such as IPv4 or IPv6. To support IPv6 routing information, TLV 232 for IPv6 interface address and TLV 236 for IPv6 reachability were added. To display supported Layer 3 protocols (also known as NLPID, or Network Layer Protocol ID), TLV 129 is used. IPv4 has a code here of 0xCC, and IPv6 has a code of 0x8E. The IPv4 and IPv6 topologies may not overlap due to misconfiguration or lack of support for IPv6 by routers in the network. In that situation, multi-topology support is added to IS-IS. TLV 229 was added to indicate support for multi-topologies such as IPv4 and IPv6 unicast. If multi-topology is enabled, IS-IS will calculate separate SPF trees for IPv4 and IPv6. This uses twice the resources, but prevents traffic black holes. When multi-topology is enabled, IS-IS will use TLV 222 for IS reachability, TLV 235 for IP reachability and TLV 236 for IPv6 reachability.
IS-IS computes the shortest paths by running Dijkstra's algorithm independently on each link-state database (LSDB): once for Level 1 and once for Level 2. Each router builds its own shortest-path tree from its position in the network. Path cost is the sum of the individual link metrics along the path; the lowest cost wins. When multiple paths to the same destination have the same cost, IS-IS can install all of them in the routing table for load balancing. This capability is known as equal-cost multipath (ECMP). When a router learns the same destination prefix from multiple sources (from Level 1 and Level 2 or internal and external routes, for example), IS-IS applies a fixed preference order. With narrow metrics (TLVs 128 and 130), the preference order is:
| Preference | Route types |
|---|---|
| 1 | L1 intra-area (internal metric); L1 external (internal metric) |
| 2 | L2 intra-area (internal metric); L2 external (internal metric); L1→L2 inter-area (internal metric); L1→L2 inter-area external (internal metric) |
| 3 | L2→L1 inter-area (internal metric); L2→L1 inter-area external (internal metric) |
| 4 | L1 external (external metric) |
| 5 | L2 external (external metric); L1→L2 inter-area external (external metric) |
| 6 | L2→L1 inter-area external (external metric) |
Wide metrics (TLV 135 for IPv4, TLV 236 for IPv6) do not support the internal-external metric distinction. RFC 7775 defines a separate preference order for these TLVs:
| Preference | Route types |
|---|---|
| 1 | L1 intra-area; L1 external |
| 2 | L2 intra-area; L2 external; L1→L2 inter-area; L2→L2 inter-area |
| 3 | L2→L1 inter-area; L1→L1 inter-area |
IS-IS uses Hello packets (IIH) to share information about routers and establish adjacencies. Hello packets also help detect faults between neighboring routers. Fault detection can be sped up by lowering the hello packet transmission intervals, but this increases CPU load. As an alternative, Bidirectional Forwarding Detection (BFD) can be used. BFD is a low-overhead fault-detection protocol that operates independently of the routing protocol and can provide sub-second detection with minimal impact on CPU.
IS-IS is the base for the control plane in Shortest Path Bridging (SPB). SPB enables equal-cost multipath routing among Ethernet switches in a mesh topology; Ethernet frames are forwarded along multiple load-balanced, service-specific paths, which are all equally short. To support this, SPB extends IS-IS with new TLVs.