라우팅 테이블에서 여러 항목이 매칭되면 프리픽스가 가장 긴 것을 고르는 규칙.
목적지 10.1.5.7
0.0.0.0/0 매칭 — 프리픽스 0 (기본 경로)
10.0.0.0/8 매칭 — 프리픽스 8
10.1.0.0/16 매칭 — 프리픽스 16
10.1.5.0/24 매칭 — 프리픽스 24 ← 선택
왜 이 규칙인가
프리픽스가 길수록 '더 좁은 범위' 를 지목한다 = 더 구체적인 정보 = 더 정확한 경로
"전국행" 표지판보다 "그 도시행" 표지판이 정확한 것과 같다
CIDR를 가능하게 한 규칙
집약된 경로(10.0.0.0/8) 를 광고하면서도 예외 구간(10.1.5.0/24) 만 따로 광고할 수 있다
- 대부분은 집약 경로로 보내고 일부만 다른 길로 보낸다
- 라우팅 테이블을 작게 유지하면서 유연성을 얻는다
기본 경로의 위치
- 0.0.0.0/0 은 프리픽스 길이가 0 이라 항상 매칭되지만 항상 진다
- 다른 매칭이 하나도 없을 때만 선택된다
- 그래서 '기본 경로(default route)' 라 부른다
구현 관점
- 선형 탐색하면 항목 수에 비례해 느려진다
- 실제 라우터는 트라이(trie) 구조나 TCAM 하드웨어로 조회한다
- 인터넷 백본의 테이블은 90만 항목을 넘어 이 최적화가 필수다
면접 함정
- ❌ "먼저 나온 항목이 이긴다" → 순서가 아니라 프리픽스 길이다.
- ❌ "기본 경로가 있으면 다른 항목은 무시" → 반대로 가장 나중에 선택된다.
예외 경로를 만드는 방법
평소에는 ISP-A 로 보내되 특정 대역만 ISP-B 로 보내고 싶다
0.0.0.0/0 → ISP-A (기본)
203.0.113.0/24 → ISP-B (예외)
전체 설정을 바꾸지 않고 '더 구체적인 경로 한 줄' 로 예외를 만든다 = 최장 프리픽스 매칭이 주는 유연성
블랙홀 라우팅
특정 대역을 버리고 싶으면 더 구체적인 경로를 null 로 보낸다
- ip route add blackhole 198.51.100.0/24
DDoS 공격 출발지 차단에 쓰인다 (RTBH — Remotely Triggered Black Hole)
BGP 하이재킹과의 관계
남의 대역을 '더 길게' 광고하면 트래픽을 가로챌 수 있다
정상 소유자가 203.0.113.0/24 광고
- 공격자가 — 203.0.113.0/25 + 203.0.113.128/25 광고
- 더 구체적이라 공격자 쪽이 선택된다
실제로 발생한 사고들이 이 원리를 이용했다 대응: RPKI 로 광고 권한을 검증한다
호스트 라우팅
/32 는 단일 주소를 지목하므로 가장 구체적이다
- ip route add 10.1.5.7/32 via 192.168.1.5
특정 서버로만 다른 경로를 쓰게 할 때 사용한다