Link-State 라우팅 프로토콜은 처음 만들어질 때 문제점을 하나 가지고 있었다. 하나의 사이트 내에서는 Link-State 라우팅 프로토콜이 SPF 알고리즘을 통해 Best-Path를 선출하면 되는데, 여러 사이트의 네트워크를 하나로 연결할 때는 어떻게 Best-Path를 선출할 것인가 하는 문제였다.

  위 그림에서 ‘Site A’ 내부 네트워크와 ‘Site D’ 내부 네트워크 간에 Best-Path를 선출하기 위해 만일 SPF 알고리즘을 사용한다면 각 장비들은 모든 사이트의 전체 토폴로지를 데이터베이스에 가지고 있어야 할 것이다. 그리고, 엄청나게 많은 ‘Node’와 ‘Link’ 정보에 의해 CPU와 메모리를 많이 사용하게 될 것이다.

  그래서, 이 문제를 해결하기 위해 각 사이트가 어떻게 어떤 구조로 되어 있는지 사이트 간에 토폴로지를 구성해서 사이트 간에 Best-Path를 선출하는 장비를 별도로 다음과 같이 구성하기로 하였다.

  그리고, 각 사이트를 초기 설계 단계에서는 ‘Zone’이라는 명칭을 사용하다 ‘Area’로 명칭을 바꾸게 되었고, Area간에 Best-Path를 선출하는 장비를 ‘Backbone 장비’, Backbone 장비 간에 연결된 망을 ‘Backbone’ 이라고 하기로 하였다. 그리고, IS-IS 라우팅 프로토콜을 발표하면서 아키텍처를 CLNP 환경에서 다음과 같이 4단계 계층적 구조로 만들었는데, 우리가 사용중인 IP 네트워크에서는 ‘Level 1’과 ‘Level 2’만 사용하고 있다.

  OSPF 라우팅 프로토콜도 초창기에는 3단계(Inter AS, Inter Area, Intra Area) 계층적 구조로 만들었으나, 현재는 2단계 구조인 Backbone(Inter Area), non-Backbone(Intra Area) 영역으로 변경되었다. 그런데, OSPF 라우팅 프로토콜은 계층을 구분할 때 IS-IS 라우팅 프로토콜과 다른 방법을 사용하게 된다.

  다시 IS-IS 라우팅 프로토콜이 Backbone과 non-Backbone을 어떻게 나누었는지 정리해보자.

 구 분 정 의 역 할 장비 종류
Backbone L2 장비들로 구성된 망 Area 간에 SPF 알고리즘 수행 L2, L1/L2
non-Backbone L1 장비들로 구성된 망 Area 내에서 SPF 알고리즘 수행 L1, L1/L2

  즉, Area 내에서도 SPF 알고리즘에 의해 Best-Path를 선출하고, Area 간에도 SPF 알고리즘에 의해 Best-Path를 선출한다. 그래서 Area 내에서도 라우팅 Loop이 발생하지 않고, Area 간에도 라우팅 Loop이 발생하지 않는다.

  그런데, OSPF 라우팅 프로토콜은 Area 간에 SPF 알고리즘을 수행하는 기능없이 Area 내에서 SPF 알고리즘을 수행하는 기능만으로 네트워크 전체에 대해 Best-Path를 선출할 수 있도록 만들려고 하였다. 그래서, Backbone과 non-Backbone을 다음과 같이 Area 번호로 구분하였다.

  중심에 ‘Area 0’를 Backbone Area로 만들고 나머지 Area들은 전부 non-Backbone Area로 정의한 후 non-Backbone Area는 반드시 Backbone Area에 직접 연결되어 있어야 하도록 만들었다. 그리고, Area 간에 데이터베이스를 교환하는 장비를 이미 설명 드렸듯이 ABR이라고 정의하였다.

  그래서, IS-IS 라우팅 프로토콜은 장비가 어떤 기능을 하느냐에 따라 L1, L1/L2, L2 장비로 구분되는 반면, OSPF 라우팅 프로토콜은 Area가 어떤 역할을 하느냐에 따라 Area 종류가 나뉘게 된다. 각 Area의 특징은 추후에 자세히 다루기로 하고, Area 종류를 먼저 분류하면 다음과 같다.

  이미 앞에서 설명한 것처럼 Area는 크게 Backbone Area와 non-Backbone Area로 구분된다.

구 분 설 명
Backbone Area
  • Area 0가 Backbone Area로 동작하며 non-Backbone Area간에 네트워크 정보를 전달하는 기능을 수행한다.
  • Non-Backbone Area 간에 통신하기 위해서는 반드시 Backbone Area를 통해서 Packet을 전달해야 하기 때문에 ‘Transit Area’라고도 한다.
  • 단일 Link-State 라우팅 프로토콜은 단 하나의 Backbone Area만을 갖는다.
non-Backbone Area
  • Area 0를 제외한 다른 Area를 전부 non-Backbone Area라고 하며 반드시 Area 0에 연결되어 있어야 한다.
  • Backbone Area와 연결된 ABR을 통해서만 다른 Area와 데이터베이스를 교환할 수 있다.

  그리고, ‘Special Area’가 존재하는데, Backbone Area는 Special Area가 될 수 없고 non-Backbone Area만이 다음과 같은 Special Area가 될 수 있다.

구 분 설 명
Stub Area
  • OSPF 라우팅 프로토콜 정보(Internal)만 가질 수 있으며, 어떠한 경우에도 타 라우팅 프로토콜에서 OSPF 데이터베이스로 유입된 정보(External)는 가질 수 없다.
  • 대신 Area 0를 통해 디폴트 경로(default-route)를 받는다.
Not-So-Stubby Area

(NSSA)

  • Area 0를 통해서는 OSPF 라우팅 프로토콜 정보(Internal)만 받을 수 있다.
  • Area 내에서 타 라우팅 프로토콜이 함께 구동되고 있는 경우, 해당 라우팅 프로토콜 정보를 OSPF 데이터베이스로 가지고 와서 다른 Area 0로 전달할 수 있다.
Totally Stub Area

(Not Standard)

  • 일부 제조사에서 제공하는 기술로 다른 Area 정보(Inter Area)와 타 라우팅 프로토콜에서 OSPF 데이터베이스로 유입된 정보(External)를 모두 가질 수 없다.
  • 대신 Area 0를 통해 디폴트 경로(default-route)를 받는다.