bxm's IT Story

Dynamic Routing Protocol - RIP(2) 본문

Network/Cisco (KEDU)

Dynamic Routing Protocol - RIP(2)

bxmsta9ram 2021. 6. 15. 10:22

R1]

conf t

int lo9

   ip add 14.15.1.1 255.255.0.0

## 16비트

 

int lo10

   ip add 7.1.1.1 255.255.255.0

   exit

 

router rip

   net 7.0.0.0


## 이제 R2에서 결과값 확인 // 30초 기다려야함.

## 여기서 알 수 있는게 무엇이냐면, 

 

R2]

show ip route

<특징>

1. 주인터페이스와 서브넷 마스크가 같으면 축약되지 않은 온전한 라우팅 정보를 보낸다.

2. 주인터페이스가 같고, 서브넷 마스크가 다르면 라우팅 정보를 보내지 않는다.

3. 주인터페이스가 다르면, 축약된 정보를 전송한다.

 

1. 지금까지 R1->R2로 가는 진입점이 14.14.12.1/24 인데

                              R1의 루프백이 14.14.1.1/24이다.

 

그럼 루프백의 14주인터페이스와 24마스크값이 서로 같으므로 축약하지 않고 온전하게 보내게 된다.


2. 근데 방금 lo9에서 ip가 ip add 14.15.1.1/16 인데

                     R1의 진입점이 14.14.12.1/24 이다.

 

그럼 주인터페이스는 같고, 마스크 값이 다르므로 라우팅 정보를 보내지 않음.


3.  lo10에서 ip add 7.1.1.1/16 인데

   R1의 진입점이 14.14.12.1/24 이다.

 

서브넷 마스크가 다르더라도, 주인터페이스도 다르므로 축약된 정보를 전송한다.

여기서 14.0.0.0 으로 축약이 되어야 하는데


R1]

show ip int br

conf t

no lnt lo9

no int lo10

## lo9와 lo10을 날리고, R2와 R4에서 실습을 해보자.

 

R2]

conf t

int lo9

   ip add 9.9.0.1 255.255.255.0

   ip add 9.9.1.1 255.255.255.0 secondary

   ip add 9.9.2.1 255.255.255.0 secondary

   ip add 9.9.3.1 255.255.255.0 secondary

   ip add 9.9.4.1 255.255.255.0 secondary

   ip add 9.9.5.1 255.255.255.0 secondary

   ip add 9.9.6.1 255.255.255.0 secondary

   ip add 9.9.7.1 255.255.255.0 secondary

## 지금 인터페이스 1개에 2,000개가 붙은 것임. secondary option을 주면 계속 붙일 수 있다.

 

router rip

network 9.0.0.0

 

 

R4]

conf t

int lo9

   ip add 9.9.8.1 255.255.255.0

   ip add 9.9.9.1 255.255.255.0 secondary

   ip add 9.9.10.1 255.255.255.0 secondary

   ip add 9.9.11.1 255.255.255.0 secondary

   ip add 9.9.12.1 255.255.255.0 secondary

   ip add 9.9.13.1 255.255.255.0 secondary

   ip add 9.9.14.1 255.255.255.0 secondary

   ip add 9.9.15.1 255.255.255.0 secondary

 

router rip

net 9.0.0.0

## 이렇게 하면, 주인터페이스가 다르니까, 마스크 값을 다 잘라먹게 된다.

## 그럼 고민이 생김.

## R2가 오른쪽으로 라우팅 정보를 축약된 정보인 9.0.0.0을 주게 된다.

## R4는 왼쪽으로 라우팅 정보를 축약된 정보인 9.0.0.0을 주게 된다.

## 그러면 R3는 왼쪽, 오른쪽에서 온 9.0.0.0을 보고 9.XXXX 그 아래가 뭔지 모르고 관심도 없음.

## 그래서 어느쪽으로 갈지를 모름. 그럼 통신이 될까?

 

 

R3]

show ip route

## 9밑에 오른쪽으로 가도 되고, 왼쪽으로도 갈 수 있다는 개소리를 하기 시작함.

 

