공부/Computer Network2013. 4. 8. 12:29

Internet Routing Protocols


소개

- 인터넷 프로토콜은 인터넷을 운용하기 위해 필수적이다.

- 라우터들은 IP 데이터그램을 출발지에서 목적지까지 한 라우터에서 다른 라우터로 방향에 따라 보낸다. (위상기하학적 지식과 인터넷의 상태에 따라, 최저비용 기준)

- 라우터는 인터넷의 위상기하학적 개념을 가지고 있다. 인터넷 프로토콜은 이 정보는 공급한다.


자율 시스템(Autonomous System) = 라우팅 도메인(Routing Domain)

- 하나의, 명확히 정의된 외부 라우팅 정책을 가진 IP 네트워크들의 그룹.

관리적 측면에서 한 단체에 속하여 관리되고 제어됨으로써, 동일한 라우팅 정책을 사용하는 네트웍 또는 네트웍 그룹을 일컫는다. 한 자율시스템 내에서의 IP 네트웍은 라우팅 정보를 교환하기 위해 IGP를 사용하며, 타 자율시스템과의 라우팅 정보 교환을 위해서는 BGP를 사용한다. 과거에는 BGP 대신 EGP가 사용되었으며, 향후 BGP는 OSI 인터도메인 라우팅 프로토콜(Inter-Domain Routing Protocol)로 대체될 예정이다. (참조 : 텀즈 컴퓨터 용어사전)


라우팅과 포워딩

- 라우팅은 형성된 포워딩 테이블에 의한 처리과정이다. (정적 라우팅, 동적 라우팅)

- 라우팅은 네트워킹 역사를 통해 계속 발전되어온 복잡한 분산 알고리즘에 의존한다.

- 포워딩은 노드에서 지역적으로 수행되는 비교적 명확한 과정이다.

- 포워딩은 패킷을 이동시키고; 그 목적지 주소를 살피고; 테이블을 찾아보고; 그 테이블에 의해 결정된 경로로 패킷을 전송하는 것으로 이루어진다.


동적 라우팅 프로토콜

- 기능들 : 라우터들 간의 동적인 공유; 위상(topology)이 변화했을 때 자동적으로 라우팅 테이블을 업데이트; 목적지로의 최상의 경로를 결정

- 정적 라우팅과 비교해서, 관리상의 부담(overhead)이 적다.

- 동적 라우팅의 경비는 프로토콜 운용을 위한 라우터의 자원 부분에 들이고 있다.


동적 라우팅 프로토콜의 구성요소

- 데이터 구조 : 운용을 위한 테이블 and/or 데이터베이스 (RAM에 보관)

- 알고리즘 : 완료된 작업에 사용된 유한한 리스트; 용이한 라우팅 정보와 최적 경로 결정

- 라우팅 프로토콜 메시지 : 이웃을 발견하고 라우팅 정보를 교환하기 위해; 네트워크에 대한 정확한 정보를 습득하고 유지함


동적 라우팅 프로토콜 운용

- 모든 라우팅 프로토콜은 동일한 목적을 갖는다 : 원격 네트워크들을 습득하고 토폴로지가 변경되었을 때 빠르게 적응

- 일반적으로 동적 라우팅 프로토콜의 운용

* 인터페이스에서 라우팅 메시지를 주고받음

* 다른 라우터들과 라우팅 메시지와 라우팅 정보를 공유함

* 원격 네트워크를 습득하기 위해 라우팅 정보를 교환함

* 라우팅 프로토콜은 토폴로지 변화를 다른 라우터들에 알릴 수 있다. (다 거의 같은 말 아닌가?)


클래스화 라우팅 프로토콜

- 라우팅 프로토콜은 다른 것들과 연관되어 운용되도록 설계되지 않았다.

- 각각의 프로토콜은 다른 종류의 정보를 수집하고, 토폴로지 변화에 그 나름의 방법으로 반응한다.

