통신의 이해 10
더 쉬운 라우팅 프로토콜

 

차 례

1. RIP (Routing Information Protocol)
  가. RIP의 등장 배경
  나. RIP 동작 방법
  다. RIP의 안정화 기능들
  라. RIP의 향후 전망

2. OSPF (Open Shortest Path First)
  가. OSPF의 등장 배경
  나. OSPF의 라우팅 계위
  다. OSPF의 동작 방법
  라. OSPF의 향후 전망

3. BGP (Border Gateway Protocol)
  가. BPG의 등장 배경
  나. BGP의 동작 방식
  다. ATM 셀 구조
  라. ATM 참조 모델
  마. ATM 향후 전망

4. OSI 라우팅
  가. OSI 라우팅의 등장 배경
  나. 라우팅 계위
  다. ES-IS (End System to Intermediate System) 라우팅
  라. IS-IS (Intermediate System to Intermediate System) 라우팅
  마. 향후 전망

 

시작하면서

인터넷이 전세계로 확대되면서 네트워크간 라우팅의 중요성은 날로 커지고 있다. 네트워크의 라우팅은 라우팅이 적용되는 네트워크 프로토콜에 따라 다양한데, 이번에는 인터넷의 기본 프로토콜이면서 가장 많이 사용되는 네트워크 프로토콜인 IP(Internet Protocol)를 위한 라우팅 프로토콜들을 간단히 소개하겠다.

먼저 도메인내(Intra-domain)의 라우팅 프로토콜인 RIP 와 OSPF를 소개하고, 도메인간(Inter-domain)의 라우팅 프로토콜로서 일반적으로 사용되는 BGP에 대해 설명하겠다. 또한 OSI 참조 모델의 네트워크 프로토콜인 CLNP(Connectionless Network Protocol)을 위한 OSI 라우팅에 대해서도 간단히 설명하겠다.

1. RIP (Routing Information Protocol)

가. RIP의 등장 배경

RIP는 처음에 제록스사의 XNS(Xerox Network System)에서 사용하기 위한 라우팅 프로토콜로 개발되었다. 후에 RIP는 BSD버전 UNIX의 TCP/IP 프로토콜 환경에서 “routed”라는 프로세스 형태로 구현되면서 일반에 널리 알려지게 되었으며, RFC 1058로 인터넷의 표준 라우팅 프로토콜로서 받아들여졌다.

RIP가 일반에 빠르게 적용될 수 있었던 원인으로는 RIP가 가지고 있는 간단성과 견고함 때문인데, 당시의 인터넷 상황이 이와 같이 구현이 쉽고 견고한 라우팅 프로토콜의 등장을 요구했기 때문이었다.

나. RIP 동작 방법

RIP는 거리값(Distance vector)에 근거한 알고리즘으로서, 이는 목적지까지의 거리가 최적 경로 결정의 판단기준이 됨을 의미한다.

RIP에서는 거리값으로서 각 경유 네트워크에 1이란 값을 부여하는 데 이를 홉(Hop)이라 한다. 즉 어떤 목적지까지의 홉(경로값)이 2라면, 그 목적지까지 가기 위해서는 2개의 네트워크를 경유함을 알 수 있다.
이와 같은 종류의 알고리즘은 매우 간단하고 견고한 특징을 가지고 있는데, RIP에서는 요청과 응답이라는 2가지 종류의 패킷 형태 만이 존재한다.

요청패킷은 라우터가 처음으로 부팅되었을 때, 혹은 어떤 특정 목적지 정보가 타임아웃 되었을 때 보내지게 되며, 전체 목적지 정보 혹은 특정 부분의 목적지 정보들을 요청할 수 있다.

응답패킷은 실제 목적지에 대한 정보를 담고 있는 패킷으로서, 다음의 3가지 중 하나의 항목에 해당하면 응답패킷을 전송하게 된다.

다. RIP의 안정화 기능들

RIP는 빠른 네트워크의 위상 변화를 안정적으로 처리하기 위한 여러 가지 기능들을 가지고 있다.

1) 홉계수 제한 (Hop Count Limit)

