Multi Protocol Label Switching

From Internetworkpro

(Redirected from MPLS)
Jump to: navigation, search
Cone.png This page is currently in progress and is not completed
Please note that the information on this page is pending completion by the author. You can help contribute by using the edit tab above.
See where else you can help at Category:InProgress

Multiprotocol Label Switching also know as MPLS is a a protocol increasing in popularity for Service Provider network and has started appearing in Enterprise networks. It allows for new functionality across the network including higher scalability, traffic engineering, and network virtualization.

Contents

[edit] History

MPLS evolved from many parallel projects including Cisco's "Tag Switching", IBM's "ARIS", and Toshiba's "Cell-Switched Router".

These technologies were originally created to overcome some limitations of IP routing. Since then ASICs have been designed to obtain very high throughput speed without the need for MPLS or Tag Switching. Addition services have been added onto MPLS to provide a very flexible and scalable network.

[edit] Label Format

At the heart of MPLS lives the label. The label provides identification, class of service, and a TTL mechinism.

MPLS Label Header.png

Code Value
Label20 bit label to be added to the packet to identify the packet for a certain VPN, TE, or next-hop
EXPMPLS Experimental Value. This is used for CoS across the MPLS backbone
SBottom of Stack Bit. This is used to to represent that the label is the last in the stack and there are no further labels
TTLTime To Live. To prevent a Label from being switched indefinitely or to limit the scope of a packet TTL is decrimented by one at each hop

There is two types of MPLS routers in a MPLS cloud a label switch router (LSR) and Edge-Label switch router (E-LSR)

When a router receives a labeled packet, it looks up the label value at the top of the stack to learn the next hop to which to forward the packet and any operation to be performed on the label stack before forwarding the packet. The most common label operation for an LSR router is to swap the label at the top of the stack with another label or to pop the top label from the stack.

Label values range from 0 through 1,048,575. Values 0 through 15 are reserved by the IETF, and all others are available for use. Of the 16 label values reserved by the IETF, a few have well defined meanings:

Code Value
0IPv4 Explicit Null label indicates that the label must be popped when the packet is received. Packet forwarding then continues using longest-match lookup based on the contents of the IPv4 packet.
1Router Alert label delivers the packet to the local router's software for processing.
2IPv6 Explicit Null label. Similar to label 0 for IPv4.
3Implicit Null label is used by a signaling protocol(RSVP,LDP or TDP) to request that the downstream router pop the label.


[edit] Layer 2.5 Protocol

MPLS does not replace an existing protocol, rather it has been referred as a "shim" protocol. One or more labels (refered as the label stack) are placed in between the Layer 2 and Layer 3 portions of the packet. This is why MPLS is referred as a Layer 2.5 Protocol.

MPLS is supported in PPP (for use in Packet over SONET/SDH), Ethernet, and ATM Cells. Even though ATM is supported as a MPLS base medium, only one MPLS label is allowed in the cell. Stacking labels is not supported over ATM.

MPLS Encap Format.png

[edit] Label Distribution Protocol

Labels are allocated and distributed throughout an MPLS network using a signaling protocol. Label distribution protocol (LDP) is the most widely used across different vendors.

LDP was designed by the MPLS working group in the IETF to set up LSPs and distribute labels throughtout an MPLS network. LDP relies on an IGP (either OSPF or IS-IS) for all routing decisions, and the LSPs it sets up always follow the IGP's shortest path and change when the IGP's path changes. These LSPs use the IGP to avoid loops. Because LDP is dependent on an IGP, LDP-signaled LSPs are limited in scope to the IGP's domain and cannot cross AS boundaries.

LDP discovers neighbros by sending Hello messages, multicasting them to 224.0.0.2 on UDP port 646. After discovering the neighbor LDP establishes a TCP connection to the neighbor and exchanges information regarding labels and routes (called forwarding equivalent classes [FECs]) associated with the labels. The use of TCP ensures reliable delivery of label information. LDP sends periodic keepalive messages to maintain the TCP connection. Each LDP router updates its forwarding-path information independently as it tracks the state of the IGP.

[edit] L3 VPN

[edit] See also

Personal tools
Namespaces
Variants
Actions
Navigation
Categories
Toolbox