- 라우팅 업데이트 통신은 각각의 프로토콜이 독립적으로 다른 방법으로 처리되어야 한다.

- 동적 라우팅 프로토콜은 특징에 따라 그룹화되어 있다.

- 라우팅 프로토콜의 타입

* IGP(Interior Gateway Protocol) : 내부 게이트웨이 프로토콜; 자율시스템(內) 라우팅(intra-AS routing)

* EGP(Exterior Gateway Protocol) : 외부 게이트웨이 프로토콜; 자율시스템(間) 라우팅(inter-AS routing)


 

IGP

EGP

거리 벡터 라우팅

경로 상태 라우팅

경로 벡터 라우팅

 Classful

 RIP

IGRP 

 

 

EGP 

 Classless

RIPv2 

EIGRP 

OSPFv2 

IS-IS 

BGPv4 IDRP

 IPv6

RIPng 

EIGRP for IPv6 

OSPFv3 

IS-IS for IPv6 

BGPv4 for IPv6 

(obsoleted in 2005 라는데 BGPv4가 폐기된건지 IDRP가 폐기된건지? 질문해볼 것)

결국 중요한건 [거리 벡터] [경로 상태] 라우팅의 차이와 [경로 벡터] 라우팅을 아는 것인 듯.

경로 벡터 라우팅은 AS 외부에서 유용하다는 것이 증명되었다고 한다. (참조)


라우팅 프로토콜 측정기준(Metrics)

대역폭 : 가장 높은 대역폭의 경로를 선호

비용 : 라우팅 선호도; IOS(Internetwork Operating System)이나 네트워크 관리자에 의해 결정됨.

딜레이 : 패킷이 경로를 가로지르는데 걸리는 시간

홉 카운트 : 패킷이 가로질러야하는 라우터 수

로드 : 어떤 연결의 통신량

신뢰도 : 연결 실패의 확률


프로토콜

Metric 

RIP 

홉 카운트

IGRP, EIGRP 

대역폭(default), 딜레이(default), 로드, 신뢰도 

IS-IS, OSPF 

비용, 대역폭 



* RIP는 홉 카운트가 적은 R2 -> R1 경로를 선택하고 OSPF는 빠른 T1 선을 경유해 R2 -> R3 -> R1 경로를 선택한다.


IRP(Interior Routing Protocol)

- AS 내에서 라우터들 간에 라우팅 정보를 전달한다.

- AS 외부에서 시행될 필요가 없다.

- 다른 연결된 AS 들과 다른 알고리즘과 라우팅 정보를 가지고 있을 수도 있다.

- 여타 연결된 AS들에게서 최소의 정보를 필요로 한다 : 대화해야할 최소 하나의 라우터; ERP를 사용한다.

- ex) Distance Vector Routing(거리 벡터 라우팅), Link State Routing(경로 상태 라우팅)


거리 벡터 라우팅

- 각 노드는 세가지 벡터를 유지한다 : 연결 비용, 거리 벡터, 다음 홉 벡터

- 각 노드는 이웃들과 정보를 교환한다. 같은 네트워크에 의해 직접적으로 연결되어 거리와 다음 홉 벡터를 업데이트함.

- RIP, IGRP, EIGRP


RIP의 역사

- Xerox PARC Universal Protocol(PUP)에 라우팅 프로토콜이 필요했다. (1980s)

* Xerox에서 GWINFO(Gateway Information Protocol)을 만듬.

* 나중에 RIP로 이름을 바꾸고 Xerox Network System(XNS) 프로토콜 스위트의 일부가 됨

- UC 버클리에서 RIP를 개조해 유닉스 운영체제의 BSD에 포함시킴

* RIP가 IRP의 산업 표준이 됨

* IETF(Internet Engineering Task Force)에서 RFC1058 인터넷 표준으로 명시함 (1988)


RIP 개요

- RIP 패킷은 UDP를 사용한다. (포트 넘버 520)

- RIP 요청 메시지는 특별한 상황에 보내진다.

