The implementation of MPLS for data forwarding involves the following four steps:
1. |
MPLS label assignment (per LSR) |
2. |
MPLS LDP or TDP session establishment (between LSRs/ELSRs) |
3. |
MPLS label distribution (using a label distribution protocol) |
4. |
MPLS label retention |
MPLS operation typically involves adjacent LSR's forming an LDP session, assigning local labels to destination prefixes and exchanging these labels over established LDP sessions. Upon completion of label exchange between adjacent LSRs, the control and data structures of MPLS, namely FIB, LIB, and LFIB, are populated, and the router is ready to forward data plane information based on label values.
MPLS Label Assignment
A label is assigned to IP networks reachable by a router and then imposed on data packets forwarded to those IP networks. IP routing protocols advertise reachability to destination networks. The same process needs to be implemented for routers or devices that are part of the MPLS domain to learn about the labels assigned to destination networks by neighboring routers. The label distribution protocol (LDP or TDP) assigns and exchanges labels between adjacent LSRs in an MPLS domain following session establishment. As previously mentioned, labels can be assigned either globally (per router) or per interface on a router.
LDP Session Establishment
Following label assignment on a router, these labels are distributed among directly connected LSRs if the interfaces between them are enabled for MPLS forwarding. This is done either by using LDP or tag distribution protocol (TDP). TDP is deprecated and, by default, LDP is the label distribution protocol. The command mpls label protocol {ldp | tdp} is configured only if LDP is not the default label distribution protocol or if you are reverting from LDP to TDP. The command can be configured in global and interface configuration mode. The interface configuration command will, however, override the global configuration.
TDP and LDP function the same way but are not interoperable. It is important to note that when Cisco routers are in use, the default protocol that is running on an MPLS-enabled interface is dependent on the version of IOS running on the device; care must be taken when configuring Cisco routers in a multivendor environment. TDP uses TCP port 711 and LDP uses TCP port 646. A router might use both TDP and LDP on the same interface to enable dynamic formation of LDP or TDP peers depending on the protocol running on the interface of the peering MPLS neighbor. LDP is defined in RFC 3036 and is implemented predominantly between adjacent peers (adjacencies as defined by the IGP). In some cases, LDP sessions can also be configured between nonadjacent peers, where it is called a directed LDP session, which is covered in more detail in Chapters 11 and 12.
There are four categories of LDP messages:
Figure 1-10. LDP Session Establishment
All LDP messages follow the type, length, value (TLV) format. LDP uses TCP port 646, and the LSR with the higher LDP router ID opens a connection to port 646 of another LSR:
MPLS Label Distribution with LDP
In an MPLS domain running LDP, a label is assigned to a destination prefix found in the FIB, and it is distributed to upstream neighbors in the MPLS domain after session establishment. The labels that are of local significance on the router are exchanged with adjacent LSRs during label distribution. Label binding of a specific prefix to a local label and a next-hop label (received from downstream LSR) is then stored in the LFIB and LIB structures. The label distribution methods used in MPLS are as follows:
Figure 1-11 depicts the two modes of label distribution between R1 (Edge LSR) and R2 (LSR). In the downstream-on-demand distribution process, LSR R2 requests a label for the destination 172.16.10.0. R1 replies with a label mapping of label 17 for 172.16.10.0. In the unsolicited downstream distribution process, R1 does not wait for a request for a label mapping for prefix 172.16.10.0 but sends the label mapping information to the upstream LSR R2.
Figure 1-11. Unsolicited Downstream Versus Downstream on Demand
MPLS Label Retention
If an LSR supports liberal label retention mode, it maintains the bindings between a label and a destination prefix, which are received from downstream LSRs that might not be the next hop for that destination. If an LSR supports conservative label retention mode, it discards bindings received from downstream LSRs that are not next-hop routers for a destination prefix. Therefore, with liberal retention mode, an LSR can almost immediately start forwarding labeled packets after IGP convergence, where the numbers of labels maintained for a particular destination are large, thus consuming memory. With conservative label retention, the labels maintained are labels from the confirmed LDP or TDP next-hop neighbors, thus consuming minimal memory.
MPLS Overview
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
Inter-Provider 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