따봉도치야 고마워

[네트워크 공부] 후니의 쉽게 쓴 네트워킹 10일차 - Part08 본문

프로그래밍/공부

[네트워크 공부] 후니의 쉽게 쓴 네트워킹 10일차 - Part08

따봉도치 2020. 4. 8. 17:27

RIP (Routing Information Protocol) 라우팅 프로토콜

  • 다이내믹 라우팅 프로토콜
  • 내부용 라우팅 프로토콜
  • 디스턴스 벡터 라우팅 프로토콜
  • 좋은 길을 결정하는 기준 : 홉 카운트
  • 최대 갈 수 있는 홉 카운트는 15
  • 디폴트 라우팅 업데이트 주기는 30초

장점

- 모든 라우터에서 지원하는 표준 라우팅 프로토콜, 구성이 간편

- 메모리를 적게 사용함

+ 시스코 라우터의 경우 4~6개 경로까지 로드 밸런싱 가능

 

단점

- 경로 선택을 홉 카운트로만 결정하기 때문에 속도/회선의 신뢰도, 회선의 로드 등을 확인 X

- 15개 이상의 라우터를 거치는 목적지의 경우 도달 X, 따라서 큰 네트워크에선 무리

 

*Back-to-Back(백투백)

- 라우터와 라우터를 직접 연결해 마치 전용선 구간에서 연결한 것처럼 만드는 기술

- 원래는 라우터 뒤에 DSU/CSU가 붙고 그 뒤에 전용선 연결이지만, 백투백은 라우터 대 라우터를 V.35 케이블만 가지고 서로 연결

- 각각 DTE, DCE 역할을 해야 하고, DCE 역할의 라우터엔 Clockrate 설정해줘야 함 (사실 뭔 소린지 잘 이해 안 됨)

 


RIP 명령어 형식

- router rip : 이제부터 RIP 라우팅을 사용하겠다는 명령 (구성 모드에서 입력)

- network [network-number] : RIP라우팅에 참가하는 네트워크를 지정해 주기 위한 명령 (반드시 라우팅 구성 모드에서 사용)

 

- 주의 : RIP는 네트워크 넘버 입력 시 서브넷 마스크 주소 생략 -> Classful 하게 모든 네트워크 인식

ex. 150.150.100.0 255.255.255.0 인 경우 150.150.0.0 네트워크 자체를 RIP로 세팅하게 됨. //서브넷 각각 설정하지 못하는 한계

 

*show ip protocol 명령으로 현재 IP에서 동작하고 있는 라우팅 프로토콜 조회 //프리빌리지드 모드에서

show ip protocol

Routing Protocaol is "rip"
  Sending update every 30 seconds, next due in 15 seconds 
  //30초마다 업데이트, 15초 지남
  
  Invalid after 180 seconds, hold down 180, flushed after 240
  //30초 뒤에도 정보를 받지 못하면 Invalid Time(180) 만큼 기다림
  //180초가 지나면 hold down상태가 되고, 라우팅 테이블에선 'possibly down' 표시
  //이후 60초가 또 지나면 죽었다고 생각하고 경로 삭제 (Flush Time)
  
  .
  .
  .
  
  Default version control: send version 1, receive version any version
  //RIP 버전에 대한 정보, 1에서 보낸건 아무나 받을 수 있지만 2에서 보낸건 2만
  
  .
  .
  
  Routing for Network:
     203.240.100.0
     203.240.150.0
     //rip가 적용되고 있는 IP들
     
  Routing Information Sources:
    Gateway        Distance      LastUpdate
    203.240.150.2  120           00:00:08
    //위 네트워크에서 라우팅 정보를 읽어오고 있음
  Distance: (default is 120)
  // Administrative Distance 라우팅 정보에 대한 신뢰성 (작을수록 신뢰, 스태틱은 1)

 

*show ip route 명령으로 라우팅 테이블 조회

show ip route
.
.
.
R 203.240.200.0/24 [120/1] via 203.240.150.2, 00:00:21, Serial0
// R : RIP로 찾아낸 길
// 203.240.200.0 : 목적지, 24 : 서브넷마스크를 이진수로 바꿨을 때 1의 개수
// [120/1] : 디스턴스 값/코스트 - RIP에선 코스트 = 홉 카운트

 

*디버그 명령

- 되도록 콘솔에서 사용하기 (telnet에서 쓰려면 terminal monitor 명령 주어야 함)

- 프리빌리지드 모드에서 debug ip rip 명령 입력 시 rip에 대해 라우터끼리 통신하는 것을 보여줌

