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

  1. 본질: MPLS는 3계층 IP 주소를 일일이 뜯어보고(라우팅) 목적지를 찾는 느린 방식을 버리고, 패킷 겉면에 '20비트짜리 짧은 꼬리표(Label)'를 딱 붙인 뒤, 라우터들이 IP는 쳐다보지도 않고 오직 이 꼬리표 숫자만 보고 L2 스위치처럼 빛의 속도로 패킷을 밀어내는(스위칭) 혁명적인 전송 기술이다.
  2. Multiprotocol (다중 프로토콜 지원): 꼬리표만 보고 던지기 때문에 뱃속(Payload)에 들어있는 데이터가 IPv4든, IPv6든, IPX든, 심지어 이더넷 프레임 자체(L2 VPN)든 전혀 가리지 않고 어떤 프로토콜이든 통신사 백본을 다 통과시킬 수 있는 만능 터널을 제공한다.
  3. BGP/MPLS VPN의 핵심: 오늘날 SKT, KT 같은 통신사들이 수백 개의 기업 고객망(VRF)을 하나의 굵은 인터넷 백본선 위에 안전하게 격리해서 얹어 팔 수 있는 이유가 바로 이 MPLS 레이블(Label)의 2중, 3중 스태킹(Stacking) 마법 덕분이다.

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

  • 개념: 2계층의 스위칭 속도와 3계층의 라우팅 유연성을 결합한 기술(그래서 2.5계층 기술이라 불림). IP 헤더 대신 4바이트(32비트)짜리 레이블 헤더(실제 식별자는 20비트)를 패킷에 삽입하여 고속 포워딩을 수행한다.

  • 필요성: 1990년대 후반 인터넷 트래픽이 폭발했다. 라우터가 수만 개의 IP 주소를 일일이 "192.168... 어쩌구" 비교(Longest Match)하는 3계층 라우팅(IP Lookup)은 CPU 부하가 너무 커서 지연이 생겼다. "복잡하게 IP 주소 읽지 마! 그냥 패킷 들어올 때 이마에 **'15번'**이라고 딱지 하나 붙여 놔. 그럼 다음 라우터는 딱지 번호 '15번'만 보고 묻지도 따지지도 말고 3번 포트로 냅다 쳐내!" 이것이 하드웨어 스위칭 급의 속도를 갈망하던 통신사들의 염원이었다. (현재는 라우터 하드웨어(CEF)가 너무 좋아져서 IP를 봐도 안 느리지만, 지금은 속도보단 VPN과 트래픽 엔지니어링 목적 때문에 MPLS를 더 많이 쓴다).

  • 💡 비유: MPLS는 국제 우편물의 **"항공 수하물 태그(바코드)"**와 같습니다.

    • IP 라우팅: 우체국 직원이 편지를 받을 때마다 수취인 주소 "서울특별시 강남구 테헤란로..."를 일일이 돋보기로 읽고 분류합니다. 느립니다.
    • MPLS: 최초 접수 직원이 편지 겉면에 "바코드 15번 (강남행)" 스티커를 쾅 붙입니다. 중간 물류 센터의 알바생들은 주소 글씨는 아예 안 읽고, 오직 바코드 스캐너로 '15번 띡!' 찍자마자 강남행 트럭으로 0.1초 만에 상자를 던져버립니다.

📢 섹션 요약 비유: MPLS는 꼬불꼬불한 국도(IP 라우팅) 위에 건설된 **"하이패스 전용 터널"**입니다. 입구에서 통행권(Label)을 발급받으면 터널 속에서는 앞만 보고 논스톱으로 질주하다가 출구에서 통행권을 반납하고 다시 국도로 나옵니다.


Ⅱ. MPLS의 구조와 Label 스태킹 (Deep Dive)

1. 심(Shim) 헤더의 삽입 위치 (2.5계층)

MPLS는 기존 패킷을 망가뜨리지 않는다. 2계층(이더넷 헤더)과 3계층(IP 헤더) **"그 사이(틈바구니)"**에 절묘하게 4바이트짜리 꼬리표(Label 헤더)를 쑤셔 넣는다. 그래서 L2.5 기술이라고 부른다.

2. MPLS 4바이트(32비트) 헤더의 4가지 알맹이

  1. Label (20비트): 제일 중요한 꼬리표 번호. (0 ~ 1,048,575까지 존재). 스위칭의 기준이 된다.
  2. EXP (3비트): 큐오스(QoS) 우선순위. 긴급한 음성/영상 패킷인지 구분.
  3. S (Bottom of Stack, 1비트): 마법의 비트. MPLS는 꼬리표를 2개, 3개 겹겹이 겹쳐 붙일 수 있다(Label Stacking). "이 꼬리표를 떼면 밑에 꼬리표가 또 있어(0), 아니면 이게 마지막 꼬리표니까 이거 떼면 순수 IP 패킷 나와(1)"를 알려준다. VPN을 구현하는 핵심 키다.
  4. TTL (8비트): IP 헤더에 있는 TTL과 똑같다. 우주 미아 방지용. 라우터 지날 때마다 1씩 깎인다.
 ┌─────────────────────────────────────────────────────────────┐
 │                MPLS Label 삽입 (2.5계층 구조) 도식                │
 ├─────────────────────────────────────────────────────────────┤
 │                                                             │
 │   [ 순수 IP 패킷 ]                                             │
 │   [ 이더넷 헤더 (L2) ] ──▶ [ IP 헤더 (L3) ] ──▶ [ Data (TCP) ]   │
 │                                                             │
 │   [ MPLS가 적용된 패킷 ]                                        │
 │   [ 이더넷 ] ──▶ [ Label (20) | EXP (3) | S (1) | TTL (8) ] ──▶ [ IP ] │
 │                   ▲                                         │
 │              (바로 이 4바이트짜리 딱지가 2.5계층에 끼어든다!)          │
 │                                                             │
 │   * 코어 라우터들은 이 4바이트 딱지만 보고 패킷을 광속으로 쳐낸다.        │
 │   * IP 헤더(192.168...)는 터널을 통과할 동안 아무도 쳐다보지 않는다!    │
 └─────────────────────────────────────────────────────────────┘

3. 멀티프로토콜(Multiprotocol)의 위엄

왜 '다중 프로토콜'인가? 코어 라우터는 알맹이(Payload)가 뭔지 쳐다보질 않는다. 오직 겉면에 붙은 20비트 Label 숫자만 보고 포워딩한다. 그러니 뱃속에 들어있는 게 IPv4든, IPv6든 심지어 구닥다리 IPX나 AppleTalk이든, 그냥 Label 껍데기만 씌워주면 통신사는 망을 하나도 안 고치고 모든 종류의 고객 트래픽을 싹 다 태워 나를 수 있다. 엄청난 확장성이다.

📢 섹션 요약 비유: MPLS Label은 무적의 **"택배용 검은 비닐봉지"**입니다. 내용물이 금괴(IPv4)인지 쓰레기(구형 프로토콜)인지 알 바 없이 무조건 똑같은 규격의 검은 봉투에 담아 겉면에 바코드(Label)만 붙여서 컨베이어 벨트를 태워버리니 처리가 기가 막히게 빠르고 단순해집니다.