RIP에서는 거리값을 계산하기 위한 것으로서 홉(Hop)을 사용하는데 이 홉은 망을 하나씩 통과할 때마다 1씩 증가하게 된다. 이 홉계수에 제한이 없는 경우에는, 라우터의 어떤 특정 인터페이스가 고장 났을 때, 그 인터페이스에 연결된 목적지에 대한 정보는 다른 이웃 라우터와 무한히 홉계수를 증가시키면서 교환하게 되는 경우가 발생한다. 따라서 RIP에서는 이를 방지하기 위해 증가할 수 있는 최대 홉 크기를 15로 제한하고 있다.

홉계수 제한을 통해 홉계수가 무한히 증가하는 라우팅 순환을 막을 수는 있지만, 이 것은 홉 계수가 15를 넘어서는 망과는 연결할 수가 없다는 제한을 가져오므로, 대규모 망에서 RIP의 사용을 제한하는 중요한 단점이 된다.

2) Hold Down

어떤 한 경로가 무효가 되었을 때, 이 경로의 무효를 검출한 라우터는 이를 이웃한 라우터에게 알려주게 된다. 그러나 이는 전 네트워크를 통하여 동시에 이루어지는 것이 아니므로, 무효화된 경로에 대한 정보는 어느 일정시간 동안 갱신하지 않고 유지하고 있어야 한다.

예를 들면, 라우터 A가 무효가 된 경로 X를 발견하고 이를 이웃한 라우터 B에게 알려 준다고 했을 때, 무효경로 X에 대한 통보를 받지 못한 라우터 C는 경로 X에 대한 정보를 라우터 B에게 전송할 수 있다. 이때, 라우터 B는 C로부터 수신한 X에 대한 정보를 유지할 경우, 이미 무효된 경로 X를 유효한 것으로 판단하게 되는 오류를 범하게 되는 것이다. 따라서 이러한 무효경로의 갱신 보류 시간은 전체 네트워크의 라우터를 갱신하는 데 필요한 시간보다 커야 한다.

3) Split Horizon

어떤 네트워크 N에 인접한 라우터 A가 N에 대한 정보를 라우터 B에게 전송했을 때, 라우터 B는 이 정보를 다시 라우터 A에게 전송할 필요가 없다는 것으로 이 규칙을 적용하면, 인접한 두 라우터 사이의 라우팅 순환을 방지할 수 있다.

4) Poison Reverse Update

라우팅의 경로값이 계속적으로 증가한다면 이는 일반적으로 라우팅 순환인 경우가 많다. 이런 경우, Poison Reverse 갱신 전문이 이런 경로를 삭제하고 Hold-Down 상태로 있게 하기 위해 전송된다. Split Horizon 규칙이 인접한 라우터 사이의 라우팅 순환을 방지한다면 Poison Reverse 갱신 전문은 보다 큰 라우팅 순환을 방지할 수 있다.

라. RIP의 향후 전망

RIP는 홉계수가 15를 넘어서는 인터넷과 같은 큰 규모의 망에는 적합하지 않고, 서브넷 마스크를 지원하지 않으므로 IP 주소 영역의 활용을 제한하는 약점을 가지고 있으며, 경로 테이블의 전체를 매 30초마다 전송하므로 효율적인 네트워크 대역폭 사용을 제한한다. 또한 최적의 경로를 산출하기 위한 정보로서 홉(거리값)만을 고려하므로, RIP가 선택한 경로가 최적의 경로가 아닌 경우가 많이 발생 할 수 있다.

물론 RIP의 단점들을 보완한 RIP 버전2가 개발되었으나, 실제로 잘 쓰이지는 않는 상황이다. 따라서 현재에는 대규모 네트워크에 적용할 수 있고 지능적인 기능을 갖는 OSPF같은 링크 상태 알고리즘을 사용하는 것이 일반적인 추세이다.

 

2. OSPF (Open Shortest Path First)

가. OSPF의 등장 배경

1980년대 중반에 RIP가 더 이상 대규모의 이질적인 망 사이의 라우팅을 수행하기에는 한계에 이르자 IETF(Internet Engineering Task Force)에서는 SPF(Shortest Path First) 알고리즘에 기반한 인터넷에 적용하기 위한 IP 네트워크용 라우팅 알고리즘을 개발하게 되었고 이의 결과로 OSPF가 탄생하게 되었다.

OSPF는 그 말이 표현하는 대로 모든 사양이 개방(Open)되어 있고, 이런 OSPF의 사양은 RFC 1247 (후에 RFC 1583; OSPF Version 2로 대체)로 발표되었다.

나. OSPF의 라우팅 계위