- 결과 보고 디버그 명령 꼭 꺼주기 :  no debug all / undebug all(=u al)

+ debug all 같은 명령어는 실제 환경에서 절대 사용 X (라우터에 많은 로드를 주어 다운됨)

05:25:34: RIP: sending v1 update to 255.255.255.255 via Ethernet0 (203.240.100.1)
//라우팅 업데이트를 RIP 버전 1로 이더넷 0쪽에 보냈다는 뜻

 


한 라우터에 라우팅 프로토콜을 2개 이상 설정하는 경우

- 내 양쪽의 각 라우터들이 사용하는 프로토콜이 다를 때, 나는 둘 다 사용해야 함

- 이런 경우 특정 길에 대한 정보를 얻으려 할 때 각각의 프로토콜 모두 해당 길에 대한 정보를 알고 있다면 어떤 기준으로 고를지?

 

>> Administrative Distance 값 :

- 작을수록 신뢰성이 높기 때문에 작은 쪽 말을 듣게 됨

- RIP(120), IGRP(100), OSPF(110)...

- 0은 해당 라우터가 직접 가지고 있는 인터페이스+인터페이스로 스태틱 라우트 명령을 준 경우

 

 

 


 

Distance-Vector 라우팅 알고리즘의 문제점과 해결책

- 한 번 배운 테이블을 계속 전달해 업데이트가 모든 네트워크에 전달되는 시간(Convergence Time)이 많이 걸림

- 때문에 루핑이 발생 가능

ex. A B C 라우터가 있고, 하나의 경로에 대해 A가 Down이라고 판단해 업데이트, 동시에 B가 해당 경로 관련 해 업데이트 시

- A는 B를 통해 해당 경로로 갈 수 있다고 생각하고 또 다시 업데이트 -> B, C 마찬가지로 업데이트의 반복 (루핑)

 

해결책

1) Maximum Hop Count를 이용한 방법

- 최대 홉 카운트 15를 넘어가는 경로에 대해서는 unreachable로 간주 & flush time이 지난 후엔 아예 삭제

- 이렇게 하면 루핑이 발생해도 16까지 이르면 멈추게 됨, But 큰 네트워크 사용 X

 

2) Hold Down Timer를 이용한 방법

- 특정 경로가 Down되었다고 판단 시 Hold Down 타이머를 시작

- 이때 다른 라우터에서 해당 경로 정보를 받았을 때, 원래 가지고 있던 메트릭 값(목적지까지 거리 값) 보다 큰 값이 오면 무시

- hold down time이 종료되거나, 더 좋은 경로가 들어올 때만 업데이트

- A라우터가 위 과정으로 업데이트를 완료하면 연결된 라우터들에 전달 후, 그 라우터들도 hold down 타이머 시작

 

3) 스플릿 호라이즌 (Split Horizon)

- 라우팅 정보가 들어온 곳으론 같은 정보를 내보낼 수 없게 함

- 두 라우터 간의 루핑을 막기 위한 방법, 전체는 무리

- 라우터 A가 네트워크 A에 대한 정보를 라우터 E로부터 받으면 다시 E 쪽으로 해당 정보 전송 X

= 한 라우터가 인접 라우터로 한 네트워크 정보를 받으면, 인접 라우터가 그 네트워크에 더 근접해있을 것이 분명해 더 이상 정보를 보낼 필요 X

 

4) 라우트 포이즈닝 (Route Poisoning)

- 특정 네트워크가 다운되면 메트릭 값을 16(사용할 수 없는 값)으로 바꾸고 다른데서 정보가 들어와도 무시

- 그리고 16값으로 다른 라우터에 정보를 보내 다운된 네트워크를 무한대치로 바꿔버리는 방식

 

5) 포이즌 리버스 (Poison Reverse)

- 3번을 약간 변형, 라우팅 정보를 되돌려 보내기는 하되 이 값을 무한대로 작성

- 아주 없애는 것보다 무한대 홉 값을 사용해 업데이트한다면 다른 라우터들의 실수를 줄일 수 있음

 

 

*VLSM(variable length subnet mask)

- 라우터의 각 인터페이스 별로 서브넷 마스크가 전부 제각각인 경우, = 여러 종류의 서브넷 마스크

- 점점 IP주소가 모자라면서 서브넷 마스크의 중요성이 커진만큼 VLSM을 지원하냐 안 하냐가 강조됨

- RIP, IGRP 라우팅은 지원X / EIGRP, OSPF 지원

Comments