IP 라우팅 알고리즘의 이해와 라우터 설정하기

일반입력 :2002/08/12 00:00

임보혁

슈마 : 라우팅 알고리즘에는 어떤 것들이 있는지 아는 사람?미돌양 : RIP, IGRP, OSPF 등이 있어요.허접군 : IS-IS도 들어 본 것 같아요.슈마 : 미돌양과 허접군 모두 맞아. 그런데 이들을 구분해보면 라우팅 알고리즘은 크게 디스턴스 벡터(Distance Vector) 방식의 RIP, IGRP, EIGRP와 링크 스테이트(link-state) 방식의 OSPF, IS-IS, NLSP로 나눌 수 있어.슈마 : 허접아, 그런데 벡터(vector)가 무슨 뜻일까?허접군 : 음, 크기와 방향을 갖고 있는 것이라고 할 수 있죠.슈마 : 그렇지. 벡터는 네트워크 어드레스에 대해 거리(홉 수)와 방향(라우터의 어느 포트인지) 정보를 다른 라우터로 보내서 라우팅 테이블 정보를 변경하는 방법이지. 그렇다면 디스턴스 벡터 방식은 무엇일까?허접군 : ......슈마 : 자기 옆의 라우터가 갖고 있는 다른 라우터의 정보까지도 참조해 최신 정보가 있으면 자기 라우팅 정보를 업데이트하는 방식을 의미하지(그림 1). 보다 자세한 내용은 슈마 가이드를 참조하도록.

