![]() | 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 |
---|
Internet history timeline |
Early research and development:
Merging the networks and creating the Internet:
Commercialization, privatization, broader access leads to the modern Internet: Contents
Examples of Internet services:
|
Intermediate System to Intermediate System (IS-IS, also written ISIS) is a link-state interior gateway protocol (IGP) used to exchange routing information within a network. Routers share network topology information so they can find the most efficient paths for data. IS-IS is typically deployed within a single autonomous system and is used in large enterprise and service provider networks.
The IS-IS protocol is defined in ISO/IEC 10589:2002 [2] [3] as an international standard within the Open Systems Interconnection (OSI) reference design.
IS-IS is an interior gateway protocol, designed for use within an administrative domain or network. This is in contrast to exterior gateway protocols, primarily Border Gateway Protocol (BGP), which is used for routing between autonomous systems. [4]
IS-IS is a link-state routing protocol, operating by flooding link state information throughout 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 the OSPF protocol, IS-IS uses Dijkstra's algorithm for computing the best path through the network. Packets (datagrams) are then forwarded, based on the computed ideal path, through the network to the destination.
The IS-IS protocol was developed by a team of people working at Digital Equipment Corporation as part of DECnet Phase V.
The Internet Engineering Task Force (IETF) published IS-IS in 1990 [5] , but that RFC was later retracted and marked as historic [6] because it republished a draft rather than a final version of the International Organization for Standardization (ISO) standard, causing confusion.
The protocol was standardized by ISO in 1992 as ISO 10589, for communication between network devices that are termed Intermediate Systems (as opposed to end systems or hosts) by the ISO. The purpose of IS-IS was to make the routing of datagrams possible using the ISO-developed OSI protocol stack called Connectionless-mode Network Service (CLNS). IS-IS was developed at roughly the same time that the Internet Engineering Task Force IETF was developing a similar protocol called OSPF. IS-IS was later extended to support routing of datagrams in the Internet Protocol (IP), the network-layer protocol of the global Internet. This version of the IS-IS routing protocol was then called Integrated IS-IS. [7]
By 2005, IS-IS had become the de facto standard for large service provider network backbones. [8]
The ISO standard for IS-IS uses its own terms for network components, some of which differ from or are less common than the terms usually found in the industry.
IS-IS adjacency can be either broadcast or point-to-point.
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 each interface on an Intermediate System.
Instead, IS-IS uses an ISO Network Address. Each unique connection point in the autonomous system, such as a port on a router, is assigned an ISO Network Address called a Network Service Access Point (NSAP).
Individual ISs are assigned an ISO Network Address called a Network Entity Title (NET). The NET is similar to the NSAP, but does not have its Selector field set.
While this is not an IP address, and serves a different purpose, it is recommended practice to set the System ID field equal to a unique IPv4 address assigned to one of the router's loopback interfaces.
On a single intermediate system there can be up to 3 NET addresses. This may be useful during migration of an IS from one area to another.
The NET consists of an Area, System ID and NSEL field. Area itself consists of an AFI (Address Family Identifier) and an Area ID.
Area can have a variable length of 1–13 bytes. The System ID is six bytes long and the NSEL is one byte.
As an example, the fields of the ISO Network Address "49.0100.1921.6821.1138.00" are as follows:
When administrating large networks, using IP addresses directly is often difficult and inconvenient.
Network engineers generally prefer to use domain names like "if-bundle-22-2.qcore1.pye-paris.as6453.net" to identify routers, as they contain more relevant and human-readable information.
Other routing protocols which principally identify routers using IP addresses can easily solve this problem using local DNS resolution.
Because IS-IS is not an IP-based protocol, it has hostname resolution built into the standard. Link-state PDUs can carry a Type Length Value 137 (TLV 137) field, which contains a hostname associated with a NET. [9]
Similar to OSPF, IS-IS employs the concept of areas to divide the network, reducing 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.
When an L1 router needs to send traffic to a destination not within its area, it directs it to an L1/L2 router.
L1/L2 routers advertise their status as boundary routers by setting the Attached Bit (ATT), in its L1 LSP. Routers that receive this LSP will add a default route to the origin of the LSP.
External routes can be redistributed to L1 areas, including their L1/L2 routers. However, by default, external routes will not be redistributed to L2 routers. To change this policy, L1/L2 routers must be configured to originate these external routes to the L2 network.
IS-IS LSPs contain information about the LSP itself in the attribute block of the LSP header, which is 8 bits long.
When IS-IS was initially introduced, TLVs for IS reachability (TLV 2) and IP reachability (TLVs 128 and 130) could have an interface metric of no more than 63 (6 bits) and total accumulated path metric of no more than 1023 (10 bits).
Over time, networks outgrew the constraints imposed by these metrics as speeds and hop-counts increased with better hardware.
To allow for these larger networks 2 new TLVs –TLV 22 for Extended IS reachability and TLV 135 for Extended IP reachability –were introduced.
These additions to the protocol allowed link metrics up to 16.7 million (24 bits) and total accumulated path metric up to 4 billion (32 bits).
Metrics without TLV 22 and 135 are called narrow, and metrics that include them are called wide. [10]
Wide metrics or narrow metrics can be set on a per-level basis.
Compared to OSPF, IS-IS rules of adjacency formation are much simpler and depend primarily on the router level.
Similar to OSPF, all routers in a broadcast domain need to form adjacencies and exchange LSPs, resulting in there being LSPs for each router in the domain.
In order to overcome this issue, on each LAN segment a designated intermediate system (DIS) is elected. The router with the highest priority and System ID is elected as the DIS, but if another router is connected with a higher priority (or higher System ID if the priorities are equal), 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 just 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 real router.
The Pseudonode ID in 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 both simple password and MD5 authentication types. In IS-IS, per-level or per-interface authentication is possible.
In addition, to protect from a replay attack, IS-IS uses an increasing sequence number in the IIH.
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.
In order to support IPv6 routing information TLV 232 for IPv6 interface address and TLV 236 for IPv6 reachability were added.
In order to display supported Layer 3 protocols, also called NLPID (Network Layer Protocol ID), TLV 129 is used. Here, IPv4 has code of 0xCC, while IPv6 has a code of 0x8E.
There might be an issue, if the IPv4 and IPv6 topologies do not overlap. This could happen due to misconfiguration or lack of support for IPv6 by routers in the network. For this situations, multi-topology support is added to IS-IS.
TLV 229 was added to indicate support for multi-topologies, such as IPv4 unicast and IPv6 unicast.
If multi-topology is enabled, IS-IS will calculate separate SPF tree for IPv4 and IPv6. This means twice the resource usage, but from the other side, this prevents traffic black holes.
When multi-topology is enabled, then IS-IS will use TLV 222 for Multi-topology ISreachability, TLV 235 for Multi-topology IP reachability and TLV 236 for Multi-topology IPv6 reachability.
Depending on the configuration, the router can have L1, L2 or both L1/L2 Link-State Databases. IS-IS uses Dijkstra's algorithm to generate the routing tables from these databases.
But there can be situations, when IS-IS router has exactly the same prefix in different level databases, or external and internal. In order to choose best path in this situations, there is a specific order in which the route goes from the most preferred to the least preferred:
IS-IS uses Hello packets (IIH) to share information about routers and to 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, 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 the 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 the shortest. To support this, SPB extends IS-IS with new TLVs. [11]