## 그럼 ping을 날려보면 어떨까?

## ping 9.9.0.1,  ping 9.9.1.1 등 왼쪽의 R2에서 먼저 Hello를 R3에게 보내기 때문에 ping이 되긴함.

## 반대로 R4의 IP를 ping을 날려보면 통신이 되지 않음.

## 근데 축약때문에 불상사가 발생할 수 있음.

 

## Version 1은 축약을 멈추게 하는 기능이 없고, Version 2은 축약을 멈추게 할 수 있다.

R2에서는 상세 IP를, R4는 축약 IP를... 이게 바로 longgest matched rule임. (배웠던것)

 

써먹어보자.


R2]

exit

int s1/0.23

  ip rip send version 2

## version 2는 축약을 멈추게 하는 기능이 있으므로, R2->R3로 보낼때 축약을 안하고 보내겠다는 뜻

## 축약을 안하려면 version 2로만 가능!!

 

router rip

  no auto-summary

## 우리는 일단 축약을 하지 않는 version 2로 보낼 것이며, 더 이상 축약을 하지 않겠다는 뜻

 

debug ip rip

V2(Version 2)로 보낸 것을 확인할 수 있고, 대역 ip도 224로 보냈음을 확인할 수 있다.

 

 

R3]

show ip rip

## 같은 9.x.x.x 라도 방향이 아까처럼 좌,우 안가리고 맘대로 가라고 했던 것이

## 제대로 된 방향이 설정되었는지 확인.

 

ping 9.9.1.1

ping 9.9.15.1

제대로 된 것을 확인할 수 있다.

 

 

R2]

int s1/0.23

ip summary-address rip 9.9.0.0 255.255.248.0

## 248인 이유. 9.9.(0~7).0 에서 0~7 8개이므로 3bit가 필요한데 그걸 10진수로 바꿔보면 248이다. 

## 자동 축약을 안쓰고 Version 2에서 일부러 축약을 해서 라우팅 테이블을 간소화 시켰음.

## 라우팅 테이블이 더럽고 커지면 시간이 오래 걸리므로!!

 


그럼 이제 R3->R4도  R2->R3 보낼때처럼 똑같이 설정해보자.

 

R3]

int s1/0.34

ip rip send version 2

router rip

  no auto

 

R4]

show ip route

R4까지 21비트로 축약된 정보가 넘어온 것을 확인할 수 있다.



만약 R2 위에 인터넷이 잡혀 있다면, R1에서 모르는건 전부 R2 인터넷으로 가고,

 

## 예전 스태틱 방식에서는 default IP 주소를 줘서, 그쪽으로 가는 방향까지 설정해줬는데

## 이제는 R2가 default를 모두에게 뿌림.

 

## 그리고 이제 실습 끝났으니까 R2의 루프백과, R4의 루프백을 지우자.

 

 

첫번째 방법. default-information originate

## R2에서 명령어를 통해 default를 설정해주면 R1, R3, R4는 모두 R2로 모이게 된다.

## R2와 인터넷은 스태틱으로 연결해주면 된다. (지금은 실습이라 연결 안되어 있지만, 실제로 연결되어 있다면!!)

 

 

R2, R4]

conf t

no int lo9

 

R2]

router rip

  default-information originate

 

 

R1, R3, R4]

show ip route

R* 이 들어와서 default가 설정된 것을 확인할 수 있음.

 

 


 

두번째 방법. Redistribute static

## 스태틱을 null0로 잡고, RIP으로 끌어당겨 재분배한다. RIP으로 전부 모여라!

## 그러고 나면 RIP으로 디폴트가 전파된다.

 

 

R2]

no default-information originate

  exit

## 이전의 첫번째 방법때 사용했던 명령어 삭제.

 

 

ip route 0.0.0.0  0.0.0.0 null0

## 모든 것은 쓰레기통으로 가라.

## 목적지를 null0로 잡아야 looping이 안생김.

## null0로 안잡으면 looping이 돌아버림.

 

