CS Insights

글로벌 라우팅 블랙홀: BGP 누수(Route Leak) 추적과 초거대 자율 시스템(AS) 망 버그 해부

글로벌 라우팅 블랙홀: BGP 누수(Route Leak) 추적과 초거대 자율 시스템(AS) 망 버그 해부
하루에도 10억 번 이상 호출되는 글로벌 광고 서버가, 아시아권에서만 갑자기 4시간 동안 접속 불능 상태에 빠진 적이 있습니다. AWS Health Dashboard도 초록색이었고 사내 컨트롤 플레인 시스템의 CPU는 너무나 평온했습니다. 서버의 문제가 아님을 직감하고 Wireshark 패킷 캡처와 traceroute를 통해 인터넷 백본망(Backbone Network)을 직접 들여다보았습니다. 우리의 패킷이 도쿄 해저 케이블을 넘자마자 엉뚱하게도 동유럽의 이름 모를 소형 통신사(ISP) 라우터로 빨려 들어가 허공에서 증발하고 있었습니다. 범인은 인터넷의 길 안내를 맡고 있는 핵심 프로토콜, BGP(Border Gateway Protocol)의 라우팅 누수(Route Leak)였습니다. BGP는 전 세계 수만 개의 자율 시스템(AS, Autonomous System) 통신사 장비들이 "나에게 오면 아마존 서버로 가장 빨리 갈 수 있다"라는 경로 정보를 서로 믿고(Trust) 귀띔해 주는 가십 프로토콜입니다. 그런데 동유럽의 한 작은 통신사 엔지니어가 설정 스크립트를 잘못 건드려 "우리망을 타면 일본 AWS 리전까지 한 방에 간다"라는 거대한 거짓말(거짓된 최단 경로)을 전 세계 라우터에 살포해버린 것입니다. 이 거짓말은 BGP의 무조건적인 신뢰 아키텍처를 타고 전 세계 라우팅 테이블을 순식간에 오염시켰습니다. 아시아의 트래픽은 가장 빠른 길을 찾겠다는 일념 하에 이 작은 동유럽 라우터로 몰려들었고, 장비 용량이 터져버리면서 트래픽이 모조리 '블랙홀'에 빠져 폐기되었습니다. 저희는 RPKI(리소스 공개 키 인프라)와 BGP 하이재킹 모니터링 툴(ThousandEyes)을 우회하여 긴급히 다른 통신망 피어링으로 터널을 꺾어 트래픽을 복구시켰습니다. 클라우드의 시대라 하더라도, 결국 우리가 딛고 있는 땅은 프로토콜 설정 파일 하나에 지구 반대편의 트래픽이 박살 날 수 있는 가장 거칠고 취약한 물리 인터넷망이라는 사실에 겸손해진 장애 기록입니다.

Related Posts