[이해하기] 라우팅 프로토콜 – RIP (Routing Information Protocol)

(# 참고 : 라우팅 프로토콜 요약 – (클릭))

1. RIP (Routing Information Protocol) 란?

위 링크의 라우팅 프로토콜 요약에서 설명한 것과 같이 관리자가 일일이 경로를 지정하지 않아도 알아서 패킷이 길을 찾아나가는 다이나믹 라우팅 프로토콜 (Dynymic Routing Protocol) 의 방식 중, 디스턴스 벡터 (Distance Vector) 라우팅 방식 프로토콜로 오로지 거리 (Hop / 라우터 1대를 의미) 와 방향을 기준으로 데이터가 담긴 패킷을 전달하는 프로토콜입니다.

RIP 의 특징은 다음과 같습니다.
– AS(Autonomous System) 내부를 구성하는 내부용 라우팅 프로토콜 (IGP : Interior Gateway Protocol) 입니다.
– 경로를 설정하는 기준은 거리 (Hop) 카운트로서 최대 15개 까지만 허용합니다. (아래에서 15개 까지만 허용 하는 이유를 설명합니다.)
– 디폴트 라우팅 업데이트 주기는 30초이며, 업데이트 시 경로 이상이나 새로 생긴 경로 등의 정보를 갱신합니다. (라우팅 광고를 참고하여 주기적인 라우팅 테이블의 업데이트를 합니다.) ** 라우팅 광고 : 라우터, 무선노드 등 장비에서, 장비들 간에 일정주기 또는 필요시에, 자신 및 주변 정보(라우팅 갱신 정보 등)를 알리는 과정입니다.

(1) RIP 의 장점
– 소규모 네트워크 상에서 효율적입니다. (메모리 등의 자원을 적게 사용)
– 비교적 구성이 간편합니다.
– 표준 라우팅 프로토콜로써 모든 제조사의 라우터에서 지원하는 프로토콜입니다. (호환성이 좋음)
– Cisco 라우터의 경우 최소 4개 부터 최대 6개의 경로에 대한 로드밸런싱이 가능합니다. (패킷을 여러 경로로 나누어 보낼 수 있음 – 부하 분산 처리)

(2) RIP 의 단점
– 홉 수가 16 이상이면 네트워크를 찾지 못하며 데이터를 보내지 못하기 때문에 대규모 네트워크에서 사용하는데에는 한계가 있습니다.
– 또한 속도나 거리 지연 등을 고려하지 않아 최적의 경로 산정에 비효율적일 수 있습니다.
– 전체 경로를 담은 라우팅 테이블을 주기적으로 브로드캐스트 함에 따라 전체 네트워크에 트래픽을 유발시켜 부하를 줍니다.
– 모든 라우터들 사이에 동기화를 시켜주지 않으면 패킷의 경로가 부적절하게될 수 있습니다.
– 라우터들끼리 30초 간격으로 주기적인 경로 업데이트를 하며 경로를 재계산함에 따라 몇 개의 라우터 만 지나도 수 분 이상 소요됩니다. (늦은 수렴성 (Slow Convergence))
– 느린 수렴 시간 때문에, 나쁜 경로를 다른 라우터에게 전하면 그 라우터는 더 나쁜 정보를 또 다른 라우터에게 전달하면서 결국 무한 홉 수 (16) 로 가는 현상이 발생할 수 있습니다.
– 매 30초 마다 업데이트 되기 때문에 홉의 다운 (Down) 등 정보가 늦게 전달되어 잘못된 경로로 무한 루프(Infinite Loop) 를 도는 사태 발생할 수 있습니다.

** 무한 루프를 방지하기 위한 방법들
1) 최대 홉 수를 15로 설정합니다. (라우팅 테이블의 홉 카운트를 최대로 설정 해줍니다.)
2) Split Horizon : 네트워크 정보를 받은 곳으로 네트워크에 대한 라우팅 업데이트를 하지 않습니다. (즉 자신이 보낸 정보는 다시 되돌려 받지 않고 단방향으로만 정보가 전달 됩니다.)
3) Route Poisoning : 장애가 발생되면 홉 카운트를 16으로 해서 주변에 전송합니다. 라우터는 자신의 해당 네트워크를 ‘unreachable’ 이라고 설정 하며 이웃 라우터에서 이 경로에 대한 업데이트가 들어 오더라도 무시합니다. 그러나 이웃한 라우터들은 이 경로에 대한 라우팅 업데이트를 그대로 수행하며, ‘unreachable’ 이라고 지정된 네트워크 값이 들어오면 메트릭 값을 16 으로 바꿉니다. 변경 이후 다른 라우터에서 같은 네트워크 정보가 오더라도 무시합니다.
4) Poison Reverse : 16 이라는 홉의 라우팅 값을 받으면 역으로 라우터가 고장났다고 알려주는 기능입니다.
5) Holddown Timers : 라우터가 특정 연결 구간의 Fail 신호를 전달 받은 후 해당 경로를 라우팅 테이블에서 바로 제거하지 않고 특정 시간 동안 그 정보의 사실을 확인 하기 위해 기다립니다. 따라서 연결 구간의 문제로 네트워크의 연결이 불안정할 때 계속되는 업데이트 정보로 인하여 전체 네트워크가 마비 되는 것을 방지 합니다.
6) Triggered Update : 토폴로지의 변화를 즉시 이웃한 라우터에 알려줍니다.


