본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

소스 라우팅(Source Routing, 발신지 라우팅)은 패킷을 보내는 송신 호스트가 목적지까지 거쳐 갈 경로를 스스로 정해 그 경로 정보를 패킷 안에 적어 보내는 라우팅 방식이다.

보통의 IP 통신에서는 패킷이 목적지 주소만 가지고, 어느 길로 갈지는 경로상의 라우터가 자기 라우팅 테이블을 보고 한 홉씩 정한다(홉 단위 라우팅). 소스 라우팅은 이 결정을 송신 측으로 옮긴다. 송신 호스트는 목적지까지의 경로를 알고 있어야 하므로 경로 정보를 관리해야 하고, 고른 경로(거쳐 갈 노드 목록)를 패킷 헤더에 기록한다. 중간 노드는 자기 테이블로 경로를 계산하지 않고 헤더에 적힌 다음 주소로 넘긴다.

IP 의 소스 라우팅

편집 원본 편집

RFC 791 은 IPv4 헤더 옵션으로 두 가지 소스 라우팅을 정의한다.[1]

  • 느슨한 소스 라우팅(LSRR, Loose Source and Record Route, 옵션 131) - 반드시 거쳐야 할 주소들만 적는다. 그 사이 구간은 보통의 라우팅으로 간다
  • 엄격한 소스 라우팅(SSRR, Strict Source and Record Route, 옵션 137) - 거쳐 갈 주소를 빠짐없이 적는다. 적힌 다음 주소가 바로 이웃이 아니면 패킷을 버린다

두 옵션 모두 지나온 경로를 같은 옵션에 기록(record)한다.

IPv6 라우팅 헤더

편집 원본 편집

IPv6 는 기본 헤더 뒤의 Routing 확장 헤더(Next Header 43)로 경유할 노드를 지정한다(IPv6 헤더). 그 가운데 유형 0(RH0)은 같은 노드를 여러 번 오가게 만들어 트래픽을 증폭하는 공격에 악용될 수 있어 RFC 5095 로 폐지되었다.[2] 오늘날에는 세그먼트 라우팅(SRv6)이 발신 측이 경로(세그먼트 목록)를 패킷에 싣는 소스 라우팅 방식을 다시 쓴다.

송신자가 경로를 마음대로 정할 수 있으면 방화벽이나 필터링 장비를 돌아가는 경로를 만들 수 있고, IP 스푸핑으로 신뢰 호스트를 사칭한 뒤 응답이 공격자에게 되돌아오도록 경로를 지정할 수 있다. 그래서 라우터와 호스트는 소스 라우팅 옵션이 든 패킷을 기본으로 버리거나 따르지 않도록 설정한다. 시스코 라우터의 no ip source-route 가 그 설정이다(라우터 보안).

경로를 누가 정하는가로 구별하기

편집 원본 편집
방식 경로를 정하는 주체 특징
소스 라우팅 송신 호스트 경로를 패킷에 기록한다. 중간 노드는 적힌 대로 넘긴다
중앙 라우팅(centralized) 망 전체를 아는 라우팅 제어 센터 센터가 계산한 경로표를 각 노드에 나눠 준다. 센터가 고장 나면 전체가 영향을 받는다
분산 라우팅(distributed) 각 노드(라우터) 노드가 이웃과 정보를 주고받으며 스스로 다음 홉을 정한다. RIP, OSPF 가 이 방식이다
계층 라우팅(hierarchical) 영역별 라우터 망을 영역으로 나누어 영역 안은 자세히, 영역 밖은 영역 단위로만 경로를 안다. 라우팅 테이블이 작아진다

"송신 호스트가 목적지까지의 전달 경로를 스스로 결정하고 경로 정보를 패킷에 기록"하는 것은 소스 라우팅뿐이다. 나머지 셋은 라우터나 제어 센터가 경로를 정하고, 패킷에는 목적지 주소만 실린다(라우팅 알고리즘).

  1. ↑ 「Internet Protocol」(RFC 791), IETF, 1981, https://www.rfc-editor.org/rfc/rfc791, 확인일: 2026-11-04.
  2. ↑ 「Deprecation of Type 0 Routing Headers in IPv6」(RFC 5095), IETF, 2007, https://www.rfc-editor.org/rfc/rfc5095, 확인일: 2026-11-04.