라우팅 프로토콜에 대해 알아봅니다.
라우팅 프로토콜 분류
1. Static
2. Dynamic -> 2-1. IGP (Interior Gateway Protocol) : RIP, OSPF,IGRP, EIGRP
2-2. EGP (Exterior Gateway Protocol): BGP
2. Dynamic -> 2-1. Distance Vector : RIP, IGRP, EIGRP
2-2. Link State : OSPF, IS-IS
라우팅 프로토콜 분류 중 IGP, EGP 언급을 여기서 해보겠습니다.
IGP와 EGP를 구분하는 것은 AS에 의해 구분됩니다. Autonomous System
AS란 인터넷을 구성하는 집단으로 관리와 정책이 단일 조직에 의해서 관리되는 네트워크 시스템입니다.
뭔말인가요?
예를 들어 A,B 회사가 있습니다. A와 B는 그 회사의 관리정책에 따라 네트워크가 관리되고 있습니다.
A회사의 관리정책이 B회사와 같을 수도 있겠지만, 서로 다른 관리정책에 따라 사이트를 확장하기도 축소하기도 할것입니다.
인터넷관리대행자(ISP)는 LG유플러스, KT, SK브로드밴드 등등이 있잖아요.. 이들은 서로 다른 AS를 갖고 있습니다.
ISP가 되기 위해서는 AS넘버를 할당 받아야 합니다. 그럼 LG유플러스와 KT간은 통신할수 없나요?
당연히 통신이 되겠죠...
AS간 통신을 위한 라우팅프로토콜로 가능합니다....AS간에는 BGP라는 라우팅프로토콜을 이용합니다.
솔직히 BGP는 일반기업체 내에서는 다뤄보기 어려운 라우팅 프로토콜입니다. ISP(인터넷관리대행자)에서 타 ISP와
연동된 라우터에 구동이 되고 있습니다.
그럼 IGP는 뭘까요? 한 조직내의 관리정책에 따라 움직이는 프로토콜이라 생각하시면 되고, 대부분의 라우팅 프로토콜이라고
생각하시면 됩니다. RIP, IGRP,EIGRP,OSPF등.. 요런 라우팅프로토콜은 일반기업체 내에서 돌려 운영하고 있습니다.
이제 대표적인 라우팅 프로토콜로 RIP과 OSPF에 대해서 알아보도록 하겠습니다.
RIP(Routing Information Protocol)은 Distance Vector 알고리즘을 사용합니다.
라우터가 최적의 길을 선택함에 있어
Distance 즉, Hop 카운트를 사용합니다. Hop 카운터는 거쳐가는 라우터의 숫자를 의미합니다.
즉, 홉카운트가 3인 경로와 5인 경로 중 RIP은 홉카운트가 작은 3이라는 경로를 선택하죠....
라우터를 3대 거쳐가는 거와 5대 거쳐가는 경로 중 3대 거쳐가는 것이 경로가 더 짧다라고 판단합니다.
하지만, 단점도 있습니다. 홉카운트가 3이지만 64Kbps인 회선을 갖고, 홉카운트가 5이지만 20Mbps 회선을 갖고
있다고 한다면 솔직히 라우터를 더 거쳐가더라도 회선속도가 빠른 경로가 좋은 경로일수 있습니다.
또한, 15개 이상의 라우터를 거쳐가는 경우 즉, 홉카운트가 15개 이상인 경우 해당 경로로는 데이터를 보낼 수 없습니다.
도달불능 unreachable로 인식합니다.
그래서 대규모 네트워크에서는 RIP을 사용할 수가 없습니다. 그럼에도 모든 라우터에서는 RIP을 지원합니다. 그만큼
소규모 네트워크에서는 효율적이고, 메모리 사용이 적으며, 구성이 간단해서 많이 사용하고 있습니다.
혹시 이런의문 들지 않으세요? 하나의 라우터에 두개 이상의 라우팅 프로토콜을 돌릴 경우가 있을까? 그럼 다른 라우팅프로토콜에
의해 같은 경로를 해석할때 어떤 라우팅프로토콜을 우선순위 둘까? 라는 의문....
결과적으로 말씀드리면, 하나의 라우터에 필요에 따라 두개 이상의 라우팅 프로토콜을 돌릴 경우가 있겠죠...그리고 다른
라우팅프로토콜에 의해 같은 경로를 해석하고 찾아갈때에는 순서가 있습니다. 이것이 Administrative Distance 값입니다.
시스코 라우터의 경우 Distance값 몇가지 적어보겠습니다.
직접연결 Connected Interface 0
Static route out an interface 0
static route to a next hop 1
EIGRP summy route 5
External BGP 20
internal EIGRP 90
IGRP 100
OSPF 110
IS-IS 115
RIP V1, V2 120
EGP 140
External EIGRP 170
Internal BGP 200
unknown 255
같은 경로라도 윗 숫자가 적은 라우팅 프로토콜로 수집된 경로가 우선순위가 있습니다.
좀 옆길로 갔네요...
RIP과 같은 Distance Vector알고리즘의 문제점을 알아보도록 하겠습니다.
제일 큰 문제는 모든 라우터에 라우팅 업데이트가 되는 "시간"적인 문제가 있습니다.
즉, 어느 한 라우터에 경로 변경이 발생되면, 새로운 경로를 넣거나, 빼고 업데이트 시간이 되었을 때(RIP은 30초)
라우팅 테이블을 전달합니다. 해당 정보를 받은 라우터는 라우팅 테이블을 다시 업데이트를 하고, 30초 후에 다른 라우터에
전달하게 됩니다.
모든 라우터의 라우팅 테이블이 변경된 후 어느 한 경로로 데이터가 전달된다면 문제가 없겠지만, 업데이트 주기 전 한 라우터로 부터 예전 경로로 데이터가 송신되려고 할때, 경로에 대한 불일치로 인해 루핑이 발생될 수 있는 가능성이 있다는 이야기 입니다.
라우팅 테이블이 업데이트되는 시간을 Convergence Time이라고 합니다.
이런 루핑을 방지하기 위해
1. Maximum Hop Count
2. Hold down Timer
3.Split Horizon
4. Route Poisoning
5.Poison Reverse 라는 방법을 사용합니다.
1. Maximum Hop Count는 앞서 RIP의 경우 Hop Count가 15가 넘어가는 라우팅 경로에 대해 도달불가능(unreachable)로
간주한다고 했습니다. 즉, 루핑을 돌더라도 최대 홉 카운터인 15가 넘게 되면 해당 경로는 도달하지 못하는 경로로 인식하게 됩니다.
그러나, 대규모 네트워크에서는 정상적인 루트라도 홉카운터가 15가 넘어가게 되면 데이터가 도달하지 못하는 치명적 약점이 있기
때문에 그 때는 이런방법을 쓰면 안되겠지요?
2. Hold down Timer를 이용하는 방법입니다.
A라는 네트워크가 죽었다고 가정해 봅시다. 그 정보를 받은 B라우터는 해당 네트워크 A에 대해 Hold down 타이머를 시작합니다.
C라우터가 A라는 네트워크를 자기를 통해 갈수 있는 경로가 있다라고 B라우터가 전달을 받게되면 Hold down 시간 내에서는
이 정보를 무시합니다. 즉, Hold down 타이머는 어느 한 네트워크가 죽었을 때, 일정 시간 동안 죽은 네트워크에 대한 경로를
다른 라우터를 통해 수집받아도 무시해서 루핑을 방지하는 방법입니다. Hold down 타임이 만료된 후 A 네트워크에 대한
새로운 경로 전파에 대해 본인라우터가 가지고 있는 경로보다 좋은 경로만 수집 업데이트를 하게 됩니다.
3. Split Horizon은 간단히 라우팅 정보가 들어온 루트로는 같은 정보를 내 보낼수 없도록 하는 것입니다.
A라는 네트워크 정보를 B라는 라우터가 수집받았을 때, B라우터는 A라는 네트워크 정보를 수집받은 루트로는 다시 보내지
않습니다.
잘 생각해 보시면 스플릿 호라이즌은 두 라우터간의 루핑을 방지하기 위한 기술임을 알수 있고, 전체 네트워크 루핑을 방지하지는
못합니다.
4. Route Poisoning은 말 그대로 경로에 약 처방을 하는 방법입니다. A라는 네트워크가 다운되면 라우터는 메트릭을
16(경로 도달불가능)으로 바꾸고 그 경로에 대해 인접라우터에 정보를 전달합니다. 그러면 해당 정보를 받은 라우터들도
해당 A경로에 대해 메트릭을 16으로 바꾸게 되서 A네트워크 경로로는 데이터가 도달 불가능하도록 정보를 공유하게 됩니다.
5. Poison Reverse는 스플릿 호라이즌을 약간 변형했다고 생각하시면 됩니다. A라는 네트워크가 다운되었을 때, 해당 정보를
받은 루트로 라우팅 정보를 도달불가능으로 보내는 방법입니다.
간단하게 루핑방지법에 대해 알아봤습니다. 루핑 방지에 대한 기술들은 자기와 인접 라우터간에서 이루어지는 방법이기 때문에
여러가지 방법을 섞어 사용해야 효율적입니다.
여기까지 디스턴스벡터 알고리즘인 RIP에 대해서 알아봤습니다.
요약해 보면 디스턴스벡터 알고리즘은 쉽고 간편하며, 라우팅 테이블을 적게 사용하는 등 장점이 많지만, 루핑이 발생하기 쉽다는
단점이 있습니다. 이 단점을 보완하기 위해 라우팅 Metric을 제한하는 방법으로 최대 홉카운드를 15까지로 제한하게 되고, 이로인해
대규모 네트워크에서는 해당 라우팅 알고리즘 사용에 제한이 있다는 것도 알수 있었습니다.
다음에는 OSPF에 대해 알아보도록 하겠습니다.