Network·2025. 06. 14
MPLS
- MPLS는 기존 IP 라우팅의 단점을 보완해 더 빠르고 유연한 전송 경로 선택을 가능하게 하는 방식이다.
- 기존의 IP 네트워크는 패킷 전송 시 목적지 IP 주소에 대한 최장 접두어 매칭(longest prefix match)을 통해 다음 홉을 결정한다. 하지만 이 방식은 라우터마다 문제가 있다.
- 복잡한 테이블 탐색 과정으로 속도가 저하된다. 또한 경로 제어가 제한돼 유연하지 못하다
- 그래서 MPLS가 등장했다.
- MPLS의 목표
- IP 주소 대신 고정 길이 라벨(label)을 사용하여 빠르게 포워딩
- VC (Virtual Circuit)의 개념을 일부 도입해 라우팅 대신 라벨 기반 스위칭
- IP 기반 패킷(IP 주소 포함)은 기존 구조와 호환 가능
- MPLS는 IP 헤더와 데이터 사이에 MPLS 라벨 헤더를 삽입함
| 필드 이름 | 길이 (비트) | 설명 |
|---|---|---|
| Label | 20비트 | 실제 포워딩에 사용되는 식별자 |
| Exp | 3비트 | 우선순위 또는 QoS(품질 제어)에 사용 (실험적 필드) |
| S | 1비트 | Bottom of Stack indicator (스택에 여러 라벨이 있을 경우 가장 마지막 라벨인지 표시) |
| TTL | 8비트 | 생존 시간 (Time-To-Live), IP와 유사한 의미 |
- 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) 요구가 있는 환경에 매우 유리하다.
기존 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
- → 같은 목적지라도 서로 다른 경로로 전달 가능
- 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)가 설정된다.
- 링크 상태 라우팅 프로토콜 확장
-
R4는 MPLS 네트워크에 처음 진입하는 entry router로, IP 목적지 주소에 따라 라벨을 새로 붙이는 역할을 한다 (label push).
-
목적지가 A → 라벨 10 또는 8을 붙임 (인터페이스에 따라)
-
목적지가 D → 라벨 12를 붙임
목적지 라벨 인터페이스 A 10 0 → R3 A 8 1 → R2 D 12 0 → 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은 종단 라우터로서 라벨을 제거하고 최종 목적지로 전송