RIP(Routing Information Protocol) 제 8장 RIP(Routing Information Protocol)
Contents 1 RIP 라우팅 프로토콜 2 RIP 설정방법 3 RIPv2 라우팅 프로토콜
1 RIP 라우팅 프로토콜 1) RIP 개념 RIP 라우팅 프로토콜이란?? 디스턴스 벡터 라우팅 프로토콜이며, 인접한 라우터로 라우팅 업데이트를 할 때 서브넷 마스크까지 전달하지 않는 클래스풀 라우팅 프로토콜 2) RIP 특징 (1)라우팅프로토콜 분류 RIP는 내부 네트워크에서 주로 사용되며, 경로지정을 하나밖에 할 수 없는 단일 경로 라우팅 프로토콜이며, 알고리즘은 거리 벡터 방식을 사용한다. (2) 서비스하는 네트워크 주소 RIP는 다양한 네트워크 중에서도 IP네트워크만 지원하며, IP네트워크 주소를 이용한다. (3) Metric RIP은 최적의 경로를 결정하는 것은 홉 카운트를 사용한다. 또한, RIP 최대 15홉 카운트까지만 인식을 할 수가 있으며, 15홉 이상일 경우에는 모든 패킷을 버리는 규칙이 있다. (4) 경로정보 갱신주기 RIP 라우팅 프로토콜은 디스턴스 벡터를 사용하며, 인접한 라우터와 매 30초마다 자신이 가지고 있는 정보를 인접한 라우터로 전송한다. (5) 갱신 방법 RIP은 네트워크의 변화된 정보만 교환하는 것이 아니고, 매 30초마다 자신이 가지고 있는 라우팅 테이블에 모든 정보를 전송한다 (6)이웃 설정 관계 이웃하는 라우터들과 대등한 관계로 정보를 교환하는 Flat 구조방식을 지원한다. (7) 광고하는 IP 네트워크 주소 형태 RIP은 클래스풀 라우팅 프로토콜이며, 인접한 라우터로 서로 정보를 주고 받을 때, 서브넷 마스크까지 전송을 하지 않는다
1 RIP 라우팅 프로토콜 3) RIP의 장단점 RIP의 장점 인터넷 표준 라우팅 프로토콜로써 모든 벤더에서 지원을 한다. 구현 및 운영이 간단하다. 대규모 네트워크에서는 사용할 수 없다. - 최대 홉 카운트는 15개이다. - 16 홉 카운트부터는 모든 패킷을 전송할 수 없다. 최적의 경로를 선택할 수 있는 방법은 한 가지 뿐입니다. - RIP은 오직 경로를 선택할 때 홉 카운트로만 최적의 경로를 선택한다. 디스턴스 벡터 알고리즘으로 컨버전스 타임이 느리다. 라우팅 테이블이 큰 경우에는 네트워크 대역폭이 많이 낭비가 될 수 있다. RIP의 단점
1 RIP 라우팅 프로토콜 4) RIP의 경로선택 < RIP 와 홉 카운트> 1.5M 56K A C B 1.1.1.1 3.3.3.1 2.2.2.1 1.1.1.2 3.3.3.2 2.2.2.2 ① ② A라우터가 C라우터까지 패킷을 전달하기 위해서 일반적으로 생각을 하면 네트워크 속도가 빠른 ②번을 통해서 전달을 할 것이다. 하지만, RIP은 전혀 네트워크 속도 같은 것은 고려하지 않고 홉 카운트로 최적의 경로를 선택하기 때문에 A라우터는 직접적으로 연결되어 있는 C라우터로 바로 패킷을 전송을 하게 된다.
1 RIP 라우팅 프로토콜 5) RIP의 비용계산 RIP의 비용계산 방법 A B C P 홉 카운트 > 15 연결불가 홉 1 홉 2 < 홉 카운트 > 홉 0 RIP의 비용계산 방법 ① 직접 접속되어 있는 네트워크에 대한 비용은 0으로 계산한다. ② 인접한 라우터로 업데이트를 할 때 거리의 값을 1로 계산을 합니다. 예) A라우터에서 B라우터로 업데이트를 할 때. ③ 인접한 라우팅 정보를 광고할 때 기존 비용 값에 1을 더한다. ④ RIP는 목적지까지 갈 수 있는 여러 경로 중에서 홉 카운트가 작은 경로를 선택한다. ⑤ RIP의 최대 홉 카운트는 15이고, 홉 카운트가 >15 인 것은 해당 목적지까지 가는 경로가 없는 것으로 판단한다.
1 RIP 라우팅 프로토콜 6) 라우팅 정보 광고 (1) 라우팅 정보 광고 절차 A B 라우팅 테이블 30초 마다 갱신 라우팅 테이블 30초 마다 갱신 망 형태가 변경되어 라우팅 테이블 갱신을 요구함 라우터 A 에서는 변경된 라우팅 테이블을 인접한 네트워크로 광고함 < A라우터 에서 B 라우터로 라우팅 정보 교환 하는 라우팅 정보 광고 절차>
1 RIP 라우팅 프로토콜 6) 라우팅 정보 광고 (2) 라우팅 정보 광고 절차의 예 A B C 10.1.0.0 10.2.0.0 10.3.0.0 10.4.0.0 E0 S0 S1 Routing Table 1단계 : 직접 접속되어 있는 네트워크 정보 현재 각 라우터에 직접 연결되어 있는 네트워크의 홉 카운트는 0이다.
1 RIP 라우팅 프로토콜 6) 라우팅 정보 광고 (2) 라우팅 정보 광고 절차의 예 2단계 : 서로 인접한 라우터간 정보 교환 A B C 10.1.0.0 10.2.0.0 10.3.0.0 10.4.0.0 E0 S0 S1 Routing Table 1 위 그림에서 인접하고 있는 라우터간 정보를 교환한 후 네트워크의 홉 카운트에 대한 변화를 확인해보면 B 라우터 는 자신의 S0 인터페이스를 지나 인접한 A 라우터의 E0와 접속되어 있는 네트워크(10.1.0.0) 와는 하나의 홉을 지나야 한다고 표현되어 있다. 마찬가지로 A 라우터 는 10.3.0.0까지 정보를 전달하기 위해서는 자신의 S0 인터페이스를 통해서 하나의 라우터를 거쳐서 도달할 수 있다.
1 RIP 라우팅 프로토콜 6) 라우팅 정보 광고 (2) 라우팅 정보 광고 절차의 예 3단계 : 네트워크 전체에 대한 정보 교환 A B C 10.1.0.0 10.2.0.0 10.3.0.0 E0 S0 S1 Routing Table 10.4.0.0 1 2 전체 네트워크에 대한 정보를 교환한 후 라우터 A는 라우터 C의 E0 네트워크(10.4.0.0)에 대한 정보를 자신의 라우터 S0를 통해 전달한다. 이 때 홉 카운트는 2이다. 마찬가지로 라우터 C 또한 라우터 A의 E0 네트워크에 대한 정보를 자신의 라우터 S1을 통해 알 수 있으며, 홉 카운트는 두개의 네트워크를 지나 있다는 것을 알 수 있다.
1 RIP 라우팅 프로토콜 7) 라우팅 루프 문제 컨버전스 타임(Slow (Convergence)현상으로 인해 라우터 간에는 무한 루프가 발생하고, 정보가 전달되지 않는 문제가 야기되어 라우팅 루프 현상이 발생한다. 어떤 경우에 발생하는지 그림을 통해 알아보자. A B C 10.1.0.0 10.2.0.0 10.3.0.0 10.4.0.0 E0 S0 S1 Routing Table 1 2 데이터가 원활하게 전달되는 경우
1 RIP 라우팅 프로토콜 7) 라우팅 루프 문제 A B C 10.1.0.0 10.2.0.0 10.3.0.0 10.4.0.0 E0 S0 S1 Routing Table 1 2 Down X 라우터 C의 이더넷 포트가 비활성화되어 10.4.0.0 네트워크의 라우팅 테이블이 변경된다.
1 RIP 라우팅 프로토콜 7) 라우팅 루프 문제 A B C 10.1.0.0 10.2.0.0 10.3.0.0 10.4.0.0 E0 S0 S1 Routing Table 1 2 X 라우터 C의 라우팅 테이블에서 10.4.0.0 네트워크로 가는 경로가 E0 인터페이스에서 S0 인터페이스로 바뀌었다..
1 RIP 라우팅 프로토콜 7) 라우팅 루프 문제 A B C 10.1.0.0 10.2.0.0 10.3.0.0 10.4.0.0 E0 S0 S1 Routing Table 1 2 4 3 X 계속해서 라우터간 라우팅 정보를 서로 주고 받은 후 10.4.0.0 메트릭이 증가한다.
1 RIP 라우팅 프로토콜 7) 라우팅 루프 문제 A B C 10.1.0.0 10.2.0.0 10.3.0.0 10.4.0.0 E0 S0 S1 Routing Table 1 2 6 4 5 X 계속해서 라우터간 라우팅 정보를 서로 주고 받은 후 10.4.0.0 네트워크에 대한 비용이 꾸준히 증가하는 것을 볼 수 있는데 이러한 증상을 무한계수라고 한다. 라우팅 루프가 발생하면 패킷이 전달되지 않고 네트워크내에 계속 존재하여 네트워크의 성능을 떨어뜨린다.
1 RIP 라우팅 프로토콜 8) 라우팅 루프 문제 해결방안 (1) 최대 홉 지정 네트워크에 장애가 발생하는 경우 즉시 해당 경로의 홉 카운트를 무한대로 인식하는 최대값으로 조정하는 방법 A B C 10.1.0.0 10.2.0.0 10.3.0.0 10.4.0.0 E0 S0 S1 Routing Table 1 2 16 X 무한대 값을 100이나 1000과 같은 큰 수를 사용하지 않고 표준화기구에서 16으로 지정한 이유는 거리 벡터의 특성상 홉 카운트가 크면 망이 안정화되는데 소요 시간이 길어서 망의 상태가 오랜 시간동안 불안정하기 때문입니다.
1 RIP 라우팅 프로토콜 8) 라우팅 루프 문제 해결방안 (2) 스플릿 호라이즌 (Split Horizon) 상대방에서 받은 정보를 다시 보낸 라우터에게 보내지 않는 방법 A B C 10.1.0.0 10.2.0.0 10.3.0.0 10.4.0.0 E0 S0 S1 Routing Table 1 2 X 스플릿 호라이즌은 상대방에서 받은 정보를 다시 보낸 라우터에게 보내지 않는 방법을 의미한다. 하나의 라우터가 어느 네트워크 정보를 인접한 라우터에게서 받았다면 그 인접한 라우터가 그 네트워크에 더 가까이 있을 것이 분명하므로 이러한 정보를 다른 라우터들로부터 더 이상 받을 필요가 없다는 것이다.
1 RIP 라우팅 프로토콜 8) 라우팅 루프 문제 해결방안 (3) 루트 포이즈닝 (Route Poisoning) A B C 10.1.0.0 10.2.0.0 10.3.0.0 E0 S0 S1 X 10.4.0.0 망번호 10.4.0.0 비용 16 C라우터인 10.4.0.0 네트워크가 다운이 되었다면 RIP은 메트릭 값을 16으로 간주를 하게 된다. 그럼 다른 라우터들한테도 10.4.0.0 네트워크가 다운되었다는 것을 알려주는 것이 바로 루트 포이즈닝 이다. 루트 포이즈닝을 받은 라우터들은 10.4.0.0 네트워크가 다운이 되었다는 것으로 간주를 하게 되는 것이다.
1 RIP 라우팅 프로토콜 8) 라우팅 루프 문제 해결방안 (4) 포이즌 리버스(Poison Reverse) 루트 포이즈닝을 받은 라우터는 루트 포이즈닝을 보낸 라우터가 아닌 다른 라우터를 통해서 다운되었던 10.4.0.0으로 갈 수가 있다면 루트 포이즈닝을 보낸 라우터에게 대체 경로가 있다는 것을 알려주지만, 만약, 대체 경로가 없을 경우 루트 포이즈닝을 보낸 라우터한테 10.4.0.0 네트워크는 메트릭이 16이다는 것을 다시 통보해 주는것 A B C 10.1.0.0 10.2.0.0 10.3.0.0 E0 S0 S1 X 10.4.0.0 망번호 10.4.0.0 비용 16 C 라우터인 10.4.0.0 네트워크가 다운이 되었을 경우 즉시, 메트릭을 16으로 만들어서 B라우터로 전송을 하게 되면, B라우터는 다시 A라우터로 C라우터로 부 터 받은 정보를 A라우터로 전송을 하게 된다. 이때 C 라우터인 10.4.0.0 네트워크로 갈 수 있는 다른 경로가 있을 경우 이 경로를 알려주지만, 만약, 다른 경로가 없을 경우 루트 포이즈닝을 보낸 라우터로 10.4.0.0 네트워크는 메트릭이 16이라고 다시 역으로 알려주는 것을 포이즌 리버스라고 한다.
1 RIP 라우팅 프로토콜 8) 라우팅 루프 문제 해결방안 (5) 홀드 다운(Hold Down) 네트워크 장애시 잘못된 정보로 인해 라우팅 루프가 발생하는 것을 방지하기 위한 것 비활성화되어 10.4.0.0 DOWN A B C 10.1.0.0 10.2.0.0 10.3.0.0 10.4.0.0 E0 S0 S1 X hold-down 시간 후에 10.4.0.0 라우팅 테이블을 갱신하겠습니다. 홀드 다운이란 네트워크 장애시 잘못된 정보로 인해 라우팅 루프가 발생하는 것을 방지하기 위한 것이다. C라우터에 10.4.0.0 네트워크가 다운이 되었다가 바로 다시 정상 상태로 돌아왔을 경우 라우터B는 아직 라우터 C의 정보를 받을 준비가 되지 않았는데 라우팅 업데이트가 이루어 진다면 라우팅 루프가 발생할 수 있기 때문에 이러한 문제점을 해결하기 위해서 홀드 다운 타이머 동안 전송하는 정보를 받아들이지 않도록 하는 것이다.
1 RIP 라우팅 프로토콜 8) 라우팅 루프 문제 해결방안 (6) 트리거드 업데이트(Triggered Update) 네트워크 토폴로지 변화에 대한 정보를 즉각적으로 전달하여 인접한 라우터들이 변화된 정보를 라우팅 테이블에 반영할 수 있도록 하는 방법 A B C 10.2.0.0 10.3.0.0 10.4.0.0 E0 S0 S1 X 10.1.0.0 10.4.0.0 망이 끊어졌습니다. Triggered Update는 10.4.0.0 네트워크가 끊어졌다는 사실을 곧바로 전달함으로써 잘못된 라우팅 정보의 전송을 사전에 차단하는 효과가 있다
2 RIP 설정방법 1) 명령어 형식 및 사용법 (1) 명령어 형식 환경설정 모드에서 RIP 설정 모드로 전환하는 명령 Router(config)#router rip Router(config-router)#network Network_Number 10.1.10.1 10.1.10.2 10.1.1.1 10.1.2.1 R1 R2 R1(config)#router rip R1(config-router)#network 10.0.0.0 R2(config)#router rip R2(config-router)#network 10.0.0.0
2 RIP 설정방법 1) 명령어 형식 및 사용법 (2) RIP 설정 예제 RouterA(config)#router rip 172.16.1.1 S2 E0 S3 192.168.1.1 10.1.1.1 10.2.2.2 10.1.1.2 10.2.2.3 172.16.1.0 A B C 192.168.1.0 RouterA(config)#router rip RouterA(config-router)#network 172.16.0.0 RouterA(config-router)#network 10.0.0.0 RouterC(config)#router rip RouterC(config-router)#network 192.168.1.0 RouterC(config-router)#network 10.0.0.0 RouterB(config)#router rip RouterB(config-router)#network 10.0.0.0
2 RIP 설정방법 1) 명령어 형식 및 사용법 (3) 라우팅 정보 보기 (Show) RouterA#show ip route 172.16.1.1 S2 E0 S3 192.168.1.1 10.1.1.1 10.2.2.2 10.1.1.2 10.2.2.3 172.16.1.0 A B C 192.168.1.0 RouterA#show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area [생략] 172.16.0.0/24 is subnetted, 1 subnets C 172.16.1.0 is directly connected, Ethernet0 10.0.0.0/24 is subnetted, 2 subnets R 10.2.2.0 [120/1] via 10.1.1.2, 00:00:07, Serial2 C 10.1.1.0 is directly connected, Serial2 R 192.168.1.0/24 [120/2] via 10.1.1.2, 00:00:07, Serial2
2 RIP 설정방법 1) 명령어 형식 및 사용법 (4) 라우팅 프로토콜 Debug RouterA#debug ip rip 172.16.1.1 S2 E0 S3 192.168.1.1 10.1.1.1 10.2.2.2 10.1.1.2 10.2.2.3 172.16.1.0 A B C 192.168.1.0 RouterA#debug ip rip RIP protocol debugging is on RouterA# 00:06:24: RIP: received v1 update from 10.1.1.2 on Serial2 00:06:24: 10.2.2.0 in 1 hops 00:06:24: 192.168.1.0 in 2 hops 00:06:33: RIP: sending v1 update to 255.255.255.255 via Ethernet0 (172.16.1.1) 00:06:34: network 10.0.0.0, metric 1 00:06:34: network 192.168.1.0, metric 3 00:06:34: RIP: sending v1 update to 255.255.255.255 via Serial2 (10.1.1.1) 00:06:34: network 172.16.0.0, metric 1
2 RIP 설정방법 1) 명령어 형식 및 사용법 (4) 라우팅 프로토콜 Debug RouterA#show ip protocols 172.16.1.1 S2 E0 S3 192.168.1.1 10.1.1.1 10.2.2.2 10.1.1.2 10.2.2.3 172.16.1.0 A B C 192.168.1.0 RouterA#sh ip protocols Routing Protocol is "rip" Sending updates every 30 seconds, next due in 0 seconds Invalid after 180 seconds, hold down 180, flushed after 240 Outgoing update filter list for all interfaces is Incoming update filter list for all interfaces is Redistributing: rip Default version control: send version 1, receive any version Interface Send Recv Key-chain Ethernet0 1 1 2 Serial2 1 1 2 Routing for Networks: 10.0.0.0 172.16.0.0 Routing Information Sources: Gateway Distance Last Update 10.1.1.2 120 00:00:10 Distance: (default is 120)
3 RIPv2 1) RIP V2 동작 개념 구분 RIPv1 RIPv2 라우팅 업데이트 클래스풀 라우팅 프로토콜 클래스리스 라우팅 프로토콜 브로드캐스트 255.255.255.255 사용 멀티캐스트 224.0.0.9 사용 서브넷 마스크 전송 불가 전송 가능 인증 불가 가능 Triggered Update 기능 불가능
3 RIPv2 2) RIP V2 설정방법 명령어 형식 Router(config)#router rip Router(config-router)#version ? <1-2> Version 10.1.10.1 10.1.10.2 10.1.1.1 A B 10.1.2.1 RouterA(config)#router rip RouterA(config-router)#network 10.0.0.0 RouterA(config-router)#version 2 RouterB(config)#router rip RouterB(config-router)#network 10.0.0.0 RouterB(config-router)#version 2