네트워크에서 데이터를 목적지까지 보내기 위해 최적의 경로를 결정하고 전달하는 과정이다.
라우터는 여러 경로 중 최적의 경로(best path)를 선택해서 패킷을 전송한다.
이때, 경로 선택은 라우팅 테이블을 기반으로 이루어진다.
위 라우팅을 실제로 수행하는 장치가 바로 라우터(Router)이다.
라우터는 두 개 이상의 네트워크(ex. 회사 LAN과 인터넷)를 연결해주는 네트워크 장비이다.
라우팅
패킷 전달
네트워크 분리
NAT, DHCP, 방화벽 등의 부가 기능
🌐 라우팅 동작 흐름 예시
PC A → 인터넷의 서버 B로 요청을 보낼 때:
PC A는 기본 게이트웨이(라우터)에 패킷 전송
라우터는 목적지 IP 분석 후, 라우팅 테이블을 참조하여 다음 경로로 전달
여러 라우터를 거쳐 서버 B에게 도달
각 라우터는 "이 패킷을 다음에 어디로 보낼까?" 라는 판단을 반복하며 최적의 경로를 선택
간단하지만 느린 편이며, 소규모 네트워크 등에 사용된다.
거리 벡터(distance-vector) 기반 라우팅 프로토콜
경로의 거리(= 홉 수)를 기준으로 경로 선택
최대 홉 수: 15 (16은 도달 불가능)
주기적으로 전체 라우팅 정보를 이웃 라우터에 브로드캐스트 (30초 간격)
간단하지만 느리고 비효율적, 대규모 네트워크에는 부적합
사용 예 : 소규모 또는 간단한 내부 네트워크
빠른 속도로 인해 대규모 네트워크에 적합하다.
링크 상태(link-state) 기반 라우팅 프로토콜
Dijkstra 알고리즘 사용 → 가장 짧은 경로 계산
빠른 수렴 속도와 효율적인 대역폭 사용
라우터는 자신의 상태만 주기적으로 광고 → 전체 네트워크 토폴로지 파악
계층적 구조(Area)로 대규모 네트워크에 적합
사용 예 : 대기업 내부 네트워크, ISP 내부망 등
인터넷 전반의 라우팅을 담당하는 프로토콜로, ISP 간 라우팅 등에 사용된다.
경로 벡터(path-vector) 기반 프로토콜
자율 시스템(AS, Autonomous System) 간의 경로 설정
경로 선택 시 홉 수보다 정책, 경로 속성 등 다양한 기준 사용
느리지만 매우 유연하고 확장성 있음
사용 예 : ISP 간 라우팅, 인터넷 백본 구성 등