핵심 인사이트 (3줄 요약)

  1. 본질: BGP(Border Gateway Protocol)는 SKT, KT, 구글, 아마존 등 서로 남남인 거대한 국가(AS, 자율 시스템)들끼리 멱살을 잡고 협상하여, **전 지구적인 90만 개의 통짜 인터넷 거미줄 지도를 하나로 엮어내는 우주 유일의 "외부(EGP) 인터넷 백본용 라우팅 프로토콜"**이다.
  2. 경로 벡터 (Path-Vector)의 마법: 멍청하게 라우터 개수(Hop)를 세거나 복잡하게 동네 지형도(LSDB)를 그리는 게 아니라, 봉투에 "이 패킷은 KT(AS1)와 일본(AS2)을 거쳐서 미국(AS3) 구글로 간다"라고 출입국 도장(AS-Path)을 쾅쾅 찍어 기록함으로써, 그 어떤 사기(무한 루프)도 100% 원천 차단하는 가장 우아한 알고리즘을 쓴다.
  3. 정책(Policy)과 돈의 논리: BGP는 가장 빠른 지름길을 찾는 프로토콜이 절대 아니다. 관리자가 필터와 10여 개의 속성(Attribute)을 버무려서 "우리 고객 데이터는 밉상인 경쟁사(LG U+) 망으로 절대 안 보낼 거야! 500km 돌아가더라도 일본 망으로 우회해서 미국으로 보내!"라고 트래픽을 정치적, 상업적 돈의 논리로 강제 꺾어버리는 통제 수단이다.

Ⅰ. 개요 및 필요성 (Context & Necessity)

  • 개념: AS(자율 시스템) 간에 도달 가능성 정보(네트워크 경로)를 교환하여 전체 인터넷망의 라우팅을 조율하는 EGP 계열의 경로 벡터 라우팅 프로토콜 (현재 BGPv4, RFC 4271). TCP 포트 179번을 사용한다.

  • 필요성: 삼성전자 내부망(OSPF)은 수천 대의 라우터가 "가장 빠른 길"을 0.001초 만에 찾는 게 지상 과제다. 하지만 삼성전자가 인터넷(KT 망)으로 나가는 관문에 섰을 때는 입장이 달라진다. KT 라우터 입장에서는 "전 세계 90만 개의 IP 주소 덩어리가 어디로 가는지 굵직굵직한 도로망만 파악하면 돼. 그리고 만약 중국 망이 우리 KT한테 돈(Transit 비용)을 안 내면 저쪽으로는 1바이트도 통과 안 시켜줄 거야!"라는 무자비한 룰(Policy)이 필요했다. 속도(Speed)를 버리고, 확장성(Scale)과 통제(Policy)에 몰빵한 괴물이 바로 BGP다.

  • 💡 비유:

    • OSPF (사내망): 목적지까지 골목길, 샛길 다 따져서 1분이라도 빨리 도착하게 해주는 **"카카오내비(빠른 길 우선)"**입니다.
    • BGP (인터넷): 국가 간 물류를 통제하는 **"세관(세관장)"**입니다. 미국에서 온 택배(패킷)가 아무리 빨리 오고 싶어도, "어? 너네 중국(AS-Path) 거쳐서 왔네? 우리나라는 중국 거쳐 온 물건 취급 안 해! 딴 나라로 돌아가!(필터링)"라며 속도와 무관하게 정치와 돈의 잣대로 통로를 막고 엽니다.

📢 섹션 요약 비유: BGP는 전 세계 통신사 대표들이 검은 양복을 입고 모인 **"유엔(UN) 무역 협정 회의장"**입니다. 이 회의장에서는 어느 나라를 거쳐서 물건을 팔지, 어느 나라에는 관세를 왕창 매겨서 우회하게 만들지(정책 기반 라우팅) 치열한 수 싸움만이 벌어집니다.


Ⅱ. Path-Vector 알고리즘과 2가지 BGP 종류 (Deep Dive)

1. 라우팅 루프의 철벽 방어: AS-Path (경로 벡터)

RIP(거리 벡터)가 "3칸 만에 감!"이라고 입을 털다 무한 루프에 빠져 망했던 기억을 떠올려보자. BGP는 이 멍청함을 극복하기 위해 **Path-Vector(경로 벡터)**를 쓴다.

  • BGP가 던지는 라우팅 엽서(Update 메시지) 안에는 **AS-Path**라는 빈칸이 있다.
  • 구글(AS 15169)이 미국 통신사(AS 100)에게 지도를 던진다.
    • 봉투 겉면: [목적지: 구글(8.8.8.x), 거쳐 온 길: AS 15169]
  • 미국 통신사가 이걸 한국 KT(AS 1759)에 던진다.
    • 봉투 겉면: [목적지: 구글(8.8.8.x), 거쳐 온 길: AS 100, AS 15169] (지나온 도장을 차곡차곡 쌓는다!)
  • 루프 차단 마법: 만약 지구를 한 바퀴 뺑 돈 이 엽서가 우연히 다시 구글(AS 15169) 라우터로 들어왔다고 치자. 구글 라우터는 봉투를 딱 보고 "어? 거쳐 온 길 목록에 **내 도장(AS 15169)**이 이미 찍혀있네? 이 패킷은 내가 옛날에 보낸 게 돌고 돌아온 썩은 패킷(Loop)이군!" 하고 즉시 쓰레기통에 버린다. (우주 스케일의 완벽한 무한 루프 방어다).

2. iBGP와 eBGP (내부파 vs 외부파)

BGP 라우터가 친구(Neighbor)를 맺는 방식은 상대방이 어느 국가(AS) 소속이냐에 따라 둘로 쪼개진다. (시험에 매우 단골로 나옴).

  • eBGP (External BGP): 나와 찐친을 맺으려는 상대방 라우터의 AS 번호(국가)가 나랑 다를 때.
    • 예: KT(AS 1759) 라우터와 SKT(AS 10000) 라우터의 만남.
    • 특징: 국경을 맞대고 있으니 반드시 랜선이 1:1로 직접 꽂혀 있어야만(Directly connected) 친구를 맺어준다. (기본 룰: 홉 제한 1).
  • iBGP (Internal BGP): 나와 찐친을 맺으려는 상대방의 AS 번호가 나랑 똑같을 때.
    • 예: 서울 KT 라우터와 부산 KT 라우터의 만남.
    • 둘 다 AS 1759이므로 eBGP로 외부에서 받아온 90만 개의 인터넷 지도를 "우리 식구들끼리 공유"하기 위해 맺는다.
    • 특징: 같은 나라 안이니까 굳이 랜선이 직접 안 꽂혀 있고 중간에 OSPF 라우터 10대가 끼어 있어도 논리적으로(TCP 179번 포트) 멀리서 친구를 맺을 수 있다.
 ┌─────────────────────────────────────────────────────────────┐
 │                인터넷 망에서의 iBGP와 eBGP의 역할 분담             │
 ├─────────────────────────────────────────────────────────────┤
 │                                                             │
 │            [ SKT 망 (AS 200) ]         [ KT 망 (AS 100) ]    │
 │                                                             │
 │   미국 구글 ◀── eBGP ──▶ 서울 관문 ◀── iBGP ──▶ 부산 관문 ◀── eBGP ──▶ 일본 야후  │
 │   (AS 300)             라우터                  라우터       (AS 400) │
 │                                                             │
 │   * eBGP의 역할: 외국(미국)에서 90만 개의 글로벌 인터넷 지도를 밀수해 옴.│
 │   * iBGP의 역할: 밀수해 온 지도를 우리나라(KT) 내부 끝단인 부산까지      │
 │                 떨어뜨리지 않고 고이 모셔다 나름!                  │
 └─────────────────────────────────────────────────────────────┘

3. TCP 179번의 신뢰성 (연결 지향)

OSPF가 직접 IP 헤더 위에 올라타고, RIP가 UDP로 대충 던지는 것과 달리, BGP는 90만 줄짜리 지도를 던지다가 1줄이라도 삑사리가 나면 세계 통신망이 마비된다. 그래서 BGP는 반드시 두 라우터가 TCP 179번 포트로 세 번 악수(3-Way Handshake)를 굳게 맺은 다음에야 천천히 안전하게 지도를 복사해 준다.

📢 섹션 요약 비유: AS-Path(경로 벡터)는 택배 박스 겉면에 붙어있는 **"경유지 배송 바코드 스티커들"**입니다. 배달원(BGP)이 상자를 잡았는데, 스티커 목록에 **"우리 대리점(내 AS 번호)"**이 이미 찍혀있다면 "아, 이거 돌고 돌아 반송된 잘못된 택배(루프)네!" 하고 즉각 폐기 처분하는 무적의 검수 시스템입니다.