본문 바로가기
Network/ccie-mpls

Introducing MPLS Labels and Label Stacks

MPLS Labels

• 포워딩은될때는 4바이트의 식별자로 구분 된다.
• label 은 패킷의 대상과 서비스를 정의 한다.
• label 은 FEC를 식별하여 기본적인 IGP 기반의 목적지기반 포워딩이 아닌 label기반 포워딩으로 인식 하게 한다.

– 각 LSR 은 독립적으로 FEC를 라벨로 바인딩 하며 해당  label 바인딩(LIB) 정보는 lsr 들이  교환된다.
=>FEC는 어떠한 방법으로 포워딩 할것이냐를 의미 하는 용어로서, 기본적인 라우팅은 목적지 아이피 기반으로 되지만,
MPLS에서는 Label을 바인딩 하여 포워딩 하게 된다.

•FEC는 전송된 패킷의 그룹으로 같은 조건, 포워딩에 대한 path가 동일할 경우 똑같이 forwarding된다.
•설정된 FEC에 따라 next hop 이 선택 된다.

• MPLS forwarding is connection-oriented. => MPLS는 LDP (label discoery protocol)에 의해 label 이 추가 되면 경로가 지정 되기 떄문에 

MPLS Label Format

MPLS uses a 32-bit label field that contains the
information that follows:
• 20-bit label (a number) =>0~2의 20승 까시 label 로 사용 가능(단, 0~15 까지는 시스템 적으로 예약 되어 있음)
• 3-bit experimental field (typically used to carry IP precedence  value) => QOS에서 사용 됨
• 1-bit bottom-of-stack indicator (indicates whether this is the  last label before the IP header) => 해더1 일 경우 마지막 해더라고 알려줌
• 8-bit TTL (equal to the TTL in the IP header) => IP의 TTL과 동일 하다.



• MPLS 기술은 L1,L2  어디서든 상관 없이 상관 없이 사용 된다.

• Frame-mode MPLS
-  프레임 모드 mpls 는 프레임 기반으로 레이어 2, 3 사이에 삽입 된다.

• Cell-mode MPLS
- 셀모드는 ATM통해서 사용 되면, ATM 해더 필드를 이용 하여 label 를 추가 한다.


MPLS Label Stack

•  일반적으로 하나의 label 은 패킷에 할당 되지만 레이블 스택에서 여러 label 이 지원 된다.

• These scenarios may produce more than one label:
– MPLS VPNs (two labels): The top label points to the  egress router, and the second label identifies the VPN.
=>VPN시 2개의 label 이 붙는다
– MPLS TE (two or more labels): The top label points to  the endpoint of the traffic engineering tunnel and the  second label points to the destination.
=>TE는 트래픽을 RSVT와 같이 이용 되는데, 트래픽을 다른쪽으로 전환 시키기 위한 기술로 label 이 2개 이상으로 붙는다,
– MPLS VPN scombined with MPLS TE (three or more  labels).
=> MPLS VPN은 TE와 결합하여 3개 이상으로도 사용 가능 하다.

• Outer label는 mpls 에서 패킷을 스위칭 하기 위해서 사용 된다.=> 즉, 여러개의 label 이 있을 경우 outer label 을 보고 패킷이 스위칭 된다.
• Inner labels are used to separate packets at egress points (points  to egress router, and identifies VPN)


- 아래 mpls 해더 구조 처럼 가장 마지막 붙는 label 이 outer label 이다.


• l2 에서 상위 프로토콜의 정보를 확인 하여 해당 패킷이 tagged패킷인지 untagged 패킷인지(label의 유무)를 판단 하여, LFIB 로 보낼지 ,
FIB로 보낼지 선택 하게 된다.

•bottom-of-stack bit 를 이용 해당 bit 가 1이 되면 해더의 종료를 알려 준다.

•  label 을 받은 장비는 항상 top label만 처리 할 수 있다-> outer label 만 처리 할 수 있다.(단 붙이거나 삭제를 여러개는 가능)

- frame header 의 pid 8847 이라는 필드를 통하여 , mpls label 을 명시 한뒤 뒤에 오는 mpls  해더를 구분 한다.
- 또한 각 label 에 stack bit 가 0이면 뒤에 label 이 있다는 것을 알려 주며, 1이면 종료 되는 것을 알려 준다.
-top label 만 상대방 라우터에서 수신 한다.

MPLS Label Operations

- 아래 그림 과 같이 edge lsr 에서는 label 를 추가 하는 기능을 하며
lsr(core router)에서는 label 을 swapping 하여 교체 해주고, 외부로 나가는 edge에서는 label을 때어, rib를 lookup하는 기능을 수행 한다.
(이때 때어 낼때 pop이라고 한다)

MPLS Applications
• MPLS is already used in many different applications:
– Unicast IP routing
– Multicast IP routing
– MPLS TE
– QoS
– MPLS VPNs (course focus)
– AToM


Interactions Between MPLS Applications

*LSP(label-switched path)=>label  붙여서 갈수 있는 최고 지점  -> 하나의 레이블은 하나의 lsp 를 가진다.


반응형