IP, Routing & Global Interconnect
전 세계적 주소 체계인 IP와 데이터가 네트워크 숲을 지나 목적지를 찾아가는 최적 경로 산출 알고리즘(BGP, OSPF)의 물리적 역학을 다룹니다.
Article
M
Me
hyunyoun's Blog
network-communicationnetworkcommunicationiproutingglobal-interconnectnetwork-layeraddressing9 min read
1. Overview
IP, 라우팅 및 글로벌 인터커넥트(IP, Routing & Global Interconnect, RGI)는 거미줄처럼 얽힌 수억 대의 전 세계 라우터들이 어떻게 서로를 식별하고, 가장 빠르고 안전한 길(Route)을 찾아내어 데이터를 배달하는지, 그 거대한 글로벌 내비게이션의 원리를 다룹니다.
데이터 패킷은 태평양 해저 케이블을 건너고 수십 개의 통신사(ISP) 망을 통과해야 목적지에 도달합니다. 학습자는 32비트(IPv4)와 128비트(IPv6) 주소의 할당 및 서브네팅(Subnetting) 역학을 이해하고, 내 방 공유기에서 일어나는 근거리 라우팅부터, 전 세계 인터넷 망이 붕괴되지 않도록 지탱하는 국가 간 프로토콜인 BGP(Border Gateway Protocol)의 정치적/물리적 합의 과정까지 학습합니다. 이를 통해 트래픽을 글로벌 스케일로 분산하고 제어하는 네트워크 아키텍트의 시야를 확보합니다.
2. Scope & Boundaries
In-Scope
- 네트워크 주소 체계 (Network Addressing): IPv4/IPv6 구조, 서브넷 마스크(Subnet Mask)와 CIDR(Classless Inter-Domain Routing), 공인/사설 IP 분리 및 NAT(Network Address Translation) 물리.
- 포워딩 아키텍처 (Forwarding Mechanics): 라우터 내부의 최장 일치(Longest Prefix Match) 알고리즘, ARP와 라우팅 테이블의 상호작용.
- 내부 라우팅 (IGP: Interior Gateway Protocol): 동일 자율 시스템(AS) 내에서의 길 찾기. OSPF(Link-State)의 다익스트라(Dijkstra) 알고리즘 적용 및 RIP(Distance-Vector).
- 글로벌 라우팅 (EGP: Exterior Gateway Protocol): BGP(Border Gateway Protocol)를 통한 통신사(AS) 간 경로 전파, 정책(Policy) 기반 라우팅 결정 및 AS-Path 속성.
Out-of-Scope
- TCP/UDP 혼잡 제어 메커니즘: 목적지에 도달한 이후 데이터 유실 시 대처 방법 08-02. TCP, UDP & Transport 영역으로 위임.
- VPC 및 클라우드 소프트웨어 정의 네트워크(SDN): AWS VPC 피어링이나 쿠버네티스의 Calico CNI와 같은 오버레이 네트워킹 구현 08-06. SDN & Virtual Networking 영역으로 위임.
Boundaries
- RGI vs. Transport (08-02): 전송 계층(08-02)이 '양 끝단의 호스트'끼리 데이터를 어떻게 신뢰성 있게 주고받을지 합의하는 것이라면, RGI(08-03)는 그 패킷이 '어떤 물리적 중간 기착지(라우터)'들을 거쳐 갈 것인가에 대한 네트워크 인프라 자체의 책임입니다. RGI는 데이터의 내용을 보지 않고 오직 '도착지 IP 주소'만 봅니다.
3. Counterexample
- "BGP는 무조건 가장 빠른 길을 찾는다"는 오해 (Policy Fallacy): 게임의 핑(Ping)을 낮추기 위해 가장 짧은 광케이블 경로가 있음에도 불구하고 패킷이 빙글빙글 돌아가는 현상을 보며 인터넷이 고장 났다고 착각하는 것. 글로벌 라우팅 프로토콜인 BGP는 물리적 속도(Cost)가 아니라 통신사 간의 **비즈니스 계약(Policy, 돈을 누가 내는가)**을 최우선으로 하여 경로를 선택합니다. 돈을 내야 하는 빠른 길(Transit)보다 공짜로 갈 수 있는 먼 길(Peering)을 우선시하는 BGP의 정치적/경제적 역학을 모르면 글로벌 트래픽을 통제할 수 없습니다.
- IP 클래스의 잔재 (Classful Fallacy): 실무에서 "이 IP는 C클래스니까 호스트가 254개야"라고 말하는 행위. A, B, C 클래스 방식은 주소 낭비가 너무 심해 1993년에 폐기되었으며, 현대 네트워크는 서브넷 마스크를 비트 단위로 마음대로 자르는 CIDR(Classless Inter-Domain Routing) 방식을 사용합니다. 여전히 클래스 개념에 얽매여 있으면 클라우드 VPC나 쿠버네티스 CNI 환경에서 서브넷(Subnet)을 유연하게 쪼개지 못해 IP 고갈 재난을 맞이합니다.
4. Prerequisites
- 네트워크 기초 및 캡슐화 (Basic): L3 라우터가 L2 프레임을 까보고 IP 헤더를 확인한 뒤 다시 L2 프레임으로 씌우는 역캡슐화/캡슐화 물리를 이해해야 합니다. (08-01. NFS)
- 자료 구조와 그래프 알고리즘 (Recommended): 라우팅 테이블이 경로를 계산하는 다익스트라(Dijkstra) 알고리즘의 시간 복잡도 기초가 필요합니다. (04-03. ACT)
5. Learning Map
6. Learning Topics
Basic
Core Topic 01: IP 주소와 CIDR 서브네팅 (Network Addressing)
- Why to Learn: IP 주소가 부족한 현대 환경에서 1개의 공인 IP를 수백 대가 나눠 쓰거나, 클라우드 환경에서 네트워크 망을 설계할 때 IP 충돌을 막기 위함입니다.
- What to Learn:
- Concepts: IPv4 헤더(TTL, Header Checksum), 공인 IP vs 사설 IP(RFC 1918), NAT(Network Address Translation).
- Skills: 서브넷 마스크(Subnet Mask) 계산, CIDR(
/24,/26) 표기법, 논리적 AND 연산을 통한 네트워크 주소 추출. - Tools: Subnet Calculator.
- Trade-offs: NAT를 통해 IP 고갈을 막고 내부망을 숨기는 강력한 보안성 vs 종단 간 통신(End-to-End) 원칙이 깨져서 P2P 통신이나 WebRTC 구성 시 복잡한 방화벽 천공(Hole Punching) 기술이 필요해지는 대가.
- How to Learn:
- 1단계: IP 주소
192.168.1.100과 마스크255.255.255.0을 2진수로 풀어서 AND 연산을 통해 네트워크 ID(192.168.1.0)를 물리적으로 분리해 냅니다. - 2단계:
/24대역(호스트 254대)을 부서별로 60대씩 나눠주기 위해 서브넷 마스크를/26으로 2비트 더 쪼개어(Subnetting) 4개의 독립된 망으로 분할하는 설계도를 손으로 작성합니다.
- 1단계: IP 주소
- Implement: 클라우드(AWS VPC) 환경에서 퍼블릭 서브넷(로드 밸런서용)과 프라이빗 서브넷(DB용)의 IP 대역폭을 낭비 없이 설계한 CIDR 아키텍처 문서.
Recommended
Core Topic 02: 라우팅 포워딩 메커니즘 (Routing Mechanics)
- Why to Learn: 데이터가 목적지까지 찾아가는 기본 원리인 "내 알 바 아니면, 다음 라우터(Default Gateway)에게 던진다"는 무책임하면서도 견고한 홉 바이 홉(Hop-by-hop) 전송을 이해하기 위함입니다.
- What to Learn:
- Concepts: 라우팅 테이블(Routing Table), 메트릭(Metric), 디폴트 게이트웨이(Default Gateway).
- Skills: 롱기스트 프리픽스 매치(Longest Prefix Match) 알고리즘, ARP 테이블과 라우팅 테이블의 연계.
- Tools:
route print(Windows),ip route(Linux),traceroute. - Trade-offs: 모든 경로를 사람이 직접 적어주는 정적 라우팅(Static)의 압도적 속도와 보안성 vs 선이 끊어졌을 때 사람이 다시 적어주기 전까지 뻗어버리는 극악의 유지보수성(동적 라우팅 필요).
- How to Learn:
- 1단계: 라우팅 테이블에
0.0.0.0/0(모든 목적지)와10.1.1.0/24(특정 망)가 있을 때, 목적지가10.1.1.5인 패킷이 들어오면 비트가 더 많이 일치하는(Longest Match) 좁은 경로로 우선 포워딩되는 하드웨어 처리 과정을 분석합니다. - 2단계:
traceroute google.com을 실행하여, TTL(Time To Live) 값을 1부터 1씩 늘려가며 고의로 중간 라우터들을 죽게 만들어(Time Exceeded 응답) 구글까지 가는 중간 기착지 15개의 IP를 모두 밝혀내는 진단 원리를 확인합니다.
- 1단계: 라우팅 테이블에
- Implement: 리눅스 가상머신 3대를 직렬로 연결하고 라우팅 테이블을 수동으로 조작하여, A에서 C로 핑(Ping)이 가도록 정적 라우팅 네트워크 구축.
Practical
Core Topic 03: 내부 동적 라우팅 (IGP: OSPF)
- Why to Learn: 회사 내에 수십 대의 라우터가 있을 때, 특정 선이 포크레인에 찍혀 단절되더라도 시스템이 스스로 우회로를 1초 만에 찾아내어 서비스를 유지하게 만들기 위함입니다.
- What to Learn:
- Concepts: Distance Vector (RIP) vs Link-State (OSPF), 다익스트라(Dijkstra) SPF(Shortest Path First) 알고리즘.
- Skills: OSPF Area 구조(백본 에어리어 0), LSA(Link-State Advertisement) 패킷의 플러딩(Flooding), 메트릭(Cost) 계산(대역폭 기반).
- Tools: Cisco Packet Tracer, FRRouting(FRR).
- Trade-offs: 네트워크 지도를 모든 라우터가 완벽하게 복사해 갖는 OSPF의 빠른 경로 재계산 능력 vs 라우터 수가 1,000개가 넘어가면 그 지도를 저장하고 계산하느라 CPU와 메모리가 터져버려 Area로 억지로 쪼개야 하는 확장성 한계.
- How to Learn:
- 1단계: 라우터 4대를 마름모 형태로 연결하고 선의 대역폭(1Gbps vs 10Mbps)을 다르게 설정한 뒤, OSPF가 홉(Hop) 수가 많은 길이라도 대역폭이 넓은 곳(Cost가 낮음)을 최적 경로로 선택하는 수학적 원리를 시뮬레이션합니다.
- 2단계: 최단 경로로 패킷이 흐르고 있을 때 메인 선을 뽑아버리면, 라우터들이 즉시 헬로(Hello) 패킷 유실을 감지하고 새로운 네트워크 지도를 1초 만에 다시 그려 우회로로 통신을 복구하는 수렴(Convergence) 과정을 캡처합니다.
- Implement: 3개의 브랜치 오피스가 본사로 연결되는 OSPF 토폴로지를 구축하고, 메인 회선 장애 시 백업 회선으로 5초 이내에 자동 절체(Failover)되도록 Cost 파라미터를 튜닝한 실무 구성 파일.
Advanced
Core Topic 04: 글로벌 라우팅과 BGP (EGP: BGP)
- Why to Learn: 카카오톡 먹통 사태나 구글 접속 불가 장애처럼, 잘못된 라우팅 정보 하나가 전 세계 인터넷을 어떻게 10분 만에 붕괴시킬 수 있는지 그 무시무시한 글로벌 역학을 뜯어보기 위해서입니다.
- What to Learn:
- Concepts: AS(Autonomous System) 번호, BGP(Border Gateway Protocol), 피어링(Peering)과 트랜짓(Transit) 비즈니스 모델.
- Skills: Path-Vector 알고리즘, BGP 속성(AS-Path, Local Preference, MED), 라우팅 루프 방지, BGP 하이재킹(Hijacking).
- Tools: BGP Looking Glass.
- Trade-offs: 거리(비용)보다는 "우리 통신사 고객 트래픽은 경쟁사 망을 타지 마라"는 비즈니스 정책(Policy)을 코드로 통제할 수 있는 극강의 유연성 vs 그 복잡한 룰 때문에 설정 하나 삐끗하면 내 트래픽이 지구 반대편으로 빨려 들어가는 블랙홀 리스크.
- How to Learn:
- 1단계: BGP가 경로를 선택할 때 '대역폭(속도)'을 전혀 보지 않고, 오로지 'AS를 몇 번 거치는가(AS-Path)'와 '관리자가 정한 우선순위(Local Pref)'만 보고 무식하게(그러나 철저히 정치적으로) 경로를 꽂아버리는 메커니즘을 증명합니다.
- 2단계: 2008년 파키스탄 유튜브 접속 차단 사태를 케이스 스터디합니다. 파키스탄 라우터가 실수로 "내가 유튜브로 가는 가장 빠른 길이다!"라고 BGP 메시지를 전 세계에 쏘아 올렸을 때(BGP 하이재킹), 왜 전 세계의 트래픽이 구글 본사가 아닌 파키스탄으로 빨려 들어가 블랙홀이 되었는지 그 취약성을 분석합니다.
- Implement: 멀티 홈(Multi-homing) 환경에서 두 개의 ISP 회선 중 하나는 메인(다운로드 우선), 하나는 백업으로 동작하게 만들기 위해 BGP Local Preference와 AS-Path Prepending 기법을 적용한 라우터 정책 명세서.
7. Terminology
8. References
Primary References
- [P1] CS2023: NC-Routing and Forwarding — 핵심 라우팅 이론 및 포워딩 메커니즘.
- [P1] CS2023: NC-Networked Applications — 글로벌 인터넷 구조와 응용 관계.
Secondary References
- [Kurose & Ross] Computer Networking: A Top-Down Approach — 프로토콜의 하향식 원리 분석.
- [RFC 1519] Classless Inter-Domain Routing (CIDR) — CIDR 공식 표준 사양서.
Industry References
- [Cisco] BGP Case Studies — 실제 ISP 환경에서의 대규모 BGP 운영 가이드.
- [Cloudflare] How Anycast works — 글로벌 가용성 향상을 위한 Anycast 전략 분석.
9. Final Checklist
Primary Checklist
- IPv4 주소와 프리픽스(Prefix) 길이를 보고 서브넷 마스크, 네트워크 ID, 가용 호스트 범위를 정확히 계산할 수 있는가? (P1-NC)
- 라우터가 패킷을 수신했을 때 라우팅 테이블에서 '가장 길게 일치하는 주소(LPM)'를 찾는 물리적 이유를 설명 가능한가? (P1-NC-RT)
Secondary Checklist
- OSPF의 링크 상태 데이터베이스(LSDB)가 어떻게 동기화되며, 장애 시 Flooding이 일어나는 과정을 기술할 수 있는가?
- BGP의 AS-Path 속성이 라우팅 루프 방지에 어떻게 기여하는지 물리적 구조를 설명할 수 있는가?
Industry Checklist
- 실무 서비스의 글로벌 지연 시간을 줄이기 위해 Anycast IP 도입 시 장점과 관리적 한계를 명확히 설명하고 설계안을 제시할 수 있는가?
- Traceroute 결과에서 특정 구간 이후 응답이 없을 때, 이를 방화벽 정책이나 라우팅 설정 이슈로 구분하여 진단할 수 있는가?