2. RIP 의 두 가지 버전

RIP v1 RIP v2 
Classful Routing Protocol Classless Routing Protocol 
VLSM 지원 안함 VLSM 지원
No Authentication Support Plain Text or MD5 인증 지원 
Broadcasts를 사용하여 라우팅 광고 Multicasts를 사용하여 라우팅 광고 
자동 축약 불가능 자동 축약 가능
| RIP 의 두 가지 버전 요약


RIP 버전1 에 비해 RIP 버전2 는 클래스리스 라우팅 프로토콜, VLSM 지원 등을 통해 IP 주소 절약이 가능해졌습니다. 또한 보안 인증 기능을 지원하며, 통신 방식을 보안과 트래픽에 취약한 브로드캐스트를 멀티캐스트로 변경하였습니다. 아울러 자동 축약이 가능해졌습니다. (** 자동 축약 : 네트워크의 공통되는 부분을 요약해서 하나의 네트워크로 묶어 표현하는 것 – 라우팅 테이블에서 다루어야 할 정보의 양이 줄어들어 리소스 낭비를 막음)

– 참고
(1) 클래스풀 (Classful) 라우팅 – VLSM 미지원
네트워크의 클래스 (A,B,C 등) 별로 규격화된 IP 주소 구분에 따라 나누어진 네트워크 주소 정보를 토대로 라우팅을 하는 것입니다. 이 경우, 라우팅 업데이트 시에 서브넷 마스크 정보는 함께 보내주지 않습니다. (대상이 되는 네트워크의 모든 서브넷이 모두 동일한 서브넷 마스크를 가지고 있기 때문) 따라서 서브넷 정보가 아닌 클래스 형태의 라우팅 정보를 전달함으로써 전달해야 하는 라우팅 정보의 크기가 커집니다. (리소스 낭비 가능성이 커짐)

(2) 클래스리스 (Classless) 라우팅 – VLSM 지원
네트워크 클래스의 형태와 관계없이 서브넷 마스크 정보를 라우팅 정보와 함께 전달하게되는 라우팅 방식입니다. 따라서 라우팅 업데이트 시에 네트워크 주소와 서브넷 마스크 정보를 함께 보내게 됩니다.

(3) VLSM (Variable Length Subnet Masking, 가변 길이 서브넷 마스크)
VLSM (Variable Length Subnet Masking, 가변길이 서브넷 마스크) 은 서브넷의 서브넷 이라고 요약할 수 있습니다. 즉, 이미 나누어진 서브넷에서 필요한 만큼의 길이로 가변의 프리픽스(Prefix) 를 통해 다시 한번 더 서브넷을 나눌 수 있는 것을 의미합니다. 예를 들어, 할당된 서브넷에서 라우터 간 통신을 위해 사용되는 2개의 IP 주소 이외에 나머지는 VLSM 을 통해 다시 서브넷을 나누어 재사용 및 재 할당이 가능해집니다. 반대로, VLSM 기능이 지원되지 않을 경우, 클래스 (예> C 클래스) 하나를 통째로 할당해야만 합니다.

(** 서브넷 마스크 : 커다란 네트워크를 서브넷으로 나눠주는 방법중 하나로 브로드캐스트의 단점을 보완하기 위한 방법입니다. 할당된 IP 주소를 네트워크 환경에 맞게 나누어 주기위해 만들어지는 이진수 조합을 서브넷 마스크라고 합니다. 서브넷 마스크는 IP 주소의 어디까지가 네트워크이고 어디까지가 호스트인지 보여줍니다.)


3. RIP 의 동작 과정과 패킷

(1) 동작과정 요약
– 매 30초 마다 RIP 응답메세지 (RIP 패킷) 를 브로드캐스팅 합니다. (이때 목적지 IP 주소를 255.255.255.255로 하여 브로드캐스트 주소를 사용)
– 상대에게서 수신된 네트워크 정보를 제외한 모든 네트워크 정보를 상대에게 알려줍니다.
– 수신한 라우터는 자신의 라우팅 테이블을 재작성 합니다. (단, 네트워크 경로에서 더 짧은 홉 수를 수신 받았을 때 만 해당 라우팅 경로 항목을 교체)

(2) 패킷 정보
– RIP 는 기본적으로 UDP 에 실어서 보냅니다. (RIPv1,RIPv2 : UDP 포트번호 520, RIPng : UDP 포트번호 521 사용)

– 명령 구분
> 1 : 라우팅 테이블 정보를 위한 RIP 요청
> 2 : 라우팅 테이블 정보를 위한 RIP 응답
> 3 : trace on (현재 안쓰임)
> 4 : trace off (현재 안쓰임)
> 5 : SUN마이크로시스템즈사 전용

– 버전 정보
> RIPv1 또는 RIPv2

– 주소 Family Identifier
> RIP 는 여러가지 다른 형태의 프로토콜에서 사용이 가능
> IP 는 Address Family Identifier 값이 2 로 설정

– IP 주소

– 메트릭 (홉 카운트)
> 이 값이 16을 가지면 네트워크에 도달하지 못함




#Steven

답글 남기기