OSPF에서는 RIP와 달리 라우팅 알고리즘을 적용하기 위한 계위를 가지고 있다. 가장 큰 계위로서 AS (Autonomous System)가 있는 데 이는 공통적인 라우팅 전략을 공유하면서 하나의 관리 체제에 의해 관리되는 망들의 집합으로 정의된다.
이 AS는 다시 여러 개의 AREA로 나누어지는데, 이는 연속적인 망 및 접속된 시스템들의 집합으로 표현된다. 하나의 AS내에서 이러한 AREA를 연결해주는 망을 백본이라 부르며, 이러한 계위에 따른 라우터의 구분은 다음과 같다.

● 내부 라우터 (Internal Router)

어떤 한 AREA에 속한 망에 직접 접속한 라우터를 말하며, 백본 망에 접속한 라우터도 이 범주에 속한다. (그림1: 라우터 1,2,5,6,7,8, 및 13)

● AREA 경계 라우터 (Area Border Router)

AREA와 백본 망을 연결시켜주는 라우터를 말하며, 이 라우터는 접속된 AREA에 대한 경로 정보를 요약하여 백본 망에 전달하면 백본 망을 통해 이 정보가 다른 AREA 경계 라우터에게 분배된다. (그림1: 라우터 4,10,11 및 12))

● 백본 라우터 (Backbone Router)

백본 망에 접속한 모든 라우터를 말하며, 여기에는 AREA 경계 라우터 및 백본 망에 속한 내부 라우터가 포함된다. (그림1: 라우터 4,5,6,10,11 및 12)

● AS 경계 라우터 (AS Boundary Router)

다른 AS에 속한 라우터와 경로 정보를 주고 받는 라우터를 말하며, 이러한 경로 정보는 AS 외부 경로로서 전 AS에 전달된다. 이러한 AS 경계 라우터에 대한 경로는 AS에 속한 모든 라우터에 알려지게 된다.

<그림1>은 이와 같은 계위에 따른 전형적인 망 구조를 보여주고 있다.


<그림1> 전형적인 OSPF 망 구조

다. OSPF의 동작 방법

OSPF 라우터는 처음 부팅 시, 헬로(Hello) 패킷을 주고 받음에 의해 이웃한 라우터를 서로 인식할 수 있게 된다. 이를 통해 어떤 망에 접속된 복수 개의 라우터 중 그 망을 대표하여 그 망에 대한 경로 정보를 생성 및 분배하는 책임을 지는 대표(Designated) 라우터를 선정하게 된다. 이 대표 라우터는 새로 인식된 라우터와 경로 정보를 주고 받음에 의해 동기를 맞추게 된다.

OSPF 라우터는 자신의 경로 테이블에 대한 정보를 LSA(Link State Advertisement)라는 자료 구조를 통하여 주기적으로 혹은 라우터의 상태가 변화됐을 때 전송하게 되는데, 이 LSA는 해당 AREA의 모든 라우터에게 알려지게 된다. 이를 통해 한 AREA에 속한 모든 라우터는 같은 정보를 공유하게 되는 것이다.

AREA간의 정보 공유는 다음과 같이 수행된다. AREA 경계 라우터는 AS의 백본 망에 연결되어 있으므로, 다른 AREA 경계 라우터와 AREA에 대한 요약(Summary) 정보를 주고 받음으로써 AS의 위상(Topology)과 다른 AREA에 대한 정보를 획득할 수 있다. 이를 통해 자신의 AREA에 속하지 않은 모든 목적지에 대한 경로를 계산할 수 있고 이를 내부 라우터에게 전송한다. 이를 통해 내부 라우터는 다른 AREA에 속하는 목적지로 전송할 때 어느 AREA 경계 라우터로 패킷을 전송할 지를 결정할 수 있다.

다른 AS에 대한 외부 경로 정보를 알고 있는 AS 경계 라우터는 AS를 경유하여 정보를 전송할 수 있으므로 이러한 외부 경로 정보는 스텁(Stub) AREA를 제외하고는 전 AREA 경계 라우터에 의해 AREA 요약 정보형태로 내부 라우터에게 전송된다. 이와 같은 이유로 다른 AS와 연결하는 AS 경계라우터의 위치는 스텁AREA에 속한 라우터를 제외하고는 모두 알려지게 되며 이를 통해 AS 외부로 정보를 전송할 수 있게 된다.

