Routing & Global Traffic Management
네트워크 간의 최적 경로를 결정하는 알고리즘과 전 세계적인 트래픽 흐름을 조절하는 BGP 및 GSLB의 물리학을 다루는 학습 노드입니다.
Article
M
Me
hyunyoun's Blog
network-communicationnetworkcommunicationtcpudptransport-reliabilityroutingglobal-traffic-management11 min read
1. Overview
라우팅과 글로벌 트래픽 관리(Routing & Global Traffic Management)는 내 노트북에서 출발한 작은 패킷 하나가 대양 횡단 해저 케이블과 수십 개의 통신사(ISP)를 거쳐 기어코 넷플릭스 서버에 도달하게 만드는, 전 세계적 규모의 거대한 경로 탐색 네트워크와 트래픽 분산 기술을 해부합니다.
학습자는 단순히 길을 찾는 개념을 넘어, 회사 내부망(AS)에서 가장 빠른 길을 수학적으로 계산하는 **IGP (OSPF, RIP)**의 최단 경로 알고리즘을 뜯어봅니다. 나아가 전 세계 7만 개가 넘는 통신사(AS)들이 서로 거미줄처럼 얽혀 "우리 통신사를 거쳐서 가면 넷플릭스까지 3홉 만에 갈 수 있다"고 끊임없이 소문을 퍼뜨리며 인터넷의 뼈대를 유지하는 **BGP(Border Gateway Protocol)**의 글로벌 라우팅 역학을 장악합니다. 마지막으로, 특정 지역 서버가 터졌을 때 전 세계 수백만 명의 접속자를 가장 가까운 다른 국가의 살아있는 서버로 0.1초 만에 분산시켜 버리는 글로벌 로드 밸런싱(GSLB) 및 Anycast의 트래픽 통제 역량을 확보합니다.
2. Scope & Boundaries
In-Scope
- Autonomous System (AS): 자율 시스템(통신사, 거대 IT 기업망)의 개념과 AS Number (ASN).
- IGP (Interior Gateway Protocol): OSPF (Link-State), RIP (Distance-Vector) - 단일 AS 내부 라우팅.
- EGP (Exterior Gateway Protocol): BGP (Path-Vector) - AS 간 글로벌 라우팅.
- Global Traffic Management: GSLB (DNS 기반 로드밸런싱), Anycast (물리적 최단 경로 라우팅).
Out-of-Scope
- BGP 피어링 협정 및 정산(Peering & Transit): 통신사 간의 망 사용료 정산 비즈니스 통신 정책 및 비즈니스 영역으로 위임.
- OSPF LSA(Link-State Advertisement) 패킷 구조 딥 다이브: LSA Type 1~7의 상세 비트 구조 CCIE급 네트워크 엔지니어링 실습 영역.
Boundaries
- IGP (내부 라우팅) vs EGP (외부 라우팅): IGP(OSPF)는 "우리 회사 건물(AS) 안에서 1층 라우터와 3층 라우터 중 어디로 가는 게 가장 빠른가?"를 계산하는 내부 내비게이션입니다. 반면 EGP(BGP)는 "KT 망(AS)에서 SKT 망(AS)을 거쳐 구글 망(AS)으로 가는 게 빠른가, 아니면 다이렉트로 가는 게 빠른가?"를 결정하는 국가 간/기업 간 고속도로 표지판입니다. 이 두 프로토콜이 활동하는 스코프(AS의 안과 밖)를 명확히 경계 짓습니다.
3. Counterexample
- BGP 하이재킹(Hijacking)의 공포: 2008년, 파키스탄 통신사가 정부의 지시로 유튜브 접속을 차단하려다 실수를 저지릅니다. BGP를 통해 전 세계 라우터들에게 "유튜브 서버(IP)로 가려면 파키스탄 통신사로 와라!"라고 잘못된 최단 경로 소문을 퍼뜨렸습니다. 전 세계 유튜브 트래픽이 2시간 동안 파키스탄으로 블랙홀처럼 빨려 들어가며 글로벌 유튜브가 다운된 사건입니다. BGP가 서로를 맹신하는 취약한 철학(Trust-based)을 가졌음을 인지하지 못한 채 트래픽을 통제하려 했던 끔찍한 안티 패턴입니다.
- 멍청한 DNS 로드밸런싱 (Round Robin): 한국 유저와 미국 유저가 쇼핑몰 도메인(
shop.com)에 접속합니다. 한국 서버와 미국 서버 2대가 있습니다. GSLB가 아닌 단순 DNS 라운드 로빈(Round Robin)을 썼더니, DNS가 번갈아 가며 IP를 줘서 한국 유저가 미국 서버에 접속하고, 미국 유저가 한국 서버에 접속하여 로딩에 3초씩 걸립니다. 유저의 물리적 위치나 서버의 헬스(Health) 상태를 라우팅에 반영하지 않은 비즈니스 파괴적 설계입니다.
4. Prerequisites
- Network Layer (Basic): IP 주소와 라우팅 테이블, Default Gateway. (08-01-02 Network Layer)
- 그래프 이론 (Basic): 다익스트라(Dijkstra) 최단 경로 알고리즘. (04-01-04 Graph Mechanics)
5. Learning Map
6. Learning Topics
Basic
Core Topic 01: 내 구역의 내비게이션, 자율 시스템과 OSPF (Internal Routing)
- Why to Learn: 네트워크 관리자가 수동으로 길을 지정(Static Routing)하다가 중간에 선이 끊기면 통신이 마비되는 참사를 막고, 라우터들 스스로 지도를 그리고 우회로를 찾는 수학적 자동화를 쥐기 위함입니다.
- What to Learn:
- Concepts: AS (Autonomous System), IGP (Interior Gateway Protocol), OSPF (Open Shortest Path First), Link-State, Dijkstra's Algorithm, Cost(비용).
- Skills: 네트워크 토폴로지에서 대역폭(Bandwidth)을 기반으로 Cost를 계산하여, OSPF가 선택할 최적 경로(Shortest Path) 예측하기.
- How to Learn:
- 1단계: 자율 시스템 (AS): KT, SKT, AWS, 혹은 아주 거대한 대학교 네트워크 하나하나를 AS라고 부릅니다. 이 거대한 성벽(AS) 안쪽의 트래픽은 성주(관리자) 마음대로 통제할 수 있습니다.
- 2단계: OSPF의 지도 그리기: AS 안에 100대의 라우터가 있습니다. 라우터들은 10초마다 서로 인사하며 "내 옆에 1Gbps짜리 선이 A 라우터랑 연결돼 있어"라고 소문(Link-State)을 냅니다. 모든 라우터가 이 소문을 모아 완벽한 전체 지도를 만들고, 각자 다익스트라 알고리즘을 돌려 목적지까지 가장 싼(빠른) 길을 계산해 내는 뇌를 해부합니다.
- Implement: 파이썬 다익스트라(OSPF) 시뮬레이터. 라우터 A, B, C, D가 있음.
A->B(Cost: 10),B->D(Cost: 10),A->C(Cost: 50),C->D(Cost: 50). A에서 D로 가는 길은A->B->D (Cost 20)으로 세팅됨. 이때 중간 선로(B->D)를Down시킴. OSPF 로직이 즉각 지도를 업데이트하고, 어쩔 수 없이 우회로인A->C->D (Cost 100)으로 경로(Routing Table)를 자동 재계산하는 콘솔 렌더링.
Recommended
Core Topic 02: 험담과 소문의 글로벌 정치판, BGP (The Internet Backbone)
- Why to Learn: OSPF처럼 다익스트라 알고리즘을 전 세계 라우터(수백만 대)에 돌리면 컴퓨터가 멈춰버림을 깨닫고, 오직 '누구를 거쳐야 하는지' 징검다리 정보만 교환하여 인터넷을 굴러가게 만드는 BGP의 타협점을 장악하기 위함입니다.
- What to Learn:
- Concepts: BGP (Border Gateway Protocol), Path-Vector (경로 벡터), ASN (AS Number), Peering (피어링), eBGP vs iBGP.
- Skills: 라우팅 테이블의
AS-Path속성을 분석하여, 트래픽이 목적지에 도달하기 위해 거쳐 가는 통신사(ASN)의 개수(Hop) 세어보기.
- How to Learn:
- 1단계: OSPF의 글로벌 한계: OSPF는 전체 지도를 그려야 합니다. 전 세계 수천만 대의 라우터 지도를 그리는 건 불가능합니다. 그래서 글로벌 통신(AS 간 통신)은 전체 지도를 버립니다.
- 2단계: BGP의 소문내기 (Path-Vector): KT(AS 100)가 SKT(AS 200)에게 말합니다. "구글(AS 300)로 가려면 날 거쳐가. 경로(AS-Path)는
[100, 300]이야." SKT는 이걸 듣고 자기 고객에게 소문냅니다. "구글 가려면 날 거쳐가. 경로는[200, 100, 300]이야." 라우터들은 이AS-Path의 징검다리 개수가 가장 적은 쪽을 선택하는, 철저한 소문(Vector) 기반의 글로벌 라우팅 원리를 뜯어봅니다.
- Implement: BGP 경로 선택 스크립트. 목적지 Google(
8.8.8.8).- 경로 A 후보:
AS-Path = [ISP1, ISP2, Google] (길이: 3) - 경로 B 후보:
AS-Path = [ISP3, Google] (길이: 2)로직이AS-Path길이를 비교하여 더 짧은경로 B를 최적 경로(Best Path)로 채택하여 라우팅 테이블에 인스톨하는 판정 데모.
- 경로 A 후보:
Practical
Core Topic 03: 라우팅 블랙홀, BGP 하이재킹 (BGP Hijacking & Blackholing)
- Why to Learn: "인터넷은 서로를 믿는다는 취약한 가정하에 만들어졌다"는 소름 돋는 진실을 바탕으로, BGP 프로토콜의 맹점을 찌르는 국가/해커 단위의 인프라 공격과 방어 기제를 쥐기 위함입니다.
- What to Learn:
- Concepts: BGP Hijacking, Route Leaks, Blackholing, RPKI (Resource Public Key Infrastructure), Prefix (IP 대역) 탈취.
- Skills: 특정 IP 대역에 대해 허위 BGP 라우팅 정보를 뿜어냈을 때, 전 세계 트래픽이 블랙홀처럼 공격자에게 빨려 들어가는 메커니즘 도해.
- How to Learn:
- 1단계: 가짜 소문(Hijacking) 퍼뜨리기: 해커(AS 666)가 갑자기 전 세계 BGP 라우터들에게 "야, 내가 바로 넷플릭스(
192.168.0.0/16)야! 나한테 보내!"라고 뻥을 칩니다. BGP는 기본적으로 '인증' 기능이 없어 이 말을 그대로 믿습니다. - 2단계: 블랙홀과 RPKI: 해커와 물리적으로 가까운 아시아 지역의 넷플릭스 트래픽이 전부 해커의 라우터로 빨려 들어갑니다(Blackholing). 해커가 트래픽을 도청하고 버려버립니다. 이를 막기 위해 "저 IP 대역은 진짜 넷플릭스 소유가 맞다"고 암호학적으로 증명(인증서)하는 RPKI(리소스 공개 키 인프라)의 현대적 방어망을 해부합니다.
- 1단계: 가짜 소문(Hijacking) 퍼뜨리기: 해커(AS 666)가 갑자기 전 세계 BGP 라우터들에게 "야, 내가 바로 넷플릭스(
- Implement: BGP 하이재킹 렌더링. 정상 상태:
User -> ISP -> Netflix_AS. 해커 발동:Hacker_AS가Netflix_AS보다 더 구체적인 서브넷 마스크(/24)로 자기가 넷플릭스라고 BGP 광고(Advertise)를 때림. 라우터의 Longest Prefix Match 원칙에 의해,User트래픽이ISP에서Netflix_AS가 아닌Hacker_AS로 라우팅 방향이 확 꺾이는(Hijacked) 참사 시각화.
Advanced
Core Topic 04: 트래픽의 신, 애니캐스트와 GSLB (Anycast & GSLB)
- Why to Learn: 전 세계 수천만 명이 접속하는 넷플릭스나 구글이, 서버 하나가 터져도 접속자들을 0.1초 만에 가장 가까운 다른 국가 서버로 안전하게 대피시키는 글로벌 트래픽 분산의 극의를 장악하기 위함입니다.
- What to Learn:
- Concepts: GSLB (Global Server Load Balancing), DNS-based Routing, Anycast (애니캐스트), Unicast vs Anycast, CDN Routing.
- Skills: 유저의 IP 위치와 서버 헬스(Health) 상태에 따라 동적으로 가장 최적의 서버 IP를 내려주는 GSLB 아키텍처 설계.
- How to Learn:
- 1단계: 소프트웨어 레벨 (GSLB): 유저가
google.com을 칩니다. DNS 서버(GSLB)가 유저의 IP를 까보고 "너 한국 유저네? 한국 서버 죽었으니, 도쿄 서버 IP 줄게"라고 지능적으로 응답합니다(DNS 기반 분산). 하지만 DNS 캐싱(TTL) 때문에 변경이 즉각 반영되지 않는 한계를 해부합니다. - 2단계: 물리 레벨의 마법 (Anycast): 이 한계를 뚫는 게 Anycast입니다. 한국, 도쿄, 미국 서버 3대가 모두 **"똑같은 IP(예: 8.8.8.8)"**를 가집니다. 유저가 8.8.8.8로 핑을 쏘면, 중간 라우터들(BGP)이 알아서 물리적으로 가장 가까운 한국 서버로 보내줍니다. 한국 서버가 터지면 라우터들이 알아서 2번째로 가까운 도쿄 서버로 길을 즉시 꺾어주는, DNS를 거칠 필요조차 없는 궁극의 L3 트래픽 분산술을 뜯어봅니다.
- 1단계: 소프트웨어 레벨 (GSLB): 유저가
- Implement: GSLB vs Anycast 딜레이 시뮬레이터.
- GSLB 모드:
[유저(KR)] -> [GSLB 질의 (TTL 300초)] -> [도쿄IP 획득] -> [도쿄 접속]. 중간에 한국 서버가 살아나도 TTL 300초 동안은 계속 도쿄로 감 (비효율). - Anycast 모드: IP 하나(
8.8.8.8)에[KR, JP, US]서버 바인딩.[유저(KR)] -> [가장 짧은 AS-Path 계산] -> [즉시 KR 서버 꽂힘]. KR 서버가 죽는 즉시 BGP 테이블이 업데이트되어 다음 패킷부터 자동으로 JP 서버로 꽂히는 무정지 페일오버(Failover) 애니메이션.
- GSLB 모드:
7. Terminology
8. References
Primary
- [P1] CS2023 - Networking and Communication (NC) - Routing and Forwarding (BGP, OSPF)
- [P5] SFIA - Network Design (NTDS) - Dynamic Routing Protocols
Secondary
- [Computer Networking: A Top-Down Approach] Kurose & Ross - The Network Layer: Control Plane (OSPF and BGP)
- [Internet Routing Architectures] Sam Halabi - BGP Integration and AS Relationships
Industry
- [Cloudflare Learning Center] - What is Anycast? / What is BGP?
- [IETF RFC 4271] - A Border Gateway Protocol 4 (BGP-4)
9. Final Checklist
Primary
- 하나의 기업이나 통신사 네트워크 덩어리를 의미하는 AS(Autonomous System)의 개념과, AS 내부에서 길을 찾는 IGP(OSPF)와 AS 밖에서 길을 찾는 EGP(BGP)의 아키텍처적 역할 분담을 설명할 수 있는가?
- OSPF 프로토콜이 라우터 간 링크 상태(Link-State)를 브로드캐스트하여 네트워크 전체 지도를 완성한 후, 다익스트라(Dijkstra) 알고리즘으로 최단 경로(Cost)를 도출해 내는 수학적 단계를 증명할 수 있는가?
Secondary
- 인터넷의 뼈대를 이루는 BGP 프로토콜이 대역폭이나 지연시간(Delay)을 무시하고, 오직 트래픽이 거쳐 가는 AS 통신사의 개수(AS-Path 속성)가 가장 적은 경로를 택하는 물리적 한계를 식별할 수 있는가?
- 악의적인 AS가 타인의 IP 대역(Prefix)을 자신이 목적지라고 허위 광고할 때 발생하는 BGP 하이재킹(Hijacking)의 블랙홀 메커니즘과, 이를 암호학적으로 차단하는 RPKI 인증의 필요성을 논증할 수 있는가?
Industry
- 사용자의 위치 IP와 DNS 질의를 기반으로 소프트웨어 레벨에서 접속할 서버의 IP를 다르게 내려주는 GSLB(Global Server Load Balancing)의 트래픽 분배 원리를 설계할 수 있는가?
- 전 세계 여러 데이터센터의 서버에 동일한 공인 IP 주소를 부여(Anycast)하고, BGP 라우팅의 '최단 경로 우선' 원칙을 이용해 유저를 가장 가까운 물리적 엣지(Edge) 서버로 꽂아버리는 무지연 트래픽 통제술을 평가할 수 있는가?