In MPLS enabled networks, packets are forwarded based on labels. These labels might correspond to IP destination addresses or to other parameters, such as QoS classes and source address. Labels are generated per router (and in some cases, per interface on a router) and bear local significance to the router generating them. Routers assign labels to define paths called Label Switched Paths (LSP) between endpoints. Because of this, only the routers on the edge of the MPLS network perform a routing lookup.
Figure 1-2 illustrates the same network as depicted in Figure 1-1 with MPLS forwarding where route table lookups are performed only by MPLS edge border routers, R1 and R4. The routers in MPLS network R1, R2, and R3 propagate updates for 172.16.10.0/24 network via an IGP routing protocol just like in traditional IP networks, assuming no filters or summarizations are not configured. This leads to the creation of an IP forwarding table. Also, because the links connecting the routers are MPLS enabled, they assign local labels for destination 172.16.10.0 and propagate them upstream to their directly connected peers using a label distribution protocol; for example, R1 assigns a local label L1 and propagates it to the upstream neighbor R2. R2 and R3 similarly assign labels and propagate the same to upstream neighbors R3 and R4, respectively. Consequently, as illustrated in Figure 1-2, the routers now maintain a label forwarding table to enable labeled packet forwarding in addition to the IP routing table. The concept of upstream and downstream is explained in greater detail in the section "MPLS Terminology."
Figure 1-2. Forwarding in the MPLS Domain
As shown in Figure 1-2, the following process takes place in the data forwarding path from R4 to R1:
R4 receives a data packet for network 172.16.10.0 and identifies that the path to the destination is MPLS enabled. Therefore, R4 forwards the packet to next-hop Router R3 after applying a label L3 (from downstream Router R3) on the packet and forwards the labeled packet to R3.
R3 receives the labeled packet with label L3 and swaps the label L3 with L2 and forwards the packet to R2.
R2 receives the labeled packet with label L2 and swaps the label L2 with L1 and forwards the packet to R1.
R1 is the border router between the IP and MPLS domains; therefore, R1 removes the labels on the data packet and forwards the IP packet to destination network 172.16.10.0.
Architectural Blocks of MPLS
MPLS functionality on Cisco devices is divided into two main architectural blocks:
Figure 1-3 depicts the control plane and data plane functions.
Figure 1-3. Control Plane and Data Plane on a Router
Basic MPLS Configuration
Basic MPLS VPN Overview and Configuration
PE-CE Routing Protocol-Static and RIP
PE-CE Routing Protocol-OSPF and EIGRP
Implementing BGP in MPLS VPNs
Carrier Supporting Carriers
MPLS Traffic Engineering
Implementing VPNs with Layer 2 Tunneling Protocol Version 3
Any Transport over MPLS (AToM)
Virtual Private LAN Service (VPLS)
Implementing Quality of Service in MPLS Networks
MPLS Features and Case Studies