패킷이 지나가는 길: push, swap, pop
RFC 3031에 따르면 레이블 붙은 패킷을 전달할 때 LSR은 레이블 스택의 맨 위 레이블을 조회 키로 쓰고, 다음 홉은 항상 NHLFE(다음 홉 전달 항목)에서 가져옵니다. 그래서 장비가 하는 동작은 보통 세 가지로 요약됩니다. 입구 노드가 레이블을 새로 붙이는 push, 중간 장비가 레이블을 다른 값으로 바꾸는 swap, 출구 쪽에서 레이블을 떼는 pop입니다. 마지막 구간에서는 출구 바로 앞 장비(penultimate LSR)가 레이블을 미리 떼는 방식(penultimate hop popping)도 정의되어 있어, 출구 장비의 조회 부담을 줄입니다. 레이블이 구간 단위 로컬 값이라는 점이 swap이 필요한 이유입니다. 같은 값이 다른 구간에서 다른 의미로 쓰일 수 있습니다.
참고로 RFC 3031 본문은 "LER"이라는 용어 대신 LSP ingress/egress, MPLS 에지 노드라는 표현을 씁니다. LER은 현장과 교재에서 널리 쓰는 약칭입니다.
비교: 일반 IP 포워딩, MPLS, SD-WAN
| 구분 | 전달 기준 | 주로 보이는 곳 |
|---|---|---|
| 일반 IP 포워딩 | 패킷마다 목적지 IP 주소 조회 | 인터넷 전반 |
| MPLS | 레이블 값으로 조회, 구간마다 swap | 통신사 백본, 기업 전용회선 서비스 |
| SD-WAN | 소프트웨어 정책으로 여러 회선 중 경로 선택 | 기업 지사 연결(일반 인터넷 회선과 병행) |
위키백과는 MPLS가 많은 용도에서 SD-WAN과 기업용 VPN 솔루션으로 대체되었다고 서술하지만 두 기술을 세부 비교하지는 않습니다. 비용과 품질 보장 정도는 서비스 상품과 시기에 따라 다르므로 일반화하기 어렵습니다.
실제 문서로 보는 사례 두 가지 (표준화 사례)
사례 1. 여러 업체의 제안이 하나의 표준으로 모인 과정
1990년대 중반에 업체마다 독자 방식을 내놓았습니다(위키백과 기준). Ipsilon의 IP 스위칭은 ATM에서만 동작했고 시장을 장악하지 못했습니다. 시스코의 태그 스위칭은 ATM에 한정되지 않았고 레이블 스위칭이라는 이름으로 IETF에 넘어갔습니다. 1997년 작업 그룹이 여러 제안을 합쳐 2001년 RFC 3031이 나왔습니다. 배울 점은 MPLS가 한 기업의 제품 이름이 아니라 공개 표준이라는 것, 그리고 ATM에 묶이지 않도록 설계되어 "다중프로토콜"이라는 이름이 붙었다는 점입니다.
사례 2. RFC 4364: 통신사가 고객마다 VPN을 제공하는 방식
RFC 4364(2006년 2월)는 서비스 제공자가 IP 백본으로 고객에게 IP VPN을 제공하는 방법을 기술합니다. 고객 에지 라우터가 경로를 제공자 에지 라우터에 보내고, 패킷은 백본을 터널로 건너가므로 코어 라우터는 VPN 경로를 알 필요가 없습니다. 제공자 에지 라우터에는 VPN별로 분리된 VRF(VPN Routing and Forwarding) 테이블이 있고, 서로 다른 VPN의 같은 주소 대역이 겹치지 않도록 BGP에서 8바이트 라우트 디스팅귀셔(route distinguisher)를 주소 앞에 붙입니다. 배울 점은 기업이 자기 사설 주소를 그대로 쓰면서도 통신사 망을 공유할 수 있게 하는 핵심이 레이블 스택과 VRF라는 점입니다.
알아두면 좋은 점
- 내가 쓰는 회선이 MPLS인지 알고 싶을 때: 상품명에 따라 다르므로 계약한 통신사의 서비스 설명서에서 "전용회선", "VPN" 항목을 확인합니다.
- 장애 분석 시: 레이블과 IP 헤더는 서로 다른 층의 정보이므로, 어디서 레이블이 사라지거나 바뀌는지 장비별 표시 명령으로 확인합니다. 명령어는 장비 제조사 문서를 따릅니다.
- 자격 시험 준비 시: 32비트 구조(20/3/1/8)와 push·swap·pop은 기본 개념으로 자주 다뤄집니다.
흔한 오해와 정정
- 오해: 레이블은 목적지 주소를 줄여 쓴 것이다. 실제: RFC 3031은 레이블이 패킷 주소의 인코딩이 아니라 FEC를 식별하는 값이라고 설명합니다.
- 오해: MPLS는 OSI 3계층 라우팅을 완전히 대체한다. 실제: 레이블을 할당하고 경로를 정하려면 라우팅 정보가 필요하고, 출구에서는 다시 IP 패킷으로 돌아갑니다. 2.5계층이라는 별칭이 그 위치를 보여 줍니다.
- 오해: MPLS VPN은 암호화된 VPN이다. 실제: RFC 4364가 다루는 핵심은 경로와 주소 공간의 분리이며, 암호화는 이 방식의 핵심 기능으로 소개되지 않습니다. 암호화가 필요하면 별도 기술을 추가하는 구성을 따로 검토해야 합니다.
- 오해: 레이블 값은 전 세계에서 유일하다. 실제: 인접 장비 사이에서만 의미를 갖는 로컬 값입니다.
한계와 더 알아볼 점
이 글은 개념 입문용 요약이며 장비 설정 절차나 프로토콜 세부(LDP, RSVP-TE 동작 등)는 다루지 않습니다. 레이블 필드 중 TC의 쓰임은 RFC 3270, RFC 5462 등 관련 문서에서 이어집니다. MPLS와 SD-WAN의 비용·성능 비교는 상품과 구성에 따라 달라 일률적인 결론을 낼 수 없으며, 도입을 검토한다면 통신사와 제조사의 최신 자료를 확인해야 합니다.
자주 묻는 질문
MPLS는 집에서 쓰는 인터넷과 관련이 있나요?
일반 가정용 인터넷 회선과는 직접적인 관련이 적습니다. MPLS는 주로 통신사의 백본망 내부나, 기업이 여러 지사를 연결하는 전용회선 서비스에서 활용되는 기술입니다.
레이블은 IP 주소와 어떻게 다른가요?
IP 주소는 전 세계 어디서나 유일하게 목적지를 식별하는 주소인 반면, MPLS 레이블은 특정 구간(로컬 링크)에서만 의미를 갖는 짧은 값입니다. 같은 레이블 값이라도 구간이 바뀌면 다른 의미로 재사용될 수 있습니다.
레이블 필드가 20비트면 레이블은 몇 개까지 표현할 수 있나요?
2의 20제곱으로 1,048,576가지 값을 나타낼 수 있습니다. 다만 그중 일부 값은 암시적 널 같은 특수 용도로 예약되어 있어 일반 레이블로 모두 쓸 수는 없습니다.
S 비트는 왜 필요한가요?
레이블이 여러 겹 쌓일 수 있으므로, 어디까지가 레이블이고 어디부터 원래 패킷인지 알려 줘야 합니다. 스택의 마지막 항목만 S가 1이고 그 뒤에 네트워크 계층 패킷이 이어집니다(RFC 3032).
TC 필드는 예전에 Exp라고 불렀다는데 같은 필드인가요?
같은 3비트 필드입니다. 처음엔 실험용이라는 뜻으로 Exp라 불렀으나 서비스 등급 표시에 쓰이면서 RFC 5462가 이름을 TC로 바꾸었습니다.