Network tech/IP-MPLS

[IP-MPLS] MPLS 완전 정복: 현대 네트워크의 핵심 기술을 파헤치다

어깨 :) 2024. 8. 7. 16:53
반응형

안녕하세요, 네트워크 엔지니어링에 관심 있는 여러분! 오늘은 현대 네트워크 기술의 핵심이라고 할 수 있는 MPLS(Multi-Protocol Label Switching)에 대해 아주 자세히 알아보려고 합니다.

 

 MPLS가 무엇인지부터 시작해서, 왜 필요한지, 어떻게 동작하는지, 그리고 실제 네트워크에서 어떻게 활용되는지까지 깊이 있게 다뤄볼 예정이에요. 

 


1. MPLS란 무엇인가?

MPLS는 Multi-Protocol Label Switching의 약자입니다. 이름에서 알 수 있듯이, 여러 프로토콜에서 사용 가능한 '레이블' 기반의 스위칭 기술이에요. 전통적인 IP 라우팅과는 다르게, 패킷에 레이블을 붙여 빠르게 전달하는 방식을 사용합니다.

MPLS는 1990년대 후반에 개발되었는데요, 당시 인터넷의 폭발적인 성장으로 인해 기존 IP 라우팅 방식의 한계가 드러나기 시작했죠. 이런 문제를 해결하기 위해 여러 회사와 연구기관이 협력하여 MPLS를 개발했습니다.

 

 

 


2. 왜 MPLS가 필요했을까?

MPLS의 필요성을 이해하려면, 먼저 기존 IP 라우팅의 한계를 알아야 해요. 전통적인 IP 라우팅에는 몇 가지 중요한 문제가 있었습니다:

 

 

a) 패킷 전달 속도:
IP 라우팅에서는 각 라우터가 패킷을 받을 때마다 IP 헤더를 자세히 검사해야 했어요. 목적지 IP 주소를 확인하고, 라우팅 테이블에서 다음 홉을 찾는 과정이 필요했죠. 이 과정은 생각보다 시간이 꽤 걸립니다.

 

b) 대규모 라우팅 테이블:
인터넷이 급속도로 성장하면서 라우팅 테이블의 크기도 어마어마하게 커졌어요. 2023년 기준으로 전체 BGP 라우팅 테이블은 무려 100만 개가 넘는 엔트리를 가지고 있다고 해요! 이렇게 큰 테이블은 라우터의 메모리를 많이 차지하고, 목적지를 찾는 데 시간도 오래 걸리게 만듭니다.

c) BGP의 한계:
BGP(Border Gateway Protocol)를 사용하는 대규모 네트워크에서는 모든 라우터가 전체 라우팅 테이블을 가지고 있어야 했어요. 이는 네트워크 자원의 비효율적인 사용을 초래했죠.

d) 트래픽 엔지니어링의 어려움:
기존 IP 라우팅에서는 특정 트래픽의 경로를 세밀하게 제어하기 어려웠어요. 모든 패킷이 최단 경로로만 전송되다 보니, 일부 링크에 트래픽이 몰리는 현상이 발생했죠.

이런 문제들을 해결하기 위해 MPLS가 등장했습니다. MPLS는 이 모든 문제에 대한 해답을 제시했어요.

 

 

 


3. MPLS의 핵심 개념

MPLS를 이해하기 위해서는 몇 가지 핵심 개념을 알아야 합니다.

 



a) 레이블(Label):
MPLS의 핵심은 바로 이 '레이블'이에요. 레이블은 패킷에 붙는 작은 식별자로, 단 32비트(4바이트)밖에 안 됩니다. IP 헤더가 최소 20바이트인 것에 비하면 정말 작죠? 이 작은 레이블로 빠른 패킷 전달이 가능해집니다.

b) LSR(Label Switch Router):
MPLS 네트워크 내의 라우터를 LSR이라고 불러요. LSR은 레이블을 기반으로 패킷을 전달합니다. LSR에는 세 가지 종류가 있어요:
- Ingress LSR: MPLS 네트워크의 입구 라우터
- Egress LSR: MPLS 네트워크의 출구 라우터
- Transit LSR: MPLS 네트워크 내부의 라우터

c) FEC(Forwarding Equivalence Class):
FEC는 '같은 방식으로 전달되는 패킷들의 그룹'을 말합니다. 예를 들어, 같은 목적지로 가는 모든 패킷들이 하나의 FEC가 될 수 있어요. MPLS는 각 FEC에 하나의 레이블을 할당합니다.

d) LSP(Label Switched Path):
LSP는 MPLS 네트워크에서 패킷이 따라가는 경로를 말해요. 레이블을 기반으로 미리 정해진 경로라고 생각하면 됩니다.

 

e) LDP(Label Distribution Protocol):
LDP는 MPLS 라우터들이 서로 레이블 정보를 교환하는 데 사용하는 프로토콜입니다.

 

 

 


4. MPLS의 동작 원리

자, 이제 MPLS가 실제로 어떻게 동작하는지 자세히 알아볼까요?

https://ipcisco.com/lesson/mpls-label-switching/

a) 레이블 할당 및 배포:
MPLS 네트워크가 구성되면, 먼저 라우터들이 서로 레이블 정보를 교환합니다. 이때 LDP를 사용해요. 각 라우터는 자신이 알고 있는 네트워크에 대해 레이블을 할당하고, 이 정보를 이웃 라우터들과 공유합니다.

b) 패킷 입장:
일반 IP 패킷이 MPLS 네트워크에 들어오면, Ingress LSR이 이 패킷을 처리합니다. Ingress LSR은 패킷의 목적지 IP 주소를 확인하고, 해당 목적지에 맞는 FEC를 결정해요. 그리고 그 FEC에 해당하는 레이블을 패킷에 붙입니다.

c) 레이블 스위칭:
이제 패킷은 MPLS 레이블을 달고 네트워크를 통과합니다. 각 Transit LSR은 패킷의 레이블만을 확인해요. IP 주소는 전혀 보지 않습니다! 라우터는 입력 레이블을 보고, 이에 대응하는 출력 레이블로 교체한 뒤 다음 라우터로 전송합니다. 이 과정을 '레이블 스와핑'이라고 해요.

d) 패킷 출구:
패킷이 MPLS 네트워크의 끝에 도달하면, Egress LSR이 레이블을 제거하고 일반 IP 패킷으로 다시 변환합니다. 그리고 목적지로 향해 네트워크를 빠져나가죠.

e) PHP(Penultimate Hop Popping):
PHP는 MPLS의 최적화 기능 중 하나예요. Egress LSR 바로 전 라우터에서 레이블을 미리 제거하는 기능입니다. 이렇게 하면 Egress LSR의 부담을 줄일 수 있어요.

 

 

<참고 영상>

 

https://www.youtube.com/watch?v=TFU2M4iGToo&t=1409s

 

 

#MPLS #네트워크기술 #라우팅 #패킷전송 #레이블스위칭 #LSR #FEC #LSP #LDP #트래픽엔지니어링 #VPN #L3VPN #L2VPN #QoS #백본네트워크 #기업WAN #데이터센터 #클라우드서비스 #네트워크최적화 #BGP #PHP #MPLSVPN #네트워크보안 #통신기술 #IT인프라 #네트워크엔지니어링 #SDN #IPv6 #네트워크학습

728x90