라우팅 프로토콜(Routing Protocol)이란?
라우팅 프로토콜은 네트워크에서 패킷을 목적지까지 가장 효율적으로 전달하기 위해 라우터들이 서로 정보를 교환하며 최적의 경로를 결정하는 방법이다. 네트워크 환경은 끊임없이 변화하기 때문에 라우팅 프로토콜은 동적으로 경로를 조정하며, 트래픽 부하를 줄이고 안정적인 네트워크 운영을 가능하게 한다.
라우팅 프로토콜이 필요한 이유
- 네트워크 변화 대응: 라우터 추가, 링크 장애 등 네트워크 변화에 실시간으로 대응.
- 최적 경로 선택: 여러 경로 중 가장 빠르고 안정적인 경로를 선택.
- 효율성: 네트워크 트래픽 부하를 줄여 효율적인 운영 가능.
라우팅 프로토콜의 역할
- 라우터 간 정보 교환을 통해 네트워크 상태 파악.
- 목적지까지의 최적 경로를 계산하여 라우팅 표 업데이트.
- 네트워크 변화에 따라 경로를 동적으로 재설정.
- 각 라우터는 이웃 라우터로부터 수신한 정보를 이용해 라우팅 표를 갱신하며, 최적 경로를 유지.
IGP와 EGP 개념
라우팅 프로토콜은 작동 범위에 따라 IGP(Interior Gateway Protocol)와 EGP(Exterior Gateway Protocol)로 나뉜다.
- IGP: 단일 자율 시스템(AS) 내에서 라우터 간 경로 정보를 교환. 예: RIP, OSPF, EIGRP. 기업 네트워크처럼 동일 관리 도메인에서 사용.
- EGP: 서로 다른 AS 간 경로 정보를 교환. 예: BGP. 인터넷 ISP 간 라우팅에 사용. 정책 기반 라우팅에 중점을 둠.
라우팅 프로토콜의 종류
라우팅 프로토콜은 작동 방식에 따라 세 가지로 분류된다: 거리 벡터(Distance Vector), 링크 상태(Link State), 경로 벡터(Path Vector). 각 방식은 서로 다른 최단 경로 탐색 알고리즘을 사용하며, 라우팅 표 갱신 방식도 다르다.
1. 거리 벡터 방식 (Distance Vector) - RIP
거리 벡터 방식은 "목적지까지 몇 홉(hop)이 걸리는지"를 기준으로 경로를 선택한다. 홉은 패킷이 거치는 라우터의 수를 의미하며, 홉 수가 적을수록 우선순위가 높다.
- 특징:
- 경로 선택 메트릭: 홉 카운트. 최대 15홉까지만 허용(16홉 이상은 도달 불가능).
- 최단 경로 탐색 알고리즘: Bellman-Ford 알고리즘.
- 각 라우터는 이웃 라우터로부터 거리 정보(홉 수)를 받아 최단 경로 계산.
- 모든 노드와 링크를 반복적으로 확인하며 경로 비용을 갱신.
- 구현이 간단하지만, 대규모 네트워크에서는 느린 수렴 속도와 높은 계산 복잡도(O(V*E))가 단점.
- 라우팅 표 갱신: 주기적으로(30초마다) 이웃 라우터로부터 정보를 수신해 라우팅 표를 갱신. 브로드캐스트로 정보 전송, 네트워크 부하 증가.
- 라우팅 루프 방지를 위해 스플릿 호라이즌(Split Horizon), 포이즌 리버스(Poison Reverse) 사용.
- 용도: 소규모 네트워크에 적합.
- 한계: 홉 수만 고려하므로 대역폭이나 지연 시간을 반영하지 못함.
- 버전:
- RIPv1: 클래스풀 라우팅, 서브넷 마스크 미전송, 브로드캐스트 사용.
- RIPv2: 클래스리스 라우팅 지원, 멀티캐스트(224.0.0.9) 사용, MD5 인증으로 보안 강화.
RIP는 설정이 간단하지만, 최대 15홉 제한과 느린 수렴 속도로 대규모 네트워크에는 부적합. 소규모 사무실이나 테스트 환경에 주로 사용.
예시
서울 → 대전 → 부산 (3홉) vs. 서울 → 광주 → 부산 (2홉).
RIP는 Bellman-Ford 알고리즘으로 홉 수가 적은 "서울 → 광주 → 부산"을 선택. 이웃 라우터(광주, 대전)로부터 받은 홉 수 정보를 비교해 라우팅 표 갱신.
2. 링크 상태 방식 (Link State) - OSPF
링크 상태 방식은 네트워크의 전체 지도를 기반으로 링크 상태(대역폭, 지연 시간 등)를 고려해 최적 경로를 계산한다.
대표 프로토콜: OSPF (Open Shortest Path First)
- 특징:
- 최단 경로 탐색 알고리즘: 다익스트라 알고리즘(Shortest Path First, SPF).
- 각 라우터는 네트워크 토폴로지 정보를 링크 상태 데이터베이스(LSDB)에 저장.
- 대역폭, 지연 시간 등 복합 메트릭을 기반으로 최단 경로 계산.
- 빠른 수렴과 정확한 경로 선택 가능.
- 라우팅 표 갱신: 링크 상태 변화(예: 링크 장애) 발생 시, 모든 라우터가 LSDB를 갱신하고 다익스트라 알고리즘으로 새로운 경로 계산.
- 계층적 설계(영역, Area)로 확장성 강화.
- 용도: 대규모 네트워크(기업, 데이터센터)에 적합.
OSPF는 복잡한 계산을 요구하지만, 대역폭과 지연 시간을 고려해 최적 경로 선택. 빠른 수렴으로 네트워크 변화에 즉각 대응.
예시
서울 → 대전 → 부산 (3시간) vs. 서울 → 광주 → 부산 (5시간).
OSPF는 다익스트라 알고리즘으로 링크 상태를 분석해 더 빠른 "서울 → 대전 → 부산" 경로를 선택. 변화 시 이웃 라우터로부터 받은 정보를 LSDB에 반영해 라우팅 표 갱신.
3. 하이브리드 방식 - EIGRP
하이브리드 방식은 거리 벡터와 링크 상태의 장점을 결합한 방식이다.
대표 프로토콜: EIGRP (Enhanced Interior Gateway Routing Protocol)
- 특징:
- 최단 경로 탐색 알고리즘: DUAL 알고리즘(Diffusing Update Algorithm).
- 이웃 라우터와 정보를 교환하며, 루프 없는 최단 경로 계산.
- 대역폭, 지연 시간, 부하, 신뢰성 등을 메트릭으로 사용.
- 백업 경로(Feasible Successor)를 미리 계산해 빠른 수렴 보장.
- 라우팅 표 갱신: 네트워크 변화 시 필요한 정보만 이웃 라우터와 교환(증분 갱신). 주기적 브로드캐스트 대신 이벤트 기반 업데이트로 효율적.
- 용도: 중간 규모 네트워크, 주로 Cisco 환경.
EIGRP는 RIP보다 빠르고 OSPF보다 설정이 간단. 독점 프로토콜이었으나 개방형 표준으로 전환.
예시
서울 → 대전 → 부산 (대역폭 10Gbps) vs. 서울 → 광주 → 부산 (대역폭 1Gbps).
EIGRP는 DUAL 알고리즘으로 대역폭과 지연 시간을 고려해 "서울 → 대전 → 부산" 선택. 변화 시 이웃 라우터로부터 받은 정보로 라우팅 표 갱신.
4. 경로 벡터 방식 (Path Vector) - BGP
경로 벡터 방식은 경로 정보를 유지하고 정책 및 속성을 기반으로 경로를 선택한다.
대표 프로토콜: BGP (Border Gateway Protocol)
- 특징:
- 최단 경로 탐색 알고리즘: 경로 선택 알고리즘(Path Selection Algorithm).
- 최단 경로 대신 AS 경로 길이, 정책, 속성(예: 로컬 우선순위, MED)을 기반으로 경로 선택.
- 각 경로에 대한 속성 정보를 벡터로 유지, 정책 기반 의사결정.
- 라우팅 표 갱신: 변화 시 증분 업데이트로 이웃 라우터(AS)와 정보 교환. 경로 속성 변경 시 즉각 반영.
- iBGP: 동일 AS 내 라우터 간 정보 교환.
- eBGP: 서로 다른 AS 간 경로 정보 교환.
- 용도: 대규모 인터넷 라우팅, ISP 간 정책 기반 라우팅.
BGP는 복잡한 정책 설정 가능, 안정성과 확장성이 뛰어남. 인터넷 백본에서 필수적.
예시
한국 → 미국 → 유럽 (협약 있음) vs. 한국 → 중국 → 유럽 (통관 복잡).
BGP는 경로 선택 알고리즘으로 정책을 고려해 "한국 → 미국 → 유럽" 선택. 이웃 AS로부터 받은 경로 속성으로 라우팅 표 갱신.
정리
| 프로토콜 | 방식 | 알고리즘 | 라우팅 표 갱신 | 용도 | IGP/EGP |
|---|
| RIP | 거리 벡터 | Bellman-Ford | 주기적 브로드캐스트(30초) | 소규모 네트워크 | IGP |
| OSPF | 링크 상태 | 다익스트라 | 변화 시 즉각 갱신 | 대규모 네트워크 | IGP |
| EIGRP | 하이브리드 | DUAL | 변화 시 증분 갱신 | 중간 규모 네트워크 | IGP |
| BGP | 경로 벡터 | 경로 선택 알고리즘 | 변화 시 증분 갱신 | ISP 간 라우팅 | EGP |
결론
라우팅 프로토콜은 IGP(내부 네트워크)와 EGP(AS 간 라우팅)로 나뉘며, 각 프로토콜은 고유한 최단 경로 탐색 알고리즘(Bellman-Ford, 다익스트라, DUAL, 경로 선택 알고리즘)을 사용한다. 라우터는 이웃 라우터로부터 수신한 정보를 바탕으로 라우팅 표를 갱신하며, 네트워크 규모와 요구사항에 따라 적합한 프로토콜을 선택해야 한다.