router rip

   redistribute static

## 스태틱으로 RIP이 제공 되었다.

 

R1, R3, R4]

show ip route


R3]

int s1/0.34

ip rip triggered

debug ip rip

 

 

R4]

int s1/0.34

ip rip triggered

debug ip rip


R3]

int lo0

  shut

 

 

int s1/0.23

  shut

int s1/0.34

  ip rip triggered

router rip

passive-interface lo0

 

 

R4]

int s1/0.34

  ip rip triggered

router rip

passive-interface lo0

 

 

## 이렇게 되면 R3과 R4 간의 RIP 통신을 안함. 30초마다 Hello를 안한다는 것임!!

## 자기한테 변화(라우팅 정보에 대한 변화)가 생겼을 때만 Update를 함.

## 변화가 없을 때는 Hello를 안함. (엄청 편함)

triggered 에 대한 것을 보여주시기 위해서 선생님께서 실습하심.


Dynamic RIP Protocol + Static 합한것 클로징 과제(GNS 새로 만들다가 필기 다 못함)

 

R2]

no ip summary-address rip 0.0.0.0  0.0.0.0

no router rip


router rip
ver 2
net 14.0.0.0
no auto
passive-interface lo0
exit

ip route 14.14.3.0 255.255.255.0 s1/0.23 14.14.23.3
ip route 14.14.4.0 255.255.255.0 s1/0.23 14.14.23.3
ip route 14.14.34.0 255.255.255.0 s1/0.23 14.14.23.3




R3]
왼쪽<<default로 설정해보자. 
ip route 0.0.0.0  0.0.0.0 s1/0.23 14.14.23.2 

오른쪽>>
ip route 14.14.4.0 255.255.255.0 s1/0.34 14.14.34.4 




R4]
default로 설정
ip route 0.0.0.0  0.0.0.0 s1/0.34 14.14.34.3



R2]
## R1<->R2
## R2<->R3<->R4
## 간의 통신은 잘 된다.



근데 R1과 R3,R4가 문제임.
(왼쪽-RIP / 오른쪽-Static) 이기 때문에.
그래서 R2 오른쪽에 있는 모든 것을 R1<->R2 사이의 RIP에 재분배 시켜서 넣어주면 된다. (어렵다)

 

 

 

conf t
router rip
redistribute static metric 1

 

이렇게 하면 통신도 되고, show ip route로 잘 뜬다고 한다.

근데 메트릭값이 전부 1로 나와서 오른쪽 스태틱에 있는 것들을 재분배 시켜줘야함.

 

 

1. 조정대상 Net 지정

2. Route-map 생성

3. 재분배

 

 

R2]

conf t

ip prefix-list HOP1 permit 14.14.23.0/24

ip prefix-list HOP2 permit 14.14.3.0/24

ip prefix-list HOP2 permit 14.14.34.0/24

ip prefix-list HOP3 permit 14.14.4.0/24

## R1 입장에선

## 1HOPS 23

## 2HOPS 3.3, 34

## 3HOPS 4.4

이렇게 대상을 지정해 주었음.

 

R2]

route-map STATIC_NET

  match ip address prefix-list HOP1

  set metric 1

  exit

## HOP1 이면 1HOPS이다.

 

route-map STATIC_NET 20

  match ip address prefix-list HOP2

  set metric 2

  exit

## HOP2 이면 2HOPS이다.

 

route-map STATIC_NET 30

  match ip address prefix-list HOP3

  set metric 3

  exit

## HOP3 이면 3HOPS이다.

 

sh run | begin rip

## 아래 명령어들 지우려고 확인용!

 

router rip

  no redistribute static metric 1

  redistribute static route-map STATIC_NET 

Route-map에 해당되는 애들만 재분배 해라!!
metric 값이 전부 1이었던 것에서 제대로 바뀌어ㅃㅅ음!
각각 1HOP, 2HOP, 3HOP이 설정되었다!

 

 

 

R1->R2, R1->R3, R1->R4 모두 통신 양호!