RIP(Routing Information Protocol) 이란 ?
- RIP(Routing Information Protocol)은 이동 할 수 있는 경로 수(hop count)를 metric하여 사용한다.
- 목적지까지 가능 경로가 2개 이상 있을 경우, 목적지까지 도달하는데 필요한 라우터 개수가 가장 적은 쪽의 경로를 최적의 경로로 선출하여 라우팅 테이블에 등록하여 사용한다.
- hop count란 경로를 통과할 수 있는 장치의 수입니다.
같은 네트워크는 0의 metric을 가지고 다른 네트워크는 1로 계산하여 최대 15의 metric을 가진다. - 제한적인 경로 때문에 소규모 네트워크 환경이나 네트워크 변화가 적은 환경에서 사용하기 적합하다.
*metric이란?
목적지로 가는 경로가 여러개일 경우 알고리즘을 통하여 경로값을 계산해 메트릭이 낮게 나오는 경로를 최적 경로로 선출하는데 사용합니다.
RIPv1 특징
- 서브넷 정보가 없는 라우팅을 전송하는 Classful routing protocol
- 인접라우터 간에 브로드캐스트 패킷(UDP / port : 520)을 사용하며 라우팅 정보를 교환한다.
- 목적지에 대한 최적 경로가 2개 이상이면 라우터는 균등하게 패킷을 분산 처리한다.
RIPv2 특징
- 서브넷 정보가 있는 라우팅을 전송하는 Classless routing protocol
- 인접라우터 간에 멀티캐스트 패킷을 사용하여 라우팅 정보를 교환한다.
- 다른 Dynamic Routing들과 같이 라우팅 정보를 인증할 수 있어 보안성이 강화된다.
- 라우팅 정보를 교환할 때 tag를 설정할 수 있어 경로 관리가 편리하다.
- 패킷에 Next-hop을 표시하여 불필요한 경로를 방지한다.
RIP Timer
주기적인 RIP 라우팅 업데이트를 할 때 시간 간격을 제어하거나,
네트워크 토폴로지가 변경될 때 RIP 경로를 갱신할 때 사용된다.
- Update Timer (0 ~ 30초)
주기적으로 라우팅 업데이트할 때 사용되는 시간 (수신하면 0초로 리셋) - Invaild Timer (30 ~ 180초)
라우터가 다른 라우터로부터 180초 이상 업데이트를 받지 못하는 경우
업데이트 하지 않는 라우터의 경로를 사용 할 수 없는 경로로 표시한다. - Hold Down Timer (180 ~ 360초)
라우팅 업데이트를 수신하지 않는다. - Flushed Timer (0 ~ 240초)
라우터가 다른 라우터로부터 240초 이상 업데이트를 받지 못하는 경우
업데이트 하지 않는 라우터의 모든 라우팅 테이블 항목을 제거한다.
RIP Timer 설정하는 법
R0(config-router)#timers basic update invalid holddown flush
R0(config-router)#timers basic 50 100 150 300
Cisco Packet Tracer 프로그램을 사용하여 구성했습니다.
이제 RIPv1 설정 명령어를 알아봅시다.
R0 라우터
R0(config)#router rip
R0(config-router)#network 10.10.10.0
R0(config-router)#network 20.20.20.0
R1 라우터
R1(config)#router rip
R1(config-router)#network 20.20.20.0
R1(config-router)#network 50.50.50.0
R1(config-router)#network 60.60.60.0
R2 라우터
R2(config)#router rip
R2(config-router)#network 60.60.60.0
R2(config-router)#network 100.100.100.0
R2(config-router)#network 150.150.150.0
R3 라우터
R3(config)#router rip
R3(config-router)#network 150.150.150.0
R3(config-router)#network 200.200.200.0
- 라우팅 설정 완료 후 -
R0#sh ip route rip
20.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
R 50.0.0.0/8 [120/1] via 20.20.20.2, 00:00:02, GigabitEthernet0/0
R 60.0.0.0/8 [120/1] via 20.20.20.2, 00:00:02, GigabitEthernet0/0
R 100.0.0.0/8 [120/2] via 20.20.20.2, 00:00:02, GigabitEthernet0/0
R 150.150.0.0/16 [120/2] via 20.20.20.2, 00:00:02, GigabitEthernet0/0
R 200.200.200.0/24 [120/3] via 20.20.20.2, 00:00:02, GigabitEthernet0/0
* R - RIP 라우팅 사용
* 200.200.200.0/24 - 목적지 네트워크
* [120/3] via 20.20.20.2 - hop count 와 패킷이 나가는 인접한 인터페이스 IP
* 00:00:02 - 인접한 라우터와 라우팅 업데이트 후 시간
* GigabitEthernet0/0 - 패킷이 나가는 인접한 인터페이스
*RIPv1의 문제점
Classful routing protocol을 사용하여 서브넷 경계가 자동요약이 일어나기 때문에 서브넷 구간에 라우팅 문제가 발생할 수 있습니다.
*해결방법
Offset-list를 이용하여 경로로 들어오는 metric과 나가는 metric 을 증가시킨다.
R0(config-router)#offset-list [access-list-number | access-list-name] {in | out} offset [interface-type interface-number]
R0(config-router)#offset-list 98 in 1 fastEthernet 0/2
이제 RIPv2 설정 명령어를 알아봅시다.
기본 구성은 RIPv1 이랑 같습니다.
R0 라우터
R0(config)#router rip
R0(config-router)#version 2
R0(config-router)#no auto-summary
R0(config-router)#network 10.10.10.0
R0(config-router)#network 20.20.20.0
R0(config-router)#passive-interface gigabitEthernet 0/0 (Gi0/0으로 업데이트 하지 않는다.)
R1 라우터
R1(config)#router rip
R1(config-router)#version 2
R1(config-router)#no auto-summary
R1(config-router)#network 20.20.20.0
R1(config-router)#network 50.50.50.0
R1(config-router)#network 60.60.60.0
R2 라우터
R2(config)#router rip
R2(config-router)#version 2
R2(config-router)#no auto-summary
R2(config-router)#network 60.60.60.0
R2(config-router)#network 100.100.100.0
R2(config-router)#network 150.150.150.0
R3 라우터
R3(config)#router rip
R3(config-router)#version 2
R3(config-router)#no auto-summary
R3(config-router)#network 150.150.150.0
R3(config-router)#network 200.200.200.0
*RIPv1 문제를 해결하기 위한 RIPv2
Classless routing protocol을 사용하여 no auto-summary 명령어를 이용하여 자동요약을 해지시킨다.
Passsive-interface 명령어를 사용하여 불필요한 인터페이스로 RIP 업데이트 전송하는 패킷을 차단시킨다.
R0#sh ip route rip
30.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
R 30.0.0.0/8 [120/3] via 20.20.20.2, 00:00:09, GigabitEthernet0/0
R 30.30.30.0/30 [120/3] via 20.20.20.2, 00:00:09, GigabitEthernet0/0
50.0.0.0/24 is subnetted, 1 subnets
R 50.50.50.0 [120/1] via 20.20.20.2, 00:00:09, GigabitEthernet0/0
60.0.0.0/30 is subnetted, 1 subnets
R 60.60.60.0 [120/1] via 20.20.20.2, 00:00:09, GigabitEthernet0/0
100.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
R 100.0.0.0/8 [120/2] via 20.20.20.2, 00:00:09, GigabitEthernet0/0
R 100.100.100.0/24 [120/2] via 20.20.20.2, 00:00:09, GigabitEthernet0/0
150.150.0.0/16 is variably subnetted, 2 subnets, 2 masks
R 150.150.0.0/16 [120/2] via 20.20.20.2, 00:00:09, GigabitEthernet0/0
R 150.150.150.0/30 [120/2] via 20.20.20.2, 00:00:09, GigabitEthernet0/0
R 200.200.200.0/24 [120/3] via 20.20.20.2, 00:00:09, GigabitEthernet0/0
* MD5 해시
MD5 해시 함수를 이용하여 라우팅 정보를 인증할 수 있는 기능이 있습니다.
수신한 라우팅 정보가 인증이 맞지 않는다면 라우터는 수신한 라우팅 정보를 무시하고 폐기시켜 버립니다.
R0(config)# key chain (name-of-chain)
R0(config-keychain)# key (number)
R0(config-keychain-key)# key-string (string)
R0(config)#interface (type number)
R0(config-if)# ip rip authentication key-chain (name-of-chain)
R0(config-if)# ip rip authentication mode {text | md5}
R0(config)# key chain rip-md5 - 인접한 라우터간 Chain name은 달라도 됨
R0(config-keychain)# key 123123 - 인접한 라우터간 number 동일해야 함
R0(config-keychain-key)# key-string abcdef - 인접한 라우터간 string 동일해야 함
R0(config)# interface gigabitEthernet 0/0
R0(config-if)# ip rip authentication key-chain rip-md5
R0(config-if)# ip rip authentication mode md5
Loop 방지를 위한 기능들
*트리거드 업데이트 방식
WAN처럼 대역폭이 제한된 네트워크 주기적으로 라우팅 업데이트 하는 대신, 변화가 있을 때 라우팅 업데이트를 한다.
(WAN Point-to-Point, 시리얼 인터페이스에서만 지원)
R1(config)#int serial 0/0
R1(config-if)#ip rip triggered
*루트 포이즈닝
특정 네트워크가 장애나 삭제된 것을 인식한 라우터가 인접 라우터에게 metic 16 정보를 광고하여 더 이상 도달할 수 없는 네트워크 정보를 업데이트 해준다.
R1(config)#interface ethernet 1/2
R1(config-if)#ip rip poison-reverse
*스프릿 호라이즌
라우팅 정보를 수신한 라우터는 전달해준 인터페이스 포트를 기록해두고 해당 인터페이스로는 동일한 라우팅 정보를 중복 전달하지 않는다.
R0(config)#interface gigabitEthernet 0/0
R0(config-if)#ip split-horizon
감사합니다 !!
자세한 내용은 CISCO 홈페이지에서 확인 가능합니다.
'Network > CISCO' 카테고리의 다른 글
[Network] CISCO - DHCP란 무엇인가? (0) | 2020.06.28 |
---|---|
[Network] CISCO - VTP란 ? (Vlan Trunking Protocol) (0) | 2020.06.25 |
[Network] CISCO - Port-Security 설명 & 설정 (0) | 2020.03.27 |
[Network] CISCO - Static Routing 이란 ? (0) | 2020.03.09 |
[Network] CISCO - Switch의 기본 설정 (0) | 2020.03.09 |