소스 라우팅
IT위키
더 많은 작업
소스 라우팅(Source Routing, 발신지 라우팅)은 패킷을 보내는 송신 호스트가 목적지까지 거쳐 갈 경로를 스스로 정해 그 경로 정보를 패킷 안에 적어 보내는 라우팅 방식이다.
보통의 IP 통신에서는 패킷이 목적지 주소만 가지고, 어느 길로 갈지는 경로상의 라우터가 자기 라우팅 테이블을 보고 한 홉씩 정한다(홉 단위 라우팅). 소스 라우팅은 이 결정을 송신 측으로 옮긴다. 송신 호스트는 목적지까지의 경로를 알고 있어야 하므로 경로 정보를 관리해야 하고, 고른 경로(거쳐 갈 노드 목록)를 패킷 헤더에 기록한다. 중간 노드는 자기 테이블로 경로를 계산하지 않고 헤더에 적힌 다음 주소로 넘긴다.
RFC 791 은 IPv4 헤더 옵션으로 두 가지 소스 라우팅을 정의한다.[1]
- 느슨한 소스 라우팅(LSRR, Loose Source and Record Route, 옵션 131) - 반드시 거쳐야 할 주소들만 적는다. 그 사이 구간은 보통의 라우팅으로 간다
- 엄격한 소스 라우팅(SSRR, Strict Source and Record Route, 옵션 137) - 거쳐 갈 주소를 빠짐없이 적는다. 적힌 다음 주소가 바로 이웃이 아니면 패킷을 버린다
두 옵션 모두 지나온 경로를 같은 옵션에 기록(record)한다.
| 방식 | 경로를 정하는 주체 | 특징 |
|---|---|---|
| 소스 라우팅 | 송신 호스트 | 경로를 패킷에 기록한다. 중간 노드는 적힌 대로 넘긴다 |
| 중앙 라우팅(centralized) | 망 전체를 아는 라우팅 제어 센터 | 센터가 계산한 경로표를 각 노드에 나눠 준다. 센터가 고장 나면 전체가 영향을 받는다 |
| 분산 라우팅(distributed) | 각 노드(라우터) | 노드가 이웃과 정보를 주고받으며 스스로 다음 홉을 정한다. RIP, OSPF 가 이 방식이다 |
| 계층 라우팅(hierarchical) | 영역별 라우터 | 망을 영역으로 나누어 영역 안은 자세히, 영역 밖은 영역 단위로만 경로를 안다. 라우팅 테이블이 작아진다 |
"송신 호스트가 목적지까지의 전달 경로를 스스로 결정하고 경로 정보를 패킷에 기록"하는 것은 소스 라우팅뿐이다. 나머지 셋은 라우터나 제어 센터가 경로를 정하고, 패킷에는 목적지 주소만 실린다(라우팅 알고리즘).
- ↑ 「Internet Protocol」(RFC 791), IETF, 1981, https://www.rfc-editor.org/rfc/rfc791, 확인일: 2026-11-04.
- ↑ 「Deprecation of Type 0 Routing Headers in IPv6」(RFC 5095), IETF, 2007, https://www.rfc-editor.org/rfc/rfc5095, 확인일: 2026-11-04.