IS-IS. Intermediate System to Intermediate System  (IS-IS, also written ISIS) is a routing protocol designed to move information efficiently within a computer network, a group of physically connected computers or similar devices. It accomplishes this by determining the best route for data through a packet switching network.

The IS-IS protocol is defined in ISO/IEC 10589:2002 as an international standard within the Open Systems Interconnection (OSI) reference design. 

In 2005, IS-IS was called "the de facto standard for large service provider network backbones".

Description 
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.

IS-IS is a link-state routing protocol, operating by reliably flooding link state information throughout a network of routers. Each IS-IS router independently builds a database of the network's topology, aggregating the flooded network information.  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.

History 
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, but that RFC was later retracted and marked as historic 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.

Packet types 
IS-IS adjacency can be either broadcast or point-to-point.

 IS-IS Hello PDU (IIH)  The IS-IS hello packets needs to be exchanged periodically between 2 routers to establish adjacency. Based on the negotiation, one of them will be selected as DIS (Designated IS). This hello packet will be sent separately for Level-1 or Level-2.
 Link State PDU (LSP)  This contains the actual route information. This LSP can contain many type–length–values (TLVs).
 Complete Sequence Number PDU (CSNP)  This packet will be sent only by the DIS. By default for every 10 seconds, CSNP packet will be transmitted by DIS. This will contain the list of LSP IDs along with sequence number and checksum.
 Partial Sequence Number PDU (PSNP)  If the router which receives CSNP packet finds some discrepancy in its own database, it will send an PSNP request asking the DIS to send specific LSP back to it.

Other uses 
IS-IS is also used as the control plane for IEEE 802.1aq Shortest Path Bridging (SPB).  SPB allows for shortest-path forwarding in an Ethernet mesh network context utilizing multiple equal cost paths.  This permits SPB to support large Layer 2 topologies, with fast convergence, and improved use of the mesh topology.  Combined with this is single point provisioning for logical connectivity membership.  IS-IS is therefore augmented with a small number of TLVs and sub-TLVs, and supports two Ethernet encapsulating data paths, 802.1ad Provider Bridges and 802.1ah Provider Backbone Bridges.  SPB requires no state machine or other substantive changes to IS-IS, and simply requires a new Network Layer Protocol Identifier (NLPID) and set of TLVs.  This extension to IS-IS is defined in the IETF proposed standard RFC 6329.

Related protocols 
 Fabric Shortest Path First (FSPF)
 Transparent Interconnection of Lots of Links (TRILL)

References

External links 
 IS-IS standard (ISO/IEC 10589:2002, Second Edition) – free-of-charge PDF version
 OSPF and IS-IS: A Comparative Anatomy by Dave Katz, Juniper
 Collection of RFCs pertaining to IS-IS 
 IS-IS and OSPF difference discussion (Vishwas Manral, Manav Bhatia and Yasuhiro Ohara)
 Google Quagga IS-IS implementation
 Sample isisd.conf file: used with Quagga

Routing protocols
ISO standards
Internet Standards
Internet protocols
OSI protocols