MPLS Technology
How does MPLS work?
As a packet enters ingress router, MPLS assigns the packets with labels for data transmission across the network. The labels in MPLS header are inserted into data packet that has to be transmitted. These fixed-length labels carry the information, which enable each switching router on how to process and forward packets to destination. As each node forwards the packet, it swaps current label for the most appropriate label to the subsequent node to route the packet. When a packet reaches the egress router, the labels are removed and the packet is forwarded to destination IP network. This mechanism enables very-high-speed packet switching through the core MPLS domain.
Packet Transmission in a MPLS cloud
Following are the sequence of operations performed in a MPLS network for packet transmission:
- A source data packet from 10.0.0.0/24 network travels to 10.2.0.0/24 network through its gateway router R1 and then forwarded to router R2
- The ingress MPLS router R2 then assigns a Label (30) to the packets based on its FEC and forward it to the MPLS cloud
- FEC can be determined using source or destination IP address, Protocols ID, DSCP, and IPv6 Flow labels. This has to be determined before they enter the ingress edge router
- If no LSP exists for this FEC, a new LSP is defined with other LSRs
- A LSP can be established at the ingress LSR or can be specified by a network manager prior to entry into an ingress router
- When the labeled packets reach LSR R3, it performs label lookup from Forward Label Information Base (FLIB), swaps the incoming label (30) with corresponding outgoing label (36) and forward the packets to exit interface
- While it reaches egress edge router R4, it removes entire label information from the incoming packet and then forward it as an original IP packet to customer edge router R5
- Finally R5 receives the actual packet and forwards it to the local network (traditional routing)
Classification of Routing
MPLS routing are classified based on their operation as follows:
Explicit routing: This routing allows LSR to figure a path explicitly to a terminating switch router. A head end LSR can set up a Traffic Engineering (TE) switch path to a tail end or edge router through an explicitly defined path containing a list of intermediate LSRs. MPLS TE uses Resource Reservation Protocol (RSVP) extensions and forwarding pattern for explicit routing. It also extends its functions to constraint based routing, a best utilization of network resources rather than typical IGP that use a single metric.
Constraint-based routing: This type allows switch router to find a path based on certain constraints to a termination LSR and then implement TE LSP via the fixed path. This is optional within MPLS TE and path computing can be online or offline. In online, routers compute paths for LSPs at any time slice. On the other, offline server computes the switching path periodically (hourly/daily). Only after this path computing, LSPs are configured to use them for packet traversal. Basic operations of MPLS TE are link information distribution, path computing, switch path signaling and traffic selection. These paths are configured manually (by specifying all hops in the path) and in parallel to IP, it can be deployed. However, automatic path estimates and traffic rerouting in TE requires OSPF (Open Shortest Path First) or IS-IS (Intermediate System - Intermediate System) protocols.
Hop-by-hop routing: In this type, each MPLS router autonomously selects the next hop for a given FEC, whereas in explicit routing the entire list of nodes traversed by the LSP is specified in advance. The specified hop path is based on the network topology details and on additional constraints. LSR uses all available protocols in the network for this type of routing and obtain LSP from IGP information. For MPLS, the hop-by-hop path is setup in LSRs with corresponding label assignments thus enabling routers to obtain switch path based on QoS and bandwidth requirement.
Request for a free white paper on MPLS technology