SECTION
article thumbnail

 


- RIP (Routing Information Protocal)

 

: 내부 라우팅 프로토콜, 거리 기반 벡터 알고리즘을 사용함

: 인터네트워크에 있는 라우터는 정기적으로 라우팅 테이블을 UDP을 사용하여 자신이 접속해 있는 네트워크로 전송함

: RIP는 목적지 까지의 거리를 최대 15 홉으로 한정함

 

: 직관적이고 구현하기 쉬우며 라우터 처리 시간이 짧음 -> 작은 AS에서 사용하기 좋음

: 여러 한계가 있지만 설정하기 쉽고 간단해서 널리 사용됨

 

 

- RIP 경로 결정 알고리즘

 

: TCP/IP는 데이터그램이 라우터를 지날떄 마다 홉을 셈 -> RIP 거리는 라우터와 네트워크 사이의 거리를 라우터 수로 잼

: 라우터가 네트워크와 직접 연결되있으면 1홉임

: 1개 라우터를 거치면 2홉

: 최대 15홉 까지 허용함, 16홉 이상은 무한을 뜻함 -> 이 네트워크나 호스트는 도착할 수 없음

 

: 같은 네트워크에 있는 라우터가 N의 비용으로 네트워크 X로 갈 수 있다는 메세지를 받으면

: 그 라우터는 자신은 네트워크 X로 N+1 만에 갈 수 있다고 계산함

 

 

 

: 라우터 RA의 전원을 킨다고 가정하면

: RA는 자신이 네트워크 N1과 네트워크 N2에 직접 연결되어 있다는것을 알고 라우팅 테이블에 비용 1로 갈 수 있다는 항목인 {N1, 1}을 가진다

: 네트워크 N1의 정보는 라우터 RA를 통해 다음 아래 과정을 거치면서 인터네트워크로 퍼진다

RIP를 사용한 네트워크 라우팅 정보 전파

: RIP는 더 짧은 경로를 가진 정보를 받았을 때만 라우팅 항목을 교체함

: 네트워크 라우팅 정보를 전달하는 일은 정기적으로 일어나거나, 네트워크 구조가 바뀔때 일어남


 

- RIP 알고리즘의 문제

 

- 느린 수렴 

: 거리 벡터 알고리즘은 정기적으로 모든 라우팅 정보를 공유하도록 설계됨

: 시간이 지나면 네트워크들이 정보를 가져 가장 좋은 경로를 찾을 수 있음 -> 수렴 상황(convergence)이라고 함

: 불행히도 기본 RIP 알고리즘은 수렴 상황에 이를 때까지 시간이 많이 걸림

 

- 라우팅 루프

: 라우터 A가 라우터 B를 통하면 네트워크 1로 갈 수 있다는 항목을 가지고 있고 라우터 B는 네트워크 1로 데이터그램을 보내려면 라우터 A로 보내야 한다고 할 때 발생한다.

: 또는 라우터 A는 B, 라우터 B는 C, 라우터 C는 A로 보내야 할때 라우팅 루프가 발생

: 루프를 발견하거나 예방하는 방법은 없기 때문에 피하는것이 최선

 

- 무한 세기

: 느린 수렴 때문에 라우터가 다른 라우터에게 나쁜 정보를 보내고 이 현상이 반복되면 라우팅 루프 상황이 만들어 질 수 있음

: 이러한 상황은 프로토콜이 안정적이지 않음 -> 무한 세기(counting to infinity)

 

RIP 무한 세기 문제: 

#1 : 정상적으로 동작

#2 : 라우터 RA와 네트워크 N1 간의 연결이 끊어짐, 라우터 RA는 네트워크 1까지의 비용을 16으로 수정 

#3 : 라우터 RA가 갱신 정보를 라우터 RB로 보내기 전에 라우터 RB가 먼저 네트워크 N1으로 가는 비용을 2라고 광고함 라우터 RB는 라우터 RA를 거쳐 네트워크 N1에 도착할 수 있지만, 라우터 RA는 네트워크 N1으로 가는 다른실이 라우터 RB에게 있다고 착각

#4 : 라우터 RA가 네트워크 N1에 대한 잘못된 정보를 보냄

#5 : 라우터 RB가 그 정보를 받고 자신의 비용을 4로 증가시키고 다음 번엔 그 정보를 라우터 RA로 전송하면 라우터 RA는 또다시 비용을 5로 증가시키는 악순환이 계속됨

 

: 결국 무한(16)까지 세면 도착할 수 없다고 결론 지음

 

 

 

- 작은 무한값

: RIP는 느린 수렴 문제를 줄이기 위해 무한값으로 작은 값을 쓴다

: RIP의 라우터 한계가 15라는 거은 라우터 총 수에 대한 한계가 아니라 두 네트워크 사이에 놓인 라우터 수를 한정짓는거임, 꽤나 복잡한 4계층 구조를 사용해도 15개 홉을 거치게 되는 일은 없음

: RIP에서는 라우터가 자신의 모든 라우팅 테이블을 자주 보내야 하기 때문에 무한=16이라는 문제를 제쳐두고라도 RIP는 큰 인터네트워크에서 사용할만한 좋은 라우팅 프로토콜이 아님

 

 

 

- RIP 척도 문제

: 거리 척도를 홉 수로 사용한 점 -> 홉 수는 두 네트워크 간의 데이터그램을 보내는데 드는 비용을 제대로 반영 못함

: 실시간 척도를 제공하기 어려움 

 


- RIP 알고리즘 문제 해결

 

- 수평 분할

: 무한 세기 문제는 기본 RIP 알고리즘에 가장 심각한 문제

: 라우터가 인터네트워크를 보는 시야를 좁혀 특정 링크에 맞는 정보만 보내야 함 -> 수평 분할

: 라우터가 자신이 접속하고 있는 네트워크로 RIP 응답 메시지를 보낼때 그 네트워크에서 배운 경로 정보는 보내지 않음

: 많은 라우터가 간접적으로 연결되어 있는 경우 수평 분할로도 무한 세기 문제를 제거 X -> 홀드 다운 특성 이용

 

- 포이즌 리버스 수평 분할

: 기본 수평 분할 특성을 개선하기 위해 포이즌 리버스(poisoned reverse) 기능을 추가

: 특정 인터페이스에서 습득하 경로를 전송하는게 아니라 그 인터페이스로 RIP 응답 메시지를 보낼 때 척도를 RIP 무한 또는 16으로 설정함

: 다른 라우터가 특정 경로를 위해 자신의 인터페이스를 사용하지 못하도록 독을 치는것을 의미

포이즌 리버스 수평 분할

- 홀드 다운

: 라우터는 어떤 네트워크가 도착 불가능해졌다는 정보를 받으면 타이머를 시작

: 홀드 다운 타이머가 만료될 때 까지는 해당 경로가 접근 가능하다는 메시지를 버린다(타이머는 대부분 60~120초)

: 경로가 더 이상 유효하지 않다는 정보를 최근에 받았을때 경로에 접근 할 수 있다는 잘못된 정보에도 라우터가 속지 않도록 할 수 있음

: 오래된 정볼르 버릴 수 있는 일정시간을 두기 때문에 복잡한 인터네트워크에서 매우 유용함


 

profile

SECTION

@SectionR0

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그