인터넷의 전신인 ARPANET은 1969년에 만들어졌다. 그런데, 인터넷에서 사용하기 위해 만들어 졌다는 TCP/IP는 1982년에 완성된다. 그 이유는 초기 ARPANET은 TCP/IP 환경이 아닌, NCP(Network Control Program) 기반의 IMP(Interface Message Processor) 장치에 의해 통신하도록 만들어졌기 때문이다.

  이후 NCP의 한계를 극복하기 위해 1973년에 TCP(Transmission Control Protocol)를 만들기 시작하여 1974년에 TCP 개념을 공식 발표한다. 그리고, 1970년대 초부터 개발되던  IP(Internet Protocol)를 TCP와 결합하여 TCP/IP 통신 테스트를 1975년부터 1977년까지 테스트를 진행하여 성공을 거둔다.

  현재 우리가 사용하는 TCP/IP의 기본 형태는 1978년부터 만들기 시작하여 1980년에 발표된 UDP(User Datagram Protocol)를 포함하여 1982년에 DoD(Department of Defense) Model에 의해 TCP/IP가 등장하게 되었다.

  1982년에 TCP/IP가 등장하면서 Best-Path를 찾는 라우팅 프로토콜이 필요했을 것이다. TCP/IP가 발표될 당시 네트워크 장비의 운영시스템으로 BSD를 가장 많이 사용했는데 BSD v4.2(1982년)에 RIP 라우팅 프로토콜을 탑재하였다. 그래서, RIP 라우팅 프로토콜이 TCP/IP 환경에서 표준 라우팅 프로토콜로 사용되었고, 지속적으로 발전을 해 오다 1988년이 되어서야 현재 우리가 알고 있는 ‘RIP version 1’이 완성된다.

  초기 ARPANET은 미군 기지들을 연결하기 위한 네트워크였기 때문에 중간에 Node가 많지 않았다. 그래서, TCP/IP 개발단계에서는 최대 15개의 Node까지만 업데이트가 되는 RIP 라우팅 프로토콜을 사용해도 큰 문제가 없었다. 하지만, ARPANET 네트워크가 점점 커지면서 RIP 라우팅 프로토콜의 한계에 부딪히게 된다.

  그래서, 1970년대 후반부터 SPF 알고리즘을 이용한 Link-State 라우팅 프로토콜을 개발하기 시작한다. 그러나, 네트워크 기술이 발전하지 않은 상태였기 때문에 지속적인 개발에도 불구하고 프로토콜이 완성되지 못하고 TCP/IP와 OSI 7 Layer가 등장하게 되는데, TCP/IP가 발표될 당시 ARPANET은 다음 그림과 같이 규모가 커지게 되었다.

  ISO에서 ‘OSI 7 Layer’를 발표하면서 Layer 3의 서비스를 CLNS(Connectionless Network Service)라고 정의하고, CLNS에서 사용하는 프로토콜로 CLNP(Connectionless Network Protocol)를 제안한다. 그리고, CLNP를 기반으로 Best-Path를 계산하는 라우팅 프로토콜을 DECnet에서 개발하여 초기 버전을 발표하게 되는데 그것이 IS-IS의 시초이다.

  그 이후 Link-State 라우팅 프로토콜 개발이 급속도로 이루어져서 1989년에 OSPF version 1이 개발되어 표준화 되고, 1991년에는 오늘날 우리가 사용하는 OSPF의 근간이 되는 OSPF version 2가 표준화 되었다. 그런데, CLNP 기반으로 만들어진 IS-IS 라우팅 프로토콜을 TCP/IP 기반에 적용하려면 많은 제약 사항이 있었을 것이다. 이러한 제약 사항들을 충분히 검토하지 못 한 상태에서 OSPF 라우팅 프로토콜이 발표가 되면서, 최초의 Link-State 라우팅 프로토콜이 세상에 나오게 되었다.