RIP에는 RIPv1, RIPv2 이렇게 총 2가지 버전이 있다. 그중, RIPv1의 특징은 Distance Vecotr 알고리즘을 이용하여 전송을 하고 네트워크를 처리할 때 Classful routing protocol을 이용한다는 것이다. 내부 네트워크에서만 사용을 하며, RIP의 가장 큰 특징은 자신의 네트워크만 advertisement 하면 된다는 것이다. RIPv1의 업데이트 방식은 브로드캐스트 방식이며 30초 단위로 주기적인 업데이트를 실시한다. RIPv1은 라우터에 연결된 링크 속도가 아닌 오로지 라우터의 개수 즉, 홉의 개수만 참고하여 패킷 전송을 한다. RIPv1의 균등 로드 분산은 홉의 개수에 의해서만 이루어지는데 비효율적인 균등 로드 분산을 막기 위해서는 속도가 낮은 링크에 연결된 인터페이스에서 'offset-list' 컨피그를 설정하여 강제로 홉의 개수를 증가시키면 된다.
RIP( Routing information Protocol )
1. RIPv1
1) RIPv1 특징
- Distance Vector : 링크상태가 아닌 출발지에서 목적지까지 거리만 보고 가는 것을 의미한다.
- Classful Routing Protocol : 서브넷을 무시하고 IP의 클래스만을 보는 것을 의미한다.
* classful routing protocol 특징 : 네트워크를 클래스로 처리하며, 라우팅 업데이트 시 서브넷 마스크가 포함되지 않는다. VLSM (서로 다른 길이의 서브넷), CIDR(서브네팅된 것 합치는 것) 기능을 지원하지 않는다.
- IGP : 내부에서 사용하는 프로토콜이다.
- RIP는 자신의 네트워크만 기억하면 된다. 즉, 자신의 네트워크만 advertisement 한다.
* 메트릭의 특징
- metric은 출발지에서 목적지까지 갈 때 걸리는 시간을 뜻한다.
- 메트릭 단위 : Hop (홉은 라우터 개수라고 생각하면 쉽다)
- 매트릭을 계산할 때는 자기 자신을 제외하고 계산한다.
- Hop 범위 : 0~16 (실제 사용 가능한 범위 : 1~15)
2) RIPv1 설정
아래 토폴로지 세팅을 바탕으로 각각의 라우터에 config 설정을 해봅니다.
- R1, R3 설정 config
router rip
network 13.0.0.0
network 172.16.0.0
- R2 설정 config
router rip // 삭제 명령어는 no router rip : 프로토콜에 설정된것 모두 삭제
network 13.0.0.0 // no network 13.0.0.0 : 하나만 삭제
- 설정 완료 후 해 볼 명령어
R1,R2,R3#show run
R1,R2,R3#show ip route
각각 ping test ( ping, 목적지IP, source e0/0 또는 IP )
3) RIPv1의 라우팅 업데이트 방식
- 브로드캐스트 방식이다. (목적지 : 255.255.255.255)
- 주기적인 라우팅 업데이트를 실시한다. (업데이트 주기 : 30초)
- 'passive-interface' 명령어를 이용하면, RIP 업데이트가 나가는 것을 차단할 수 있다.
R1(config)#router rip
R1(config-router)#passive-interface fa0/0 // interface fa0/0의 라우팅 업데이트 차단하기.
R1(config-router)#passive-interface lo172
R1(config-router)#end
- 디버깅을 실시간으로 확인하기
R1#debug ip rip // 실시간으로 디버깅을 확인하는 컨피그, 어느정도 시간이 지나면 반드시 꺼야한다. (undebug all)
RIP protocol debugging is on
R1#
*Mar 1 00:31:52.479: RIP: sending v1 update to 255.255.255.255 via Serial1/0 (13.13.12.1)
*Mar 1 00:31:52.483: RIP: build update entries
*Mar 1 00:31:52.483: subnet 13.13.10.0 metric 1
*Mar 1 00:31:52.487: network 172.16.0.0 metric 1
R1#
*Mar 1 00:31:56.375: RIP: received v1 update from 13.13.12.2 on Serial1/0
*Mar 1 00:31:56.375: 13.13.20.0 in 1 hops
*Mar 1 00:31:56.379: 13.13.23.0 in 1 hops
*Mar 1 00:31:56.379: 13.13.30.0 in 2 hops
R1#
*Mar 1 00:32:18.179: RIP: sending v1 update to 255.255.255.255 via Serial1/0 (13.13.12.1)
*Mar 1 00:32:18.183: RIP: build update entries
*Mar 1 00:32:18.183: subnet 13.13.10.0 metric 1
*Mar 1 00:32:18.187: network 172.16.0.0 metric 1
R1#
*Mar 1 00:32:25.343: RIP: received v1 update from 13.13.12.2 on Serial1/0
*Mar 1 00:32:25.343: 13.13.20.0 in 1 hops
*Mar 1 00:32:25.347: 13.13.23.0 in 1 hops
*Mar 1 00:32:25.347: 13.13.30.0 in 2 hops
R1#undebug all
All possible debugging has been turned off
▶debug는 원하는 정보를 얻고 나면 바로 undebug 해줘야 한다. 계속해서 cpu와 메모리를 차지하고 있기 때문이다.
Ex) 패킷트레이서로 R2, R3 'passive-interface' 설정 실시하기
- 아래 토폴로지를 바탕으로 R2, R3 라우터에 passive interface를 설정해 보자
R2(config)#router rip
R2(config-router)#passive-interface fa0/0
R2(config-router)#end
R3(config)#router rip
R3(config-router)#passive-interface fa0/0
R3(config-router)#passive-interface lo172
R3(config-router)#end
R2,R3#show run
R2,R3#show ip protocol ( 프로토콜을 조금 더 자세히 보기 위한 명령어 )
4) 균등 로드 분산(로드 밸런싱)
- 목적지 네트워크에 대한 최적 경로가 다수가 있을 경우, 자동으로 구현된다.
- RIP은 속도는 무시하고 오로지 라우터 개수가 같으면 자동으로 균등 로드 분산이 이루어진다.
- Offset-list를 이용하여 강제로 홉을 증가시키면 균등로드 분산이 해제된다.
Ex) 불필요한 균등로드 분산 예시
▶위의 토폴로지의 경우를 통해 확인해 보면, 목적지까지 홉의 개수는 같으나 링크의 전송속도는 100M, 10M로 차이가 난다. 하지만 홉의 개수가 같으면 자동으로 균등로드 분산을 하는 RIPv1의 특성 때문에 불필요하게 균등로드 분산이 수행된다.
▶해결책 : 홉을 증가시켜 불필요한 균등로드 분산을 막을 수 있다. 아래쪽으로 전송되는 것을 막아야 하므로 offset-list 명령어를 이용하여 hop을 증가시키면 된다. offset-list는 속도가 낮은 링크에 구현한다.
- offset-list 컨피그
R1(config)#router rip
R1(config)#offset-list 0 in 3 e0/0 // ( 0 1 2 3 ) 4홉을 증가시킨다.
확인해 보면 R1에서 R3, R4까지의 홉이 증가되어 업데이트가 되지 않는다.( 아래 토폴로지 확인)
5) RIP 타이머
- RIP 경로를 라우팅 업데이트 및 관리하는 타이머를 의미한다.
R1#show ip protocols
Routing Protocol is "rip"
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Sending updates every 30 seconds, next due in 13 seconds
Invalid after 180 seconds, hold down 180, flushed after 240
- update(30초) : 라우팅 업데이트 주기를 의미한다.
- invalid(180초) : update 타이머 이내에 라우팅 업데이트를 못 받으면, 기회를 더 제공하는 시간을 의미한다.
- hold down(180초) : invalid 타이머 이내에 라우팅 업데이트를 못 받으면, 경로 삭제 대기 시간을 의미한다.
- flushed(240초) : 경로를 라우팅 테이블에서 삭제하는 타이머를 의미한다.
Ex) '13.13.30.0/24'는 현재 invalid 타이머 180초가 만기가 되었다. 그럼 라우팅 테이블에서 몇 초 뒤에 삭제되는가? 60초
▶update 타이머랑 invalid 타이머는 같이 진행되고 flushed 타이머도 동시에 진행된다.
6) RIPv1 삭제 컨피그
R1, R2, R3 각각 접속 후
conf t
no router rip
end
- 타이머 실습
@R2
conf t
access-list 10 deny 13.13.30.0 0.0.0.255 // ACL 관련하여 추후 학습 진행할 예정
access-list 10 permit any
router rip
distribute-list 10 out s1/1
이후 R1 R2 R3를 확인해 보면 R3로 가는 업데이트 차단, R3에서 타이머 확인 시 삭제되는 과정을 볼 수 있다.
7) 패킷 트레이서를 이용하여 RIPv1 균등로드 분산 설정하기
- 위에 토폴로지를 먼저 확인하고 스스로 구현해 본 뒤, 아래 컨피그를 참고해 주시기 바랍니다.
@R1
R1>en
R1#conf t
R1(config)#no ip domain-lookup
R1(config)#line con 0
R1(config-line)#exec-timeout 0 0
R1(config-line)#int s1/0
R1(config-if)#ip addr 13.13.12.1 255.255.255.0
R1(config-if)#no sh
R1(config-if)#int s1/1
R1(config-if)#ip addr 13.13.14.1 255.255.255.0
R1(config-if)#no sh
R1(config-if)#int s1/0
R1(config-if)#
R1(config-if)#clock rate 64000
R1(config-if)#end
R1#wr
Building configuration...
@R2
R2>en
R2#conf t
R2(config)#no ip domain-lookup
R2(config)#line con 0
R2(config-line)#exec-timeout 0 0
R2(config-line)#int fa0/0
R2(config-if)#ip addr 13.13.20.1 255.255.255.0
R2(config-if)#no sh
R2(config-if)#int s1/1
R2(config-if)#ip addr 13.13.12.2 255.255.255.0
R2(config-if)#no sh
R2(config-if)#int s1/0
R2(config-if)#no sh
R2(config-if)#clock rate 64000
R2(config-if)#ip addr 13.13.23.2 255.255.255.0
R2(config-if)#exit
R2(config)#exit
R2#wr
Building configuration...
[OK]
@R3
R3>en
R3#conf t
R3(config)#no ip domain-lookup
R3(config)#line con 0
R3(config-line)#exec-timeout 0 0
R3(config-line)#int s1/1
R3(config-if)#no sh
R3(config-if)#ip addr 13.13.23.3 255.255.255.0
R3(config-if)#int s1/0
R3(config-if)#ip addr 13.13.34.3 255.255.255.0
R3(config-if)#no sh
R3(config-if)#cloc rate 64000
R3(config-if)#end
R3#wr
Building configuration...
[OK]
@R4
R4>en
R4#conf t
R4(config)#no ip domain-lookup
R4(config)#line con 0
R4(config-line)#exec-timeout 0 0
R4(config-line)#int fa0/0
R4(config-if)#ip addr 13.13.40.1 255.255.255.0
R4(config-if)#no sh
R4(config-if)#int s1/0
R4(config-if)#ip addr 13.13.14.4 255.255.255.0
R4(config-if)#no sh
R4(config-if)#cloc rate 64000
R4(config-if)#int s1/1
R4(config-if)#ip addr 13.13.34.4 255.255.255.0
R4(config-if)#no sh
R4(config-if)#end
R4#wr
Building configuration...
[OK]
'IT > Network (네트워크)' 카테고리의 다른 글
EIGRP 프로토콜 정의 및 특징 (1) | 2023.05.08 |
---|---|
RIPv2 설정 및 특징 (1) | 2023.05.07 |
라우팅 테이블 해석하는 방법 (0) | 2023.05.06 |
패킷 트레이서를 이용한 라우팅 테이블 검사 (0) | 2023.05.06 |
네트워크 라우팅 프로토콜 종류 및 통신 방식 (0) | 2023.05.06 |
댓글