bxm's IT Story
Dynamic Routing Protocol - RIP(1) 본문
##
## 전까지 배웠던 Static(정적인) 것과 반대되는 내용으로 자기 알아서 Dynamic(동적으로) 움직이는 프로토콜이다.
##
IGP (Interior Gate Protocol) 중장거리용 |
RIP | Distance Vector 프로토콜 (거리 방향 프로토콜) |
IGRP | ||
EIGRP | Hybrid 프로토콜 (Advance Distance Vector_DUAL 알고리즘) |
|
OSPF | Link-state | |
IS-IS | ||
EGP (Exterior Gate Protocol) 장거리용 |
BGPv4 | Path Vector |
#### Routing Information Protocol [RIP]
1. Distance Vector Rouing Protocol
2. Metric으로 Hop-count를 사용한다.
3. 벨먼 포드 무어 박사가 개발하였다. ('무어 알고리즘' 이라고 한다.)
4. Classful 하다.
5. Auto-summary(자동 축약)과 Split-horizon(받은걸 뱉는 것/뱉지 않는것) 현상이 있다.
6. 라우터 15대 이하의 소형망에 사용이 적합하다.
7. UDP 520번 Port를 사용한다.
8. Version 1과 2가 있다.
- [V1] : 255.255.255.255 채널을 사용한다.
라우팅 정보를 보낼 때는 V1 방식을 사용하고,
받을 때는 V1, V2 모두 알아 듣는다.
- [V2] : 멀티캐스트(224~239) 224.0.0.9 채널을 사용한다.
* Frame-Relay 에서 1.1 로 시작하는 IP 말고, 14.14로 시작하는 +(십자형) 물리적 구조 구현
[공통]
ena
conf t
no ip domain lookup
line c 0
logg sy
exec-timeout 0
exit
line vty 0 4
pass cisco
exit
hostname ## 그대로 적용.
int s1/0
no shut
encapsulation frame-relay
no frame-relay inverse-arp
#아무것도 안하고 내버려 놔두면, LMI 프로토콜이 돌아서 LMI가 DLCI에 있는 모든 회선을 엮어버림 (Full-mesh로!!)
#그래서 DLCI가 모두 Mapping 되버리므로 우리는 3개만 쓰면 되므로 회선이 전부 Open이 되어버림.!!
clock rate 64000
#클럭을 왜주냐면 R4가 DCE 이므로, DCE에서 클럭을 주므로 각 라우터에서 클럭을 줘야함.
[R1]
int lo0
ip add 14.14.1.1 255.255.255.0
int s1/0
ip add 14.14.12.1 255.255.255.0
fram map ip 14.14.12.2 102 br
end
[R2]
int lo0
ip add 14.14.2.2 255.255.255.0
int s1/0.12 m
ip add 14.14.12.2 255.255.255.0
fram map ip 14.14.12.1 201 br
exit
int s1/0.23 m
ip add 14.14.23.2 255.255.255.0
fram map ip 14.14.23.3 203 br
end
[R3]
int lo0
ip add 14.14.3.3 255.255.255.0
int s1/0.23 m
ip add 14.14.23.3 255.255.255.0
fram map ip 14.14.23.2 302 br
exit
int s1/0.34 p
ip add 14.14.34.3 255.255.255.0
frame interface-dlci 304
end
[R4]
int lo0
ip add 14.14.4.4 255.255.255.0
int s1/0.34 p
ip add 14.14.34.4 255.255.255.0
frame interface-dlci 403
end
오류확인
show run int s1/0
show run int s1/0.12
show run int s1/0.23
show run int s1/0.34
show fram map
기존에는 Static으로 IP ROUTE 명령어를 통해서 엄청 많은 IP를 삽입했었다.
그런데 이제 Dynamic Routing Protocol은 자기들끼리의 언어로 속삭이며 학습해서
자기들이 알아서 IP를 저장한다.
R1 : "R2야 나는 1.1이랑 12.0 있다."
R2 : "R3야 나는 2.2랑 12.0이랑 23.0 있다."
R3 : "R4야 나는 3.3이랑 23.0이랑 34.0 있다."
==> 여기서 R4가 R3한테 정보를 준다.
==> R3가 오른쪽에 있는 정보 모두를 R2에게 준다.
==> R2가 오른쪽에 있는 정보 모두를 R1에게 준다.
이 속삭이는 언어가 바로 RIP 이다.
[R1]
conf t
router RIP
## R1 자신에게 있는 IP 정보를 알려준다.
network 14.14.1.0
network 14.14.12.0
## Running-config 명령어에서 RIP로 시작하는 명령어만 보겠다. 라는 뜻
show running-config | begin rip
## Auto-Summary 현상 ==> Classful 하다.
## 14로 시작하는 것은 A클래스(0~126)
[R2]
conf t
router RIP
network 14.0.0.0
end
## 어차피 자기가 짤라먹을 것이므로 14.x.x.x 뒷 부분을 써줄 필요가 없다.
[R3]
conf t
router RIP
network 14.0.0.0
end
## 어차피 자기가 짤라먹을 것이므로 14.x.x.x 뒷 부분을 써줄 필요가 없다.
[R4]
conf t
router RIP
network 14.0.0.0
end
## 어차피 자기가 짤라먹을 것이므로 14.x.x.x 뒷 부분을 써줄 필요가 없다.
[R1]
show ip route
## 지가 알아서 학습 전부 다했음.
## 실제로 R1부터 R4까지 통신 다 된다.
하.지.만. 정말 편하고 정말 좋지만... 문제점이 있다.
Broadcast 채널로 통신한다고 했는데 정말 그런지 확인.
[R1]
debug ip RIP
## 30초마다 라우터가 한마디씩 함.
un all
## 위의 명령어를 치면 멈춘다.
R1 -> 14.14.2.0 가려면 1개를 거쳐 가므로 1hops
-> 14.14.3.0 가려면 2개를 거쳐 가므로 2hops (홉카운트라고 부름)
문제점 1-Broadcast 문제
RIP : received 14.14.12.2 라서 Router2를 통해 받긴 받았는데..
##받는건 14.14.12.2로부터 받았는데.. 보내는건 아래와 같이 255.255.255.255 (모~든 채널이 다 들을 수 있는 ##braodcast)로 보낸다. 근데 그 Broadcast로 보내는데 Loopback0 (14.14.1.1)로 보내버림...
##근데 14.14.1.1 Loopback 위에 라우터가 있다? 아니 없다. 그래서 허공에 대고 소리치는것임. 이렇게 보내면 안된다.
conf t
passive-interface loopback 0
## 이 명령어를 쓰면 자기 Loopback 쪽으로는 말을 하지 않음. (해당 인터페이스로 RIP 통신을 안한다.)
문제점 2 , Split-horizon 현상
R1 -> R1으로 가려면 0hops인데, 갑자기 쌩뚱맞게 14.14.1.0(R1)으로 가려면 1hops라고 말한다.
R1 -> R2로 가려면 1hops인데, 갑자기 쌩뚱맞게 14.14.2.0(R2)로 가려면 2hops라고 말한다.
한마디로 Overeat 한 것임.
예시를 들면
R2 -> R1 : R1아 R2로 가려면 1hops래. (1hops가 여기서 소모되어버림;)
R1 -> R2 : R2야 나부터 R2로 가려면 1hops래. (1+1hops가 되어서 2hops가 되어버림)
## 이 설정에 대하여 어떻게 찾을것인가?
show ip interface s1/0
- Split horizon is <Disabled> : 받은 걸 다시 줘버림. R2->R1->R2
- <Abled> : 받은 걸 다시 주지 않음. R2->R1
<해결법>
int s1/0
ip split-horizon
end
show ip interface s1/0
<다시 확인>
## 이제 R2한테 받은걸 다시 R2한테 알려주는 것이 아니라, 자기만 아는 걸 말해줌.
## 자신의 loopback인 1.1 하나만 준다.
## 12.0 도 R1과 R2 둘 다 알고 있는 내용이므로 알리지 않는다.
debug ip RIP
## 다시 명령어를 쳐보면
## 30초마다 Hello를 보내야 하는데, 30초가 지났는데 Hello가 오지 않는다면 Invalid Time(3분)으로 넘어간다.
## 근데 그 3분 있다가도 Hello가 오지 않는다면, Routing Update를 받지 않음.
ex) 여자친구랑 하루 동안 전화를 하지 않음 : Hello를 하루 동안 보내지 않음
여자친구랑 3일동안 전화를 하지 않음 : 3일 동안 "무슨 일 있나?" (Invalid Time)
3일이 지나면 여자친구가 무슨 말도 듣지 않는 삐진 상태가 되어서 무슨 말로도 설득이 안된다. (Hold Time)
Invalid Time : Hello를 보낸 순간부터 Invalid Time 시작임(0~180초)
30초 안에 Hello가 다시 온다고 해도 Invalid Time임.
Invalid Time이 지난 후 60초가 지나면(181~240초) 끊어버림. 무슨 말을 해도 무시해버림.
Flush가 되어버리면 라우터에서 빠져버림?
Hold-time이 들어가면 : 파서블리 타임.
## 게이트웨이 2중화 / RIP 다시 복습하기.
아래부터 6월 15일 1교시
여기서부터 처음부터 놓쳐서 필기를 제대로 하지 못하였음.
선생님 말씀 들어보니, R1]에서 루프백을 죽이고, R2]에서 debug ip rip을 썼는데 거기에는 1.1이 나와있으나
ping 14.14.1.1 을 해본 결과 통신이 되지 않는 것을 보여주셨음. 그래서 RIP을 쓰지 않는다고 하심.
* ntp server
* possibly down
* Route poisoning
* Poison reverse
* hold time
* metric 16 등등 해서 다시 검색해보기...
<대충 요약>
R1이 죽으면 3분 있다가 R2에 possibly down이 뜨면서 인접 라우터인 R3에 Route poisoning 진행(metric 16).
그러면 동시에 R2가 Poisoning reverse를 받고, R2는 1분 있다가 라우팅 테이블에서 지운다.
==> RIP의 컨버전스 Time은 4분이다. 그러면 RIP을 사용하며 HSRP 구성할 때 standby 10 preempt delay minimum 4.
RIP이 방향을 틀어야(rip convergence time이 4분) HSRP가 방향을 트니까 RIP 보다 빨리 제어권을 넘기면 안된다.
그래서 delay minimum 4를 해야함.
R2]
clock set 09:16:00 15 june 2021
R1]
conf t
ntp master
## R2를 ntp master로 놔둬보자.
R2]
conf t
ntp server 14.14.2.2
## 만약 마름모 모형으로 결합되어 있는 모형에서 R1->R2가 단절이 나버리면
## R1->R3->R4->R2로 가는길이 있음에도 가지를 못함.
## 그래서 loopback을 찍어주는 것임. (잘 모르겠음. 검색해보기.)
R3]
conf t
ntp server 14.14.3.3
R4]
conf t
ntp server 14.14.4.4
R1]
show clock
## 자동 동기화 된 것을 확인.
[공통]
service timestamps debug datetime
service timestamps log datetime
## 'debug와 로그 메세지를 시간 단위로 표현해라.'
R1]
show ip route
## 다 들어있는 것을 확인.
[공통]
debug ip rip
R1]
int lo0
shut
## 시간까지 전부 다 맞춘 상태에서 shutdown을 해버리면, R2에서 debug ip rip을 했을 시 아래의 2개가 뜬다.
Route poisoning : 독약을 준 것. debug ip rip에서 metric 16이 나오는데, metric 16은 죽었다는 뜻임.
Poison reverse : 독약 잘 받았다고 echo가 온 것.
## 거의 동시에 Route posioning과 Poison reverse를 주고 받음. 아까 시간을 맞춘 이유가 그것 때문임.
R2]
show ip route
R1]
conf t
int lo0
no shut
R2]
show ip route
<Alias 축약키를 한번 사용해보자>
alias exec c conf t
alias exec i sh ip route
alias exec b sh ip int br
공통]
alias exec c conf t
alias exec i sh ip route
alias exec b sh ip int br
## c + 엔터 : Conf t
## i + 엔터 : Show ip route
## b + 엔터 : Show ip int br
R1]
conf t
int lo0
shut
R2]
show ip route
##관찰. 1.1이 바로 사라짐.
R1]
do show clock
## do show clock 하고 바로 shutdown
## 죽이는 순간부터 Hello를 보내지 않으므로
'Network > Cisco (KEDU)' 카테고리의 다른 글
Dynamic Routing Protocol을 마치고 난 후 (0) | 2021.06.15 |
---|---|
Dynamic Routing Protocol - RIP(2) (0) | 2021.06.15 |
게이트웨이 이중화(Final) - MHSRP(90%) // MVRRP(10%) (0) | 2021.06.14 |
Gateway 이중화(2) (0) | 2021.06.14 |
Gateway 이중화(1) - HSRP (0) | 2021.06.14 |