- RIP 라우터는 타이머를 가지고 있다. (30초) : 타이머가 만료되면 자발적인 RIP 응답 메시지가 보내진다.

- 개별적 거리 벡터가 수신된 이후 테이블이 업데이트 된다.

* 새로운 목적지 네트워크를 추가한다.

* 존재하는 경로를 딜레이가 적은 것으로 덮어쓴다.

* 라우터 R이 업데이트 되면 모든 경로가 다음 홉으로 R을 사용하도록 업데이트 된다.

- 만약 한 라우터로부터 180초간 업데이트가 수신되지 않으면 유효하지 않는 라우터로 표시한다.

* 네트워크 연결이 불안정하거나 라우터가 고장난 것으로 본다.

* 거리값을 무한대로 설정한다. (실제값은 16)


RIP 테이블 프로세스

- RIP 라우팅 테이블은 어플리케이션 레벨 프로세스 routed (daemon)에 의해 운영된다.

- 주기적으로 반복해서 광고(advetisement)가 UDP 패킷으로 전송된다.


RIP 패킷

명령어 타입

- 1은 요청, 2는 응답

- 업데이트는 물어봤건 아니건 응답된다

- 초기화하는 노드는 요청을 브로드캐스트한다

- 요청은 즉시 응답된다

주소 체계(Address Family) : IP는 2

IP 주소 : 특정 네트워크의 식별자

측정기준(Metric)

- 이 라우터에서 네트워크까지 경로 거리

- 일반적으로 1이므로 metric이 곧 홉 카운트이다.


RIPv2

- 1993에 첫 개발, 1998에 마지막 표준화

- 비클래스형 주소지정을 지원, 서브넷 마스크 규격

- 다음 홉 규격

* 다음 홉 라우터로서 명시적 IP 주소 사용

* 네트워크를 향한 최적의 경로가 RIP를 실행하고있지 않은채 연결되어 있을 떄 유용하다. (이것도 질문해볼 것 : p26)

- 인증(authentification) : RIP 메시지를 수락하기 전에 라우터의 정체를 확인한다.

- 경로 태그(route tag) : 그 경로가 어떻게 얻어졌는지(내부적 혹은 외부적) AS를 확인한다.

- 멀티캐스팅 사용 : 자발적인 RIP 응답 메시지를 보내기 위해 브로드캐스트 대신 멀티캐스트를 사용한다.


RIPv2 다음 홉 규격 예제

다음 홉과 경로 태그를 어떤 식으로 사용하는가?


RIPv2 패킷 포맷

차이점 : 경로 태그, 서브넷 마스크, 다음 홉.

만약 인증이 사용되면 RTE들 중의 하나가 인증 정보를 포함한다.


RIPng (RIPv6)

- 비클래스형 주소지정을 지원, 서브넷 마스크 규격

- 다음 홉 규격 : 개별 라우팅 엔트리가 명시됨 (IPv6 주소의 큰 사이즈에 기인함)

- 인증 : 자체적 인증 매커니즘은 포함하고 있지 않음 (IPsec을 사용)

- 경로 태그 : RIPv2와 동일한 방식

- 멀티캐스트 사용 : 예약된 IPv6 멀티캐스트 주소 FF02:9

- RIPng는 RIPv1이나 RIPv2와 다른 포트 넘버를 사용한다 : 520 대신 521


RIPng 패킷 포맷

새로운 프로토콜 RIPng의 첫번째 버전이다.


RIP의 한계

- 측정기준 15를 초과하는 목적지는 닿을 수 없다 : 만약 더 큰 측정기준이 허용되면 수렴이 너무 길어진다.

- 단순한 측정기준은 차선의 라우팅 테이블로 이끈다 : 패킷이 느린 연결을 통해 전송된다.

- RIP 업데이트를 어떤 장비에서건 수락한다 : 잘못 구성된 장비가 전체 구성을 방해할 수 있다.


Posted by Maverick Unlimited