In our previous post we started consolidating the endless story of OSPF vs IS-IS, in this post we will cover the historical part of the story, it might not be interesting for some people, but I do believe that the history is what makes the future, so please bare with me through this post.
The IS-IS protocol was developed in 1987 by Digital Equipment Corporation (DEC) as part of DECnet Phase V. and was standardized later in 1992 by the International Standards Organization (ISO) in ISO/IEC 10589:1992, the second and current edition ISO/IEC 10589:2002 cancels and replaces the first edition.
NOTE You can download the electronic version of International Standards from the ISO/IEC Information Technology Task Force (ITTF) web site: http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html
IS-IS was originally designed to support Connectionless Network Protocol (CLNP) and was later adapted by the IETF in RFC 1195 “Use of OSI IS-IS for Routing in TCP/IP and Dual Environments” to support IP (Integrated or Dual IS-IS). Both the IP and CLNP information is carried within the payload of the IS-IS routing updates – Unlike IP routing protocols that use IP packets, IS-IS doesn’t use CLNP packets, rather it uses its own packets that again carries either IP or CLNP (or anything else) information as a payload for its own packets – IS-IS encapsulates its packets/PDUs directly in the data-link layer.
IS-IS was designed to be extensible. RFC 1195 defined IS-IS support for IPv4, and additional IETF extensions have defined IS-IS support for IPv6, MPLS TE, and more to go (check TRILL to know how deep is it). The Cisco IOS IS-IS implementation supports CLNP, IPv4, and IPv6, while Juniper JUNOS implementation supports only IPv4 and IPv6.
On the other hand in 1988, the IETF began work on a replacement for RIP, which was proving impracticality for large scale networks with scalability and convergence issues. It was clear that any replacement for RIP had to be based on a link-state shortest path algorithm just like IS-IS. The Open Shortest Path First Working Group was born in 1987. The OSPF-WG group closely watched the IS-IS developments and both standardization bodies, the IETF and ISO, effectively copied ideas from each other, after all mostly the same individuals were working on both protocols.
I quote from Dave Katz “IS-IS and OSPF: A Comparative Anatomy”: “OSPF work begins, loosely based on IS-IS mechanisms (LS protocols are hard!)”.
OSPF v.1 RFC was published in 1989, and the first implementation of OSPF Version 1 was shipped by router vendor Proteon. In 1990, the Dual-mode IS-IS RFC 1195 was published. In 1991, OSPF v.2 RFC was published (was updated a couple of times until finally the famous RFC 2328 in 1998) and Cisco shipped OSPF, while Cisco shipped only OSI-only IS-IS, later on in 1992 Cisco shipped dual IS-IS.
In 1995 ISPs begin deployment of IS-IS and some even switched form OSPF to it, Cisco solidified its IS-IS implementation, and any vendor targeting large ISPs had to have a solid IS-IS implementation and thus Juniper and other vendors shipped IS-IS capable routers in the late 1990s.
The current status is that you’ll most probably be seeing IS-IS in large service provider networks, and OSPF in medium-to-large enterprise networks.
For more information check the IETF working groups for both OSPF and IS-IS:
OSPF IETF Working Group:
IS-IS IETF Working Group:
I hope that I’ve been informative, moving on we should be going into details.