허접군 : 질문있습니다. (그림 1)의 [라우터1] 라우팅 테이블을 보면 가장 먼 거리가 2인데 [라우터3]에서 가장 먼 거리는 1이네요. 그런데 2가 돼야 맞는거 아닌가요?슈마 : 그게 아니지. [라우터1]에서 [라우터3]의 e0으로 가려면 [라우터2]의 s1을 지나 [라우터3]의 e0까지 가야 하니 홉 수가 두 개지. 그리고 [라우터3]의 s1, [라우터2]의 s0까지는 홉 수가 한 개가 맞아. 그러니 결국 홉 수가 같지 않다는 말이지.슈마 : 링크 스테이트 알고리즘의 하나인 OSPF는 짧은 경로 설정을 위해 경로 대역폭을 계산해 모두 더한 후, 가장 수치가 적은 쪽(코스트 값이 적은 쪽)으로 라우팅 경로를 정하게 되지. 즉, 라우터를 여러 개 거쳐서 홉 수가 많더라도 회선 속도가 보다 빠른 쪽으로 경로를 설정한다는 말이지. 허접군 : OSPF는 홉 수의 제한이 없다고 하는데 그럼 각각 라우터로 연결된 모든 네트워크의 라우팅 정보를 갖고 있나요? 만약 그렇다면 메모리가 너무 많이 필요할 것 같은데. 슈마 : 그런 문제를 막기 위해 OSPF는 AS(Autonomous System)라는 도메인 범위 안에 속해 있는 여러 개의 영역(Area)으로 구성되는데, 영역 안에 있는 라우터 간에만 라우팅 정보를 갖고 있지. 즉 영역의 경계에 있는 라우터가 다른 영역의 라우터 정보를 갖고 있으며, 해당 영역에 소속된 라우터는 지역 내의 라우팅 정보를 갖고 있다는 말이지.슈마 : 보편적으로 OSPF를 디자인할 때 40∼50대를 하나의 영역 범위로 지정하므로 40∼50대의 라우터의 정보를 갖게 되지. 그럼 영역과 영역 간의 라우팅 정보는 어떻게 교환할까?허접군 : 글쎄요....
슈마 : 백본(Backbone) 영역을 거쳐서 영역 경계 라우터끼리 정보를 공유하게 돼. (그림 2)를 보면 하나의 AS 내에 이런 여러 개의 영역을 연결해주는 네트워크를 볼 수 있는데, 이를 백본이라고 명명하고 있어.미돌양 : OSPF를 공부하다 보니 다익스트라(dijkstra) 알고리즘을 이용해 최단거리를 구한다고 하던데, 그게 뭔가요?
슈마 : (그림 3)을 통해 설명하도록 하지. 여기서 R1은 [라우터1]이라는 뜻인데, R1은 자신이 시작이라고 생각하고 자기에게 연결된 R2와 R3의 코스트를 다음과 같이 계산해.
슈마 : 10Mbps이면 코스트는 10이고, 100Mbps이면 코스트는 1이야. 그럼 R1은 100Mbps와 10Mbps의 두 갈래 길이 있는데, ‘음, 코스트가 1인 쪽이 더 빠르군’ 하고는 R2로 가는 길의 코스트 값인 1과 R4로 가는 길의 코스트 값인 10을 기억하고, 더 빠른 길은 R2로 간다고 표시를 하는 식으로 계산을 하게 돼. 결론적으로는 (표)와 같이 R1에서 시작해서 다른 라우터까지의 최단 거리를 알아내게 되며, R2도 같은 방법으로 계산을 하게 되지.
슈마 : 지금까지 배운 라우터 명령이나 개념에 대해 잘 이해했겠지? 그렇다면 이제부터 본격적으로 실습에 한번 들어가 볼까. 지금부터는 라우터에 대한 설정이나 RIP 라우팅 동작에 대해 알아볼꺼야. 실전! 슈마 가이드(그림 4)는 라우터 설정을 위한 가상의 실습 환경입니다. 서울 본사와 부산 지사에 시스코 라우터를 설치했으며, 전용회선 속도는 512Kbps입니다. 이제부터 서울 지역에 위치한 라우터의 고속 이더넷 포트에 대한 환경설정을 시작하도록 하겠습니다.
seoul#configure terminalEnter configuration commands, one per line. End with CNTL/Z.seoul(config)#interface fa0/0seoul(config-if)#ip address 200.1.1.1 255.255.255.0seoul(config-if)#no shutdownseoul#wrInterface Fa0/0에서 fa는 fast ethernet의 약자로, 라우터의 이더넷 포트가 10/100Mbps를 지원한다는 뜻입니다. 0/0는 라우터의 첫번째 모듈에 있는 첫번째 포트를 말합니다. ip address 200.1.1.1 255.255.255.0는 100Mbps 이더넷 포트에 할당된 IP 어드레스를 등록하는 것으로, 255.255.255는 서브넷마스크로 /24라고 표시를 하게 되며, 네트워크와 호스트의 범위를 구분지었습니다. 즉, 200.1.1.1과 200.1.1.2는 같은 네트워크라는 뜻입니다. no shutdown은 100Mbps 이더넷 포트를 액티브(active) 시키기 위한 명령입니다. 다음으로 서울 라우터의 시리얼 포트와 RIP를 설정해 보도록 하겠습니다. seoul(config-if)#interface serial 0/0seoul(config-if)#ip address 200.1.2.1 255.255.255.0seoul(config-if)#bandwidth 512seoul(config-if)#no shutdownseoul(config-if)#exitseoul(config)#router ripseoul(config-router)#network 200.1.1.0seoul(config-router)#network 200.1.2.0seoul(config-router)#endseoul#wrseoul#show ip interface briefInterface IP-Address OK? Method Status status Protocol FastEthernet0/0 200.1.1.1 YES NVRAM up up Serial0/0 200.1.2.1 YES NVRAM up down서울과 부산 간의 전용회선 속도가 512Kbps이기 때문에 ‘Bandwidth 512’라고 속도 설정을 했습니다. RIP에서 최적의 코스트 값은 홉 수가 적은 쪽을 우선적으로 선정하므로 회선속도와는 무관하지만, OSPF는 여러 개의 코스트 값 중에서 회선속도가 포함돼 있으므로 속도에 영향을 미치게 됩니다.exit는 인터페이스 모드 설정에서 글로벌 모드로 프롬프트를 빠져나갈 때 사용하는 명령입니다. Router rip는 RIP 라우팅 프로토콜을 구동하기 위한 명령이고, network 200.1.1.0와 network 200.1.2.0은 서울 라우터의 네트워크 정보를 상대방에게 알려주기 위해 네트워크 정보를 등록하는 명령입니다. show ip interface brief 명령은 라우터의 인터페이스 정보를 알기 위한 명령입니다. 라우터의 시리얼과 이더넷 포트의 IP 어드레스가 세팅돼 있으면, fa0/0가 status up, line up이므로 서울 라우터의 LAN 구성이 정상 가동중임을 나타냅니다. serial0/0의 status up, line down은 IP 어드레스가 세팅됐으나, 외부 시리얼 통신은 정상 동작이 안됨을 의미합니다. 부산 라우터의 시리얼 포트에 대한 등록은 아직 하지 않았으니 당연히 down으로 표시되고 있습니다. 다음 정보는 서울 라우터의 라우팅 테이블에 대한 정보입니다.seoul #sh ip routeCodes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP      D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2      E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP      i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area      * - candidate default, U - per-user static route, o - ODR      P - periodic downloaded static routeGateway of last resort is not setC 200.1.1.0/24 is directly connected, FastEthernet0/0seoul#여기서 C는 200.1.1.0 네트워크가 라우터의 고속 이더넷 0/0 포트에 직접 연결돼 있음을 나타냅니다. 서울 라우터가 자신의 LAN 구간에 대한 라우팅 정보만을 갖고 있는 것을 알 수 있습니다. 부산 라우터에 대한 설정은 지면관계상 생략했지만, 앞서 서울 라우터에서 실행했던 이더넷, 시리얼 포트, RIP 등록 과정을 반복하시면 됩니다. 그럼, 부산 라우터에 설정이 끝났다고 가정하고, 그 다음 단계인 서울 라우팅에서의 라우팅 정보를 살펴보도록 하겠습니다.seoul #sh ip routeCodes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP      D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2      E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP      i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area      * - candidate default, U - per-user static route, o - ODR      P - periodic downloaded static routeGateway of last resort is not setC 200.1.1.0/24 is directly connected, FastEthernet0/0C 200.1.2.0/24 is directly connected, Serial0/0R 200.1.3.0/24 [120/1] via 200.1.2.2, 00:00:09, Serial0/0seoul#위의 라우팅 테이블에서 3개의 엔트리를 볼 수 있는데, C는 connect의 약자이며, R은 RIP 정보를, 120/1에서 120은 AD(Administrative Distance)로 라우팅 정보의 신뢰도 값입니다. 1은 Metric으로 RIP에서는 홉 수를 말합니다. 첫번째 엔트리의 C(connect)인 경우는 직접 연결돼 있으니 라우팅 정보의 신뢰도가 1로 가장 신뢰가 높으며, RIP 프로토콜에 의한 라우팅 정보 신뢰도는 120입니다.정리하자면 200.1.3.0 네트워크는 로컬 라우터의 시리얼 0/0에 연결된 리모트 라우터의 200.1.2.2를 통해 접근할 수 있습니다. 메트릭(Metric)은 1이므로 1 홉의 거리이며, AD가 120이므로 RIP만을 통해 알려진 정보이고, 이 정보가 최종 갱신된지 9초가 지났음을 의미합니다. 이번 강좌를 끝으로 IP 라우팅에 대한 공부는 마치겠습니다. 다음 강좌에서는 가상 LAN(Virtual LAN)에 대해 자세히 알아보도록 하겠습니다. @