K 개발자

라우팅 프로토콜 본문

OS/네트워크

라우팅 프로토콜

ddingz 2021. 7. 31. 15:47

간단한 라우팅 프로토콜

네트워크에서 의미하는 거리의 기준은 다양하지만, 라우팅과 관련해 가장 보편적으로 이용하는 기준은 전송 경로의 중간에 위치하는 라우터의 개수, 즉 홉Hop의 수로 판단하는 것이다.

최단 경로 라우팅

최단 경로 라우팅 방식은 패킷이 목적지에 도달할 때까지 거치는 라우터 수가 최소화될 수 있도록 경로를 선택한다.
장점은 비교적 간단한 형식으로 쉽게 적용할 수 있다는 것인데, 전송 패킷이 목적지까지 도착하는 여러 경로 중 가장 짧은 경로를 선택한다.

플러딩

플러딩Flooding은 라우터가 자신에게 입력된 패킷을 출력 가능한 모든 경로로 중개하는 방식이다.
이 방식에서는 원본 패킷과 동일한 패킷이 무수히 생성되고, 모든 경로를 통해 반복하여 전송하므로 네트워크에 패킷이 무한 개 만들어질 수 있다.
패킷이 무한정 증가하는 현상을 방지하려면 각 패킷의 홉 수를 일정 범위로 제한해 라우터에서 이를 확인하여 제거해야 한다.


거리 벡터 라우팅 프로토콜

거리 벡터Distance Vector 라우팅 프로토콜은 라우터가 자신과 직접 연결된 이웃 라우터와 라우팅 정보를 교환하는 방식이다.
정보를 교환하는 라우터는 거리 벡터 프로토콜을 사용하는 호스트나 라우터들이다.
교환 정보는 각각의 라우터에서 전체 네트워크에 소속되는 개별 네트워크까지 패킷을 전송하는 데 걸리는 거리 정보이다.
거리 벡터 알고리즘을 구현하려면 라우터가 링크 벡터, 거리 벡터, 다음 홉 벡터라는 세 가지 필수 정보를 관리해야 한다.

  • 링크 벡터 : 이웃 네트워크에 대한 연결 정보
  • 거리 벡터 : 개별 네트워크까지의 거리 정보
  • 다음 홉 벡터 : 개별 네트워크로 가기 위한 다음 홉 정보

RIP 프로토콜

RIPRouting Information Protocol는 거리 벡터 방식을 사용하는 내부 라우팅 프로토콜 중에서 가장 간단하게 구현된 것이다.
RIP가 제대로 동작하려면 이웃 라우터가 제공하는 거리 벡터 정보가 임의의 짧은 시간 내에 모두 도착해야 한다.
이런 이유 때문에 RIP는 다음과 같은 제한을 두어 개별 거리 정보가 라우팅 테이블에 순차적으로 적용되도록 한다.
첫 번째와 두 번째는 자신이 관리하는 거리 벡터 정보에 대한 내용이고, 세 번째는 다른 라우터로부터 받는 거리 벡터 정보이다.

  • 입력되는 거리 벡터 정보가 새로운 네트워크의 목적지 주소이면 라우팅 테이블에 적용한다.
  • 입력되는 거리 벡터 정보가 기존 정보와 비교하여 목적지까지 도착하는 지연이 더 적으면 대체한다. 즉, 이전 정보와 홉 수가 같아도 추가 지연 측정을 통해 지연 시간이 적으면 새로운 경로를 선택한다.
  • 임의의 라우터로부터 거리 벡터 정보가 들어왔을 때, 라우팅 테이블에 해당 라우터를 다음 홉으로 하는 등록 정보가 있으면 새로운 정보로 수정한다.

링크 상태 라우팅 프로토콜

링크 상태Link State 라우팅 프로토콜은 라우터 간의 정보 교환 원리가 거리 벡터 방식과 반대이다.
개별 라우터가 이웃 라우터까지의 거리 정보를 구한 후, 이를 네트워크에 연결된 모든 라우터에 통보한다.
거리 벡터 라우팅 프로토콜은 알고리즘의 특성상 정보가 주기적으로 전달되지만 링크 상태 라우팅 프로토콜에서는 이웃 라우터와 연결된 상황에 변화가 있을 때만 정보 전달이 이루어진다.
링크 상태 라우팅 프로토콜은 정보 전달을 위해 플러딩Flooding 기법을 사용한다.
임의의 라우터가 이웃한 모든 라우터에 정보를 전달하고, 다시 이들 라우터가 주변의 모든 라우터에 정보를 전달하는 방식으로 동작한다.
이때 정보가 입력된 선로를 통해 출력되지 않도록 주의해야 한다.
링크 상태 방식을 사용하는 라우팅 프로토콜에는 OSPFOpen Shortest Path First가 있다.


외부 라우팅 프로토콜

자율 시스템

라우팅 프로토콜과 관련해 자율 시스템Autonomous System이라는 개념이 존재한다.
자율 시스템은 다수의 라우터로 구성할 수 있으며, 라우터들은 서로 공통의 라우팅 프로토콜을 사용해 정보를 교환한다.
자율 시스템 내부에서 사용하는 공통 프로토콜을 내부 라우팅 프로토콜IRP, Interior Routing Protocol이라 하며, 라우터들끼리 라우팅 정보를 교환하는 용도로 사용한다.
거리 벡터 방식을 사용하는 RIP 프로토콜이나 링크 상태 방식을 사용하는 OSPF 프로토콜은 내부 라우팅 용도로 개발되었다.

학교 같은 인터넷 환경에서는 각 건물을 라우터로 연결해 자율 시스템을 구성할 수 있고, 외부의 자율 시스템과도 연결한다.
이러한 구조에서는 자율 시스템이 사용하는 알고리즘과 라우팅 테이블 정보의 구조가 서로 다를 수 있으므로, 자율 시스템 사이의 연동을 위한 방안을 고려해야 한다.
자율 시스템들 간에 사용하는 라우팅 프로토콜을 일반적으로 외부 라우팅 프로토콜ERP, Exterior Routing Protocol이라 한다.
외부 라우팅 프로토콜에서 사용하는 경로 벡터Path Vector 프로토콜은 경로에 관한 거리 정보 값이 필요 없는 방식이다.
단순히 해당 라우터에서 어느 네트워크가 연결 가능한지에 대한 정보만을 제공한다.
이는 근거리의 경로 정보를 관리하는 내부 라우팅 프로토콜이 효율의 문제를 고려하지만, 원거리의 경로 정보를 관리하는 외부 라우팅 프로토콜은 경로의 존재 유무에 초점을 맞추기 때문이다.
외부 라우팅 프로토콜에는 BGPBorder Gateway Protocol가 있다.

'OS > 네트워크' 카테고리의 다른 글

IPv6 프로토콜  (0) 2021.08.01
IP 프로토콜  (1) 2021.07.31
네트워크 계층의 기능  (0) 2021.07.30
HDLC 프로토콜  (0) 2021.07.30
슬라이딩 윈도우 프로토콜  (0) 2021.07.30
Comments