에듀테크 프로젝트 대시보드
BGP & 자율 시스템
인터넷은 하나의 회사가 아니라 수만 개의 자율 시스템(AS, Autonomous System)이
서로 연결된 거대한 그래프다. 각 AS는 자기 소유의 IP 주소 대역(prefix)을
"여기로 오면 됩니다"라고 이웃에게 광고하고, 그 광고가 이웃의 이웃으로 퍼진다.
이때 쓰이는 프로토콜이 BGP(Border Gateway Protocol)다.
아래에서 하나의 prefix 203.0.113.0/24가 퍼지는 과정과,
누군가 같은 주소를 거짓으로 광고하는 경로 하이재킹을 직접 돌려 보자.
203.0.113.0/24로 가는 경로가 아직 없습니다.| AS | 다음 홉 | AS_PATH |
|---|
# 이웃에게 보내는 BGP UPDATE 메시지 (요약) UPDATE NLRI 203.0.113.0/24 # 광고하는 주소 대역 AS_PATH 64510 64500 # 거쳐온 AS 번호(왼쪽이 최근) NEXT_HOP 198.51.100.7 # 실제로 패킷을 보낼 라우터 IP LOCAL_PREF 100 # 내 AS 안에서의 선호도(정책) MED 0 # 경로 선택 우선순위(단순화) 1) LOCAL_PREF 큰 것 2) AS_PATH 짧은 것 3) MED 작은 것 4) eBGP > iBGP ... # 이 데모는 정책이 모두 같다고 보고 'AS_PATH가 가장 짧은 경로'를 고른다.
거리(홉 수)만 주고받는 거리 벡터와 달리, BGP는 거쳐온 AS 번호 목록 전체를 같이 전달한다. 자기 AS 번호가 이미 목록에 있으면 그 광고를 버려서 라우팅 루프를 원천 차단한다.
실제 BGP는 홉 수가 아니라 돈 문제로 길을 고른다. 보통 고객(customer) > 대등(peer) > 공급자(provider) 순으로 선호(LOCAL_PREF)해서, 더 짧은 길을 두고 돌아가기도 한다.
아무 AS나 "이 주소는 내 것"이라고 광고할 수 있다. 더 구체적인 prefix(/24보다 /25)를 광고하면 롱기스트 프리픽스 매치 규칙 때문에 전 세계 트래픽이 공격자에게 빨려 간다. 2008년 파키스탄의 유튜브 차단, 2018년 아마존 라우트53 사건이 대표적이다.
주소 소유자가 "이 prefix는 AS64500만 광고할 수 있다"는 서명된 증명서(ROA)를 등록하고, 라우터가 RPKI로 검증해 가짜 광고(ROV, Route Origin Validation)를 걸러낸다. MANRS 같은 협약도 같은 목적이다.
* AS 번호와 IP는 문서용 예약 대역(RFC 5398 / RFC 5737)입니다. 위상·경로 선택은 교육용으로 단순화했습니다.