OSPF 라우터는 위와 같은 방식으로 AREA 내부, AREA외부, AS외부의 경로에 대한 정보를 얻어 위상(Topology) 데이타베이스를 구축한다. 이와 같은 위상 데이타베이스에 SPF 알고리즘을 적용하여 모든 경로에 대해 자신으로부터의 SPT(Shortest Path Tree)를 계산하여 이를 경로 테이블에 유지하며 이를 통해 패킷의 중계를 수행한다.

라. OSPF의 향후 전망

OSPF는 비교적 최근에 등장한 링크 상태(Link State) 라우팅 알고리즘으로서 라우터간에 변경된 최소한의 부분만을 교환하므로 망의 효율을 저하시키지 않으며, 라우터의 계위를 설정함에 의해 확장성과 대규모 망에 적용할 수 있는 성질을 가지고 있다. RIP와 같이 특정 도메인 안에서 적용할 수 있는 도메인내의(Intra-domain) 라우팅 프로토콜로서 RIP가 가지고 있는 여러 단점을 해결하고 있으나, 그 프로토콜 자체가 복잡하다는 단점도 역시 가지고 있다.

현재 인터넷을 비롯하여 대부분의 대규모 IP 망인 경우, OSPF의 적용은 일반화되어 있고, 기존의 RIP망을 OSPF로 바꾸는 작업도 활발하다. 이더넷 스위치의 보급으로 상대적으로 라우터의 중요성 및 역할이 많이 줄어들고 있는 상황이지만, 외부와 연결하기 위해서는 어차피 라우터가 필요하고, 이 경우, OSPF는 도메인내의 라우팅 프로토콜로서 다른 어떤 라우팅 프로토콜보다도 주도적 역할을 수행할 것이다.

 

3. BGP (Border Gateway Protocol)

가. BPG의 등장 배경

도메인간의 라우팅 프로토콜로서 인터넷에서 초기에는 EGP(Exterior Gateway Protocol)가 사용되었다. 그러나 인터넷이 확장될 수록 라우팅 순환이 생기는 등의 심각한 문제들이 발생하여 이를 해결하기 위해 BGP가 등장하게 되었으며, 현재에는 EGP가 BGP혹은 IDRP(Inter-Domain Routing Protocol)로 대체되고 있는 상황이다.

나. BGP의 동작 방식

먼저 서로 다른 AS (관리 도메인) 속한 BGP 라우터가 통신하기 위해서는 다른 망의 중계 없이 하나의 망으로 직접 연결되어 있어야 하며, 한 AS내에 복수 개의 BGP 라우터가 있는 경우, BGP 라우터들은 그 AS에 대한 일관된 정보와 AS 외부 통로로서의 역할을 수행하기 위해 서로를 인식하고 정보를 교환해야 한다.

초기에 BGP라우터가 상대와 연결될 때에는, 자기가 가지고 있는 전체 경로 테이블의 내용을 교환하고, 이후에는 변화된 것만을 교환한다. 이때, BPG 라우터는 특정 목적지에 대한 모든 타당한 경로를 유지하고 있지만 경로 갱신 전문에는 최적의 경로만을 전송한다. 이러한 정보의 교환은 TCP(Transmission Control Protocol)을 통해 신뢰성 있게 수행된다.

BGP는 RIP와 같은 거리값(Distance Vector)에 기본한 라우팅 알고리즘이나, 목적지까지의 경로값을 전송하는 것이 아니고, 목적지까지 도달하는데 경유하는 AS의 순서를 전송하므로, 거리값 알고리즘이 가지고 있는 무한 경로값(Counting to infinity)의 단점을 가지고 있지 않다.

 

4. OSI 라우팅

가. OSI 라우팅의 등장 배경

OSI 참조 모델을 만든 ISO에서는 OSI 참조 모델의 네트워크 계층 프로토콜을 위한 라우팅 프로토콜의 필요성을 느끼고, 이를 위한 라우팅 프로토콜을 개발하게 되었다. OSI 라우팅의 기반이 되는 IS-IS는 처음에 DECnet에서 사용되는 라우팅 개념에서 출발하였다. 처음에는 OSI 표준 모델의 네트워크 계층 프로토콜인 CLNP(Connectionless Network Protocol)를 위한 라우팅만을 지원하였으나, 후에 IP 망을 위한 버전도 개발되었다.

나. 라우팅 계위

OSI 라우팅에서는 네트워크에 연결된 임의의 시스템을 ES(End System)라 부르고, 라우팅 기능을 수행하는 라우터 등을 IS(Intermediate System)이라 부르는데, 이러한 용어는 ES-IS간 혹은 IS-IS 라우팅을 설명하는데 사용된다. OSI 라우팅에서도 OSPF와 거의 유사한 개념인 도메인과 AREA로 구분되며, AREA내에서의 라우팅은 레벨 1 라우팅, AREA간의 라우팅은 레벨2라우팅이라 부른다. 이와 같은 사항은 <그림2>에 나타나 있다.


<그림2> OSI 인터네트워크의 계위

다. ES-IS (End System to Intermediate System) 라우팅

ES-IS는 라우팅 프로토콜이라기 보다는 ES와 IS간의 서로를 인식하기 위한 프로토콜로서, 이는 특정한 멀티캐스트 주소로 각각의 헬로 패킷을 전송함에 의해 수행된다. 즉 각 ES는 ESH(ES Hello)전문을 서브넷에 속한 모든 IS들에게 전송하고, 각 IS는 ISH(IS Hello)전문을 서브넷에 속한 모든 ES들에게 전송한다. 각 헬로 패킷에는 송신자의 서브넷과 네트워크 주소를 포함하고 있으므로, 이러한 헬로 패킷을 통해 서로를 인식할 수 있는 것이다.

라. IS-IS (Intermediate System to Intermediate System) 라우팅

IS-IS는 OSPF와 같은 형태의 링크 상태 (Link State) 라우팅 알고리즘으로서, 링크 상태 정보를 교환함에 의해 전체 네트워크의 위상을 계산할 수 있다.

IS-IS간의 패킷 전송은 ES간의 패킷 전송을 통해 살펴볼 수 있다. 한 ES가 다른 ES에게 패킷을 전송하기 위해서는 ISH를 수신함에 의해 알게 된 하나의 IS에게 패킷을 전송한다. 이때, IS는 목적지 ES가 같은 망에 있으면, 이를 목적지 ES로 전송하고 송신 ES에게 RD(Redirect) 패킷을 전송하여 계속되는 패킷은 IS를 통하지 않고 직접 통신하게 한다.

만약, 목적지 ES가 같은 AREA의 다른 망에 속해 있으면, IS는 IS끼리의 정보교환을 통해 정확한 경로를 알고 있으므로 이 경로에 따라 패킷을 전송한다. 목적지 ES가 다른 AREA에 있는 경우, 레벨1 IS는 가장 가까이 있는 레벨2 IS에게 전송하여 이를 통해 패킷이 목적지 AREA에 도달할 수 있게 한다. 목적지 AREA내에서는 목적지 ES에 도달할 때까지 패킷의 중계가 계속 된다.

위와 같은 동작을 위해 각 IS는 자기와 연결된 IS와 ES들에 대한 정보를 포함하는 갱신 패킷을 모든 이웃한 IS에게 전송한다. 이러한 갱신 패킷은 또 이웃한 IS를 통해 전송되고 이러한 과정이 반복된다. 모든 IS가 다른 모든 IS로부터 이러한 갱신 패킷을 수신했을 때에야 비로서 완전한 위상 데이타베이스를 구축할 수 있게 된다. 만약 위상이 변하게 되면 변경된 내용에 대한 새로운 갱신패킷이 전송된다.

마. 향후 전망

OSI 라우팅 프로토콜인 IS-IS가 OSI 참조 모델에 근거한 표준 라우팅 프로토콜이기는 하나 기반이 되는 CLNP 자체가 실제 환경에서는 잘 사용되지 않는 프로토콜임으로 인해 일반에게 잘 알려지지 않은 것도 사실이다. 비록 IS-IS가 IP 망을 지원하는 버전이 있다고는 하지만 기존의 IP 망에서 OSPF등을 사용하는 사용자들이 IS-IS로 라우팅 프로토콜을 바꿀만한 특별한 이유가 없으므로, IP망에 기반한 인터넷이 계속 사용되는 한 IS-IS의 확산은 힘들지 않나 생각된다.

 

♥ 필자: 쌍용정보통신 연구소 통신기기개발팀


(C) 1997-8 Ssangyong Information&Communications Corp.
Network Online [ netonline.sicc.co.kr ]