junyeokk
Blog
Network·2025. 06. 14

MPLS

image.png
  • MPLS는 기존 IP 라우팅의 단점을 보완해 더 빠르고 유연한 전송 경로 선택을 가능하게 하는 방식이다.
  • 기존의 IP 네트워크는 패킷 전송 시 목적지 IP 주소에 대한 최장 접두어 매칭(longest prefix match)을 통해 다음 홉을 결정한다. 하지만 이 방식은 라우터마다 문제가 있다.
    • 복잡한 테이블 탐색 과정으로 속도가 저하된다. 또한 경로 제어가 제한돼 유연하지 못하다
    • 그래서 MPLS가 등장했다.
  • MPLS의 목표
    • IP 주소 대신 고정 길이 라벨(label)을 사용하여 빠르게 포워딩
    • VC (Virtual Circuit)의 개념을 일부 도입해 라우팅 대신 라벨 기반 스위칭
    • IP 기반 패킷(IP 주소 포함)은 기존 구조와 호환 가능
  • MPLS는 IP 헤더와 데이터 사이에 MPLS 라벨 헤더를 삽입함
필드 이름길이 (비트)설명
Label20비트실제 포워딩에 사용되는 식별자
Exp3비트우선순위 또는 QoS(품질 제어)에 사용 (실험적 필드)
S1비트Bottom of Stack indicator (스택에 여러 라벨이 있을 경우 가장 마지막 라벨인지 표시)
TTL8비트생존 시간 (Time-To-Live), IP와 유사한 의미
image.png
  • Label-Switched Router (LSR)는 IP 주소를 보지 않고, MPLS 라벨 값만 보고 패킷을 포워딩한다.
  • 패킷이 들어오면, 해당 라벨을 참조해 어떤 인터페이스로 보낼지 결정하고 어떤 라벨로 바꿔서(next hop용) 보낼지도 정한다.
    • 이 과정을 IP 포워딩 테이블과는 별개의 ‘MPLS 포워딩 테이블’을 통해 수행한다.
  • 유연성

1. 트래픽 엔지니어링 (Traffic Engineering)

  • 같은 목적지 IP 주소라도, 출발지나 흐름(flow)의 특성에 따라 다른 경로로 보낼 수 있다.

  • 예: 뉴욕에서 오는 트래픽은 동쪽 백본 경로로, 샌프란시스코에서 오는 트래픽은 서쪽 경로로

  • IP 라우팅은 단순히 “최단 경로” 기반으로 동작하지만,

    MPLS는 라벨을 기반으로 정책 기반 경로 설정이 가능하다.

2. 장애 회복 (Fast Re-Routing)

  • 특정 링크가 장애 날 경우, 사전에 계산된 예비 경로(pre-computed backup path)로

    즉시 전환할 수 있다.

  • 이 기능은 IP 네트워크보다 훨씬 빠르게 복구할 수 있도록 해주며,

    고가용성(HA, High Availability) 요구가 있는 환경에 매우 유리하다.

image.png

기존 IP 라우팅 방식

  • 전통적인 IP 라우팅은 오직 목적지 IP 주소만을 기반으로 경로를 선택한다.
  • 즉, 어디서 오는지에 상관없이, 같은 목적지 IP 주소라면 항상 같은 경로를 사용하게 된다.

예:

  • 모든 패킷이 A → D로 갈 때, 항상 A → R2 → R5 → D 경로로만 전달됨

MPLS 라우팅 방식

  • MPLS에서는 경로 선택 시 라벨(label)을 사용하며, 이 라벨은 다양한 기준으로 붙여질 수 있다.
  • 특히 다음과 같은 조건에 따라 서로 다른 경로를 설정할 수 있다:
    • 출발지 IP 주소
    • QoS 수준, 애플리케이션 타입, 포트 번호 등 기타 헤더 정보

예:

  • A → D 패킷은 R4 → R3 → R6 → D
  • B → D 패킷은 R4 → R2 → R5 → D
  • 같은 목적지라도 서로 다른 경로로 전달 가능
image.png
  • MPLS 포워딩 경로를 사전에 구성해야 라벨 기반 포워딩이 가능하다.
  • 이를 위해 두 가지 주요 기술이 동원된다.
    • 링크 상태 라우팅 프로토콜 확장
      • MPLS는 기존 IP 네트워크에서 사용되는 링크 상태 라우팅 프로토콜, 즉 OSPF(Open Shortest Path First) 또는 IS-IS를 기반으로 동작하지만 MPLS 경로 설정을 위해 추가적인 정보를 이들 프로토콜에 실어 전파한다.
      • 이 정보를 각 MPLS 라우터가 link-state flooding(링크 상태 광고)을 통해 공유한다.
    • RSVP-TE (Resource Reservation Protocol - Traffic Engineering) 시그널링 프로토콜
      • MPLS 네트워크에서 입구 라우터(entry LSR)는 RSVP-TE라는 시그널링 프로토콜을 사용하여 경로 설정과 자원 예약을 요청한다.
      • 동작 예시
        • Entry router (ex, R1)는 목적지 D로 가는 경로를 설정하고 싶음
        • R1은 RSVP-TE PATH 메시지를 R2 → R3 → R5 … 순서로 전파하고 각 라우터에 라벨과 경로 정보를 전달
        • 최종 목적지(D)에 도달하면, RESV 메시지가 반대 방향으로 돌아오며 각 라우터에 실제 라벨 할당 및 경로 고정 설정 수행
        • 이 과정을 통해 Label-Switched Path (LSP)가 설정된다.
image.png
  • R4는 MPLS 네트워크에 처음 진입하는 entry router로, IP 목적지 주소에 따라 라벨을 새로 붙이는 역할을 한다 (label push).

    • 목적지가 A → 라벨 10 또는 8을 붙임 (인터페이스에 따라)

    • 목적지가 D → 라벨 12를 붙임

      목적지라벨인터페이스
      A100 → R3
      A81 → R2
      D120 → R3
  • 분기 경로 1: R4 → R3 → R1 → A

    • R4가 A로 가는 프레임에 라벨 10을 붙이고 R3으로 보냄
    • R3은 in-label 10을 보고 라벨 6으로 바꾸고(R1용) 인터페이스 1로 전송
    • R1은 라벨 6을 보고 라벨 제거(pop)하고 A로 전송
    • 결과: R4 → (10) → R3 → (6) → R1 → A
  • 분기 경로 2: R4 → R3 → D

    • R4가 D로 가는 프레임에 라벨 12를 붙이고 R3으로 보냄
    • R3은 in-label 12를 보고 라벨 9로 바꾸고 인터페이스 0 (D 방향)으로 전송
    • 결과: R4 → (12) → R3 → (9) → D
  • 분기 경로 3: R4 → R2 → R1 → A

    • R4가 A로 가는 프레임에 라벨 8을 붙이고 R2로 보냄
    • R2는 in-label 8을 보고 라벨 6으로 바꾸고 R1으로 전송
    • R1은 라벨 6을 보고 라벨 제거 후 A로 전달
    • 결과: R4 → (8) → R2 → (6) → R1 → A
  • 라우터별 테이블

    • R4는 MPLS에 진입해 라벨 부여
    • R3, R2는 중간 라우터로서 라벨 교체
    • R1은 종단 라우터로서 라벨을 제거하고 최종 목적지로 전송