프로그래밍

라우팅 프로토콜 예제

바이오닉크로니클 2025. 3. 19. 01:19

1. 거리 벡터(Distance Vector) 라우팅 프로토콜

거리 벡터 프로토콜은 라우터가 인접 라우터와 주기적으로 라우팅 정보를 교환하면서, ‘목적지까지의 거리(코스트)’와 ‘다음 홉(next hop)’만을 기준으로 경로를 결정한다.

  1. RIP (Routing Information Protocol)
    • 표준화: IETF RFC 2453
    • 특징:
      • 최대 홉 수가 15로 제한되어 있어, 대규모 네트워크에 사용하기엔 제약이 있음.
      • 설정이 간단하고 소규모 네트워크에서 사용하기에는 여전히 유효함.
      • 주기적으로(기본 30초) 전체 라우팅 테이블을 브로드캐스트/멀티캐스트로 전송.
  2. EIGRP (Enhanced Interior Gateway Routing Protocol)
    • 표준 문서: Cisco 사유 프로토콜이었으나 이후 일부 사양을 공개(Cisco 문서 확인)
    • 특징:
      • RIP 대비 빠른 수렴 속도와 효율적인 네트워크 자원 사용을 제공.
      • ‘혼합형(hybrid)’ 라우팅 프로토콜이라 불리기도 하며, 거리 벡터의 단순함과 링크 상태 프로토콜의 장점을 일부 결합.
      • 네트워크 토폴로지 정보를 전부 저장하여, 장애 발생 시 빠른 재계산이 가능.

2. 링크 상태(Link State) 라우팅 프로토콜

링크 상태 프로토콜은 각 라우터가 네트워크 전체 지도를(링크 상태 데이터베이스) 구성한 뒤, 자신이 가진 전체 정보를 기반으로 최적 경로를 연산한다.

  1. OSPF (Open Shortest Path First)
    • 표준화: IETF RFC 2328 (IPv4 환경), 이후 버전 등이 존재
    • 특징:
      • 링크 상태를 기반으로 SPF(Shortest Path First) 알고리즘(Dijkstra 알고리즘)을 사용.
      • AS(Autonomous System) 내부를 여러 영역(area)로 나눠 계층화할 수 있어 대규모 네트워크에서도 효율적.
      • 장애 발생 시 변화된 링크 상태만 업데이트해, 빠른 수렴 속도를 제공.

3. 외부 게이트웨이 프로토콜(EGP)

EGP는 서로 다른 자율 시스템(AS) 간 경로 정보를 교환하기 위한 프로토콜이다. 현재 전 세계적으로 사용되는 표준 외부 게이트웨이 프로토콜은 오직 하나이다.

  1. BGP (Border Gateway Protocol)
    • 표준화: IETF RFC 4271
    • 특징:
      • 인터넷 규모에서 AS 간 라우팅을 책임지는 프로토콜.
      • 광범위한 네트워크 정책(정책 라우팅, 멀티홈, Traffic Engineering 등)을 적용 가능.
      • 경로 벡터(Path Vector) 방식으로 동작하여, 각 경로에 대한 다양한 속성(어트리뷰트)을 기반으로 라우팅 의사결정을 수행.

4. 실제 구현과 표준 문서의 중요성

  • IETF 표준 RFC 문서들은 네트워크 프로토콜 구현 및 설계 시 가장 기본적이자 중요한 참조 자료이다.
  • 이러한 RFC를 기반으로 여러 벤더(Cisco, Juniper 등)나 오픈소스 소프트웨어(Quagga, FRRouting 등)에서 프로토콜을 구현한다.
  • 프로토콜마다 벤더별 확장 기능이 있을 수 있으므로, 표준을 중심으로 벤더 문서를 참고하는 방식이 바람직하다.

정리

  1. 거리 벡터 프로토콜: 라우팅 정보의 전송과 계산이 단순하지만, 대규모 네트워크에서는 제약(RIP), 혹은 하이브리드 형태(EIGRP)로 발전.
  2. 링크 상태 프로토콜: 네트워크 토폴로지 전체 정보를 기반으로 빠른 수렴과 효율적 라우팅(OSPF).
  3. 외부 게이트웨이 프로토콜: 인터넷 규모로 표준이 하나만 존재(BGP)하며, 다양한 정책 라우팅이 가능.
  4. RFC 문서 및 벤더 문서 확인: 프로토콜의 규범을 파악하고, 실제 구현 시 벤더별 차이를 고려해야 함.

이처럼 거리 벡터링크 상태 프로토콜이 내부 라우팅(IGP)에서 중요한 역할을 담당하고, 전 세계 인터넷을 연결하기 위한 BGP(EGP)가 반드시 필요하다. 이후 실제 네트워킹 환경에 프로토콜을 도입할 때, 각 프로토콜의 특성과 RFC 표준을 꼼꼼히 확인하면 안정적이고 일관된 라우팅을 구현할 수 있다.