콘텐츠로 바로가기

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 혼잡 제어 메커니즘: 목적지에 도달한 이후 데이터 유실 시 대처 방법 \rightarrow 08-02. TCP, UDP & Transport 영역으로 위임.
  • VPC 및 클라우드 소프트웨어 정의 네트워크(SDN): AWS VPC 피어링이나 쿠버네티스의 Calico CNI와 같은 오버레이 네트워킹 구현 \rightarrow 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

Sequence Core Cluster Objective & Description Evidence (BoK)
1 Logical Addressing (IP & CIDR) 40억 개의 IPv4 주소를 국가, 통신사, 기업별로 낭비 없이 쪼개고 할당하는 서브네팅의 마법을 배웁니다. P1:CS2023
2 Hop-by-Hop Forwarding 공유기(라우터)에 패킷이 들어온 순간, 수천 개의 라우팅 테이블 중 가장 적합한 출구를 1밀리초 만에 찾아내는 물리를 익힙니다. P1:CS2023
3 Internal Routing (OSPF) 우리 회사 망이 끊어졌을 때, 라우터들끼리 서로 소문(LSA)을 퍼뜨려 1초 만에 우회로를 자동 계산하는 동적 라우팅을 훈련합니다. P5:SFIA
4 The Internet Glue (BGP) 전 세계 통신망이 어떻게 서로를 믿고(Peering) 거대한 하나의 글로벌 인터넷을 유지하는지, 그 정치적 알고리즘을 해부합니다. Industry 4271

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개의 독립된 망으로 분할하는 설계도를 손으로 작성합니다.
  • Implement: 클라우드(AWS VPC) 환경에서 퍼블릭 서브넷(로드 밸런서용)과 프라이빗 서브넷(DB용)의 IP 대역폭을 낭비 없이 설계한 CIDR 아키텍처 문서.

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를 모두 밝혀내는 진단 원리를 확인합니다.
  • 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

Term (EN / ko, abbr) 1문장 정의 단계(기본/권장/실무/심화) 역할/맥락 관련 개념 유사/대비/함께 사용 오해 포인트 Evidence(Primary/Secondary/Industry) Flags(core)
CIDR IP 주소의 낭비를 막기 위해 기존의 클래스 체계 대신 가변 길이 마스크를 사용하는 비정형 주소 할당 방식입니다. 기본 주소 할당 Subnetting VLSM 단순히 '슬래시 표기법'으로만 오해 Primary core
BGP 독립적인 네트워크(AS) 간에 경로 정보를 교환하여 전 세계 인터넷 연결망을 형성하는 경로 벡터 프로토콜입니다. 실무 글로벌 연결 AS OSPF / RIP 단순히 '성능'만으로 경로를 고른다고 오해 Industry RFC 4271 core
Anycast 동일한 IP 주소를 여러 지리적 위치에 할당하고, 네트워크가 패킷을 가장 인접한 노드로 전달하게 하는 기술입니다. 실무 부하 분산 Low Latency Unicast / Multicast 하나의 IP니까 하나의 하드웨어라고 착각함 Industry / Google core
TTL (Time To Live) 패킷이 루프에 빠져 영원히 순환하는 것을 막기 위해 각 라우터를 지날 때마다 1씩 감소하는 유효 수명 값입니다. 기본 장애 방지 Traceroute Routing Loop '시간(초)' 단위의 절대적 수명으로 오해함 Primary core

8. References

Primary References

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 결과에서 특정 구간 이후 응답이 없을 때, 이를 방화벽 정책이나 라우팅 설정 이슈로 구분하여 진단할 수 있는가?

Network Layer: Addressing & Routing

4 / 7