No part of this documentation may be reproduced or transmitted in any form or by any means without
prior written consent of Hewlett-Packard Development Company, L.P.
The information contained herein is subject to change without notice.
HEWLETT-PACKARD COMPANY MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THIS
MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE. Hewlett-Packard shall not be liable for errors contained
herein or for incidental or consequential damages in connection with the furnishing, performance, or
use of this material.
The only warranties for HP products and services are set forth in the express warranty statements
accompanying such products and services. Nothing herein should be construed as constituting an
additional warranty. HP shall not be liable for technical or editorial errors or omissions contained
herein.
Label distribution and control ······························································································································· 18
LDP GR ···································································································································································· 20
Configuring LDP-ISIS synchronization ················································································································· 35
Configuring LDP FRR ······················································································································································ 35
Specifying a DSCP value for outgoing LDP packets ··································································································· 36
Resetting LDP sessions ···················································································································································· 36
Enabling SNMP notifications for LDP ··························································································································· 36
Displaying and maintaining LDP ·································································································································· 36
LDP configuration examples ·········································································································································· 37
LDP LSP configuration example ···························································································································· 37
Label acceptance control configuration example ······························································································ 41
Label advertisement control configuration example ·························································································· 45
LDP FRR configuration example ··························································································································· 51
Configuring MPLS TE ················································································································································· 54
TE and MPLS TE ····················································································································································· 54
MPLS TE basic concepts········································································································································ 54
DiffServ-aware TE ·················································································································································· 60
Bidirectional MPLS TE tunnel ································································································································ 62
Protocols and standards ······································································································································· 63
MPLS TE configuration task list ····································································································································· 63
Enabling MPLS TE ·························································································································································· 64
Configuring a tunnel interface ······································································································································ 65
Configuring DS-TE ·························································································································································· 65
Configuring an MPLS TE tunnel to use a static CRLSP ································································································ 66
Configuring an MPLS TE tunnel to use a dynamic CRLSP ·························································································· 66
Configuration task list ··········································································································································· 67
Configuring MPLS TE attributes for a link ··········································································································· 67
Advertising link TE attributes by using IGP TE extension ··················································································· 68
Configuring MPLS TE tunnel constraints ·············································································································· 69
Establishing an MPLS TE tunnel by using RSVP-TE ····························································································· 71
Controlling MPLS TE tunnel setup ························································································································ 74
Configuring load sharing for an MPLS TE tunnel········································································································ 76
Configuring traffic forwarding ······································································································································ 77
Configuring static routing to direct traffic to an MPLS TE tunnel or tunnel bundle ········································· 77
Configuring PBR to direct traffic to an MPLS TE tunnel or tunnel bundle························································· 78
Configuring automatic route advertisement to direct traffic to an MPLS TE tunnel or tunnel bundle ············ 78
Configuring a bidirectional MPLS TE tunnel ················································································································ 80
Configuring CRLSP backup ··········································································································································· 81
ii
Configuring MPLS TE FRR ·············································································································································· 81
Configuring a bypass tunnel on the PLR ············································································································· 82
Configuring the optimal bypass tunnel selection interval ·················································································· 86
Enabling SNMP notifications for MPLS TE ··················································································································· 86
Displaying and maintaining MPLS TE ·························································································································· 87
MPLS TE configuration examples ·································································································································· 87
Establishing an MPLS TE tunnel over a static CRLSP ·························································································· 87
Establishing an MPLS TE tunnel with RSVP-TE ···································································································· 92
Establishing an inter-AS MPLS TE tunnel with RSVP-TE ······················································································ 98
Bidirectional MPLS TE tunnel configuration example······················································································· 105
CRLSP backup configuration example ·············································································································· 111
Manual bypass tunnel for FRR configuration example ···················································································· 115
Auto FRR configuration example ······················································································································· 121
IETF DS-TE configuration example ····················································································································· 127
Troubleshooting MPLS TE ············································································································································ 134
No TE LSA generated ········································································································································· 134
Configuring a static CRLSP ····································································································································· 136
RSVP GR ······························································································································································· 145
Protocols and standards ····································································································································· 146
RSVP configuration task list ········································································································································· 146
Enabling RSVP ······························································································································································ 146
Configuring RSVP refresh ············································································································································ 147
Configuring RSVP Srefresh and reliable RSVP message delivery ··········································································· 147
Configuring RSVP hello extension ······························································································································ 147
Configuring RSVP authentication ································································································································ 148
Specifying a DSCP value for outgoing RSVP packets ······························································································ 150
Configuring RSVP GR ·················································································································································· 150
Enabling BFD for RSVP ················································································································································ 151
Displaying and maintaining RSVP ······························································································································ 151
RSVP configuration examples ····································································································································· 152
Establishing an MPLS TE tunnel with RSVP-TE ·································································································· 152
RSVP GR configuration example ······················································································································· 157
Multi-VPN instance CE ········································································································································ 186
Protocols and standards ····································································································································· 187
MPLS L3VPN configuration task list ···························································································································· 188
Configuring basic MPLS L3VPN ································································································································· 188
Configuring routing between a PE and a CE ··································································································· 190
Configuring routing between PEs ······················································································································ 196
Configuring a loopback interface ····················································································································· 205
Redistributing the loopback interface route ······································································································ 206
Creating a sham link ··········································································································································· 206
Configuring routing on an MCE ································································································································· 206
Configuring routing between an MCE and a VPN site ··················································································· 207
Configuring routing between an MCE and a PE ····························································································· 212
Specifying the VPN label processing mode on the egress PE ················································································· 215
Configuring BGP AS number substitution and SoO attribute ·················································································· 216
Enabling SNMP notifications for MPLS L3VPN ········································································································· 216
Configuring MPLS L3VPN FRR ···································································································································· 217
Displaying and maintaining MPLS L3VPN ················································································································ 219
MPLS L3VPN configuration examples ························································································································ 221
Configuring an OSPF sham link ························································································································ 280
Configuring routing between a PE and a CE ··································································································· 308
Configuring routing between PEs ······················································································································ 313
Configuring inter-AS IPv6 VPN option A ·········································································································· 315
Configuring inter-AS IPv6 VPN option C ·········································································································· 315
Configuring routing on an MCE ································································································································· 316
Configuring routing between an MCE and a VPN site ··················································································· 316
Configuring routing between an MCE and a PE ····························································································· 321
Configuring BGP AS number substitution and SoO attribute ·················································································· 325
Displaying and maintaining IPv6 MPLS L3VPN ········································································································ 325
IPv6 MPLS L3VPN configuration examples ··············································································································· 327
Local connection establishment ·························································································································· 374
Control word ························································································································································ 376
VCCV ···································································································································································· 380
MPLS L2VPN configuration task list ···························································································································· 380
Enabling L2VPN ··························································································································································· 381
Configuring an AC ······················································································································································ 381
Configuring the interface with Ethernet or VLAN encapsulation ···································································· 381
Configuring the interface with PPP encapsulation ··························································································· 382
Configuring the interface with HDLC encapsulation························································································ 382
v
Configuring a cross-connect ······································································································································· 382
Configuring a PW ························································································································································ 383
Configuring a PW class ······································································································································ 383
Configuring a static PW ····································································································································· 383
Configuring an LDP PW ······································································································································ 384
Configuring a BGP PW ······································································································································ 384
Configuring a remote CCC connection ············································································································ 386
Binding an AC to a cross-connect ······························································································································ 387
Configuring PW redundancy ······································································································································ 388
MPLS BFD ····························································································································································· 423
Protocols and standards ·············································································································································· 423
Configuring MPLS OAM for LSP tunnels ···················································································································· 423
Configuring MPLS ping for LSPs ························································································································ 424
Configuring MPLS traceroute for LSPs ··············································································································· 424
Configuring periodic MPLS traceroute for LSPs ································································································ 424
Configuring MPLS BFD for LSPs ························································································································· 424
Configuring MPLS OAM for MPLS TE tunnels ··········································································································· 425
Configuring MPLS ping for MPLS TE tunnels ···································································································· 425
Configuring MPLS traceroute for MPLS TE tunnels ··························································································· 425
Configuring MPLS BFD for MPLS TE tunnels ····································································································· 426
Configuring MPLS OAM for a PW ····························································································································· 426
Configuring MPLS ping for a PW ······················································································································ 427
Configuring BFD for a PW ································································································································· 427
Displaying MPLS OAM ················································································································································ 429
BFD for LSP configuration example ···························································································································· 429
Path switching modes·········································································································································· 433
Protocols and standards ·············································································································································· 433
MPLS protection switching configuration task list ····································································································· 434
Enabling MPLS protection switching ·························································································································· 434
Creating a protection group ······································································································································· 435
vi
Configuring PS attributes for the protection group ··································································································· 436
Configuring command switching for the protection group ······················································································ 437
Configuring the PSC message sending interval ········································································································ 437
Displaying and maintaining MPLS protection switching ·························································································· 437
MPLS protection switching configuration example ··································································································· 438
Support and other resources ·································································································································· 442
Contacting HP ······························································································································································ 442
Subscription service ············································································································································ 442
Related information ······················································································································································ 442
In this chapter, "MSR2000" refers to MSR2003. "MSR3000" collectively refers to MSR3012, MSR3024,
MSR3044, MSR3064. "MSR4000" collectively refers to MSR4060 and MSR4080.
Overview
Multiprotocol Label Switching (MPLS) provides connection-oriented label switching over connectionless IP
backbone networks. It integrates both the flexibility of IP routing and the simplicity of Layer 2 switching.
MPLS has the following advantages:
•High speed and efficiency—MPLS uses short- and fixed-length labels to forward packets, avoiding
complicated routing table lookups.
•Multiprotocol support—MPLS resides between the link layer and the network layer. It can work over
various link layer protocols (for example, PPP, ATM, frame relay, and Ethernet) to provide
connection-oriented services for various network layer protocols (for example, IPv4, IPv6, and IPX).
•Good scalability—The connection-oriented switching and multilayer label stack features enable
MPLS to deliver various extended services, such as VPN, traffic engineering, and QoS.
Basic concepts
FEC
MPLS groups packets with the same characteristics (such as packets with the same destination or service
class) into a forwarding equivalence class (FEC). Packets of the same FEC are handled in the same way
on an MPLS network.
Label
A label uniquely identifies an FEC and has local significance.
Figure 1 Format of a label
A label is encapsulated between the Layer 2 header and Layer 3 header of a packet. It is four bytes long
and consists of the following fields:
• Label—20-bit label value.
• TC—3-bit traffic class, used for QoS. It is also called Exp.
• S—1-bit bottom of stack flag. A label stack can contain multiple labels. The label nearest to the
Layer 2 header is called the top label, and the label nearest to the Layer 3 header is called the
bottom label. The S field is set to 1 if the label is the bottom label and set to 0 if not.
•TTL—8-bit time to live field used for routing loop prevention.
1
LSR
LSP
LFIB
A router that performs MPLS forwarding is a label switching router (LSR).
A label switched path (LSP) is the path along which packets of an FEC travel through an MPLS network.
An LSP is a unidirectional packet forwarding path. Two neighboring LSRs are called the upstream LSR
and downstream LSR along the direction of an LSP. In Figure 2,
R A is the upstream LSR of LSR B.
LS
Figure 2 Label switched path
The Label Forwarding Information Base (LFIB) on an MPLS network functions like the Forwarding
Information Base (FIB) on an IP network. When an LSR receives a labeled packet, it searches the LFIB to
obtain information for forwarding the packet, such as the label operation type, the outgoing label value,
and the next hop.
LSR B is the downstream LSR of LSR A, and
Control plane and forwarding plane
An MPLS node consists of a control plane and a forwarding plane.
•Control plane—Assigns labels, distributes FEC-label mappings to neighbor LSRs, creates the LFIB,
and establishes and removes LSPs.
•Forwarding plane—Forwards packets according to the LFIB.
MPLS network architecture
Figure 3 MPLS network architecture
An MPLS network has the following types of LSRs:
2
• Ingress LSR—Ingress LSR of packets. It labels packets entering into the MPLS network.
• Transit LSR—Intermediate LSRs in the MPLS network. The transit LSRs on an LSP forward packets to
the egress LSR according to labels.
•Egress LSR—Egress LSR of packets. It removes labels from packets and forwards the packets to their
destination networks.
LSP establishment
LSPs include static and dynamic LSPs.
•Static LSP—To establish a static LSP, you must configure an LFIB entry on each LSR along the LSP.
Establishing static LSPs consumes fewer resources than establishing dynamic LSPs, but static LSPs
cannot automatically adapt to network topology changes. Therefore, static LSPs are suitable for
small-scale networks with simple, stable topologies.
•Dynamic LSP—Established by a label distribution protocol (also called an MPLS signaling protocol).
A label distribution protocol classifies FECs, distributes FEC-label mappings, and establishes and
maintains LSPs. Label distribution protocols include protocols designed specifically for label
distribution, such as the Label Distribution Protocol (LDP), and protocols extended to support label
distribution, such as MP-BGP and RSVP-TE.
In this document, the term "label distribution protocols" refers to all protocols for label distribution. The
term "LDP" refers to the RFC 5036 LDP.
A dynamic LSP is established in the following steps:
1. A downstream LSR classifies FECs according to destination addresses.
2. The downstream LSR assigns a label for each FEC, and distributes the FEC-label binding to its
upstream LSR.
3. The upstream LSR establishes an LFIB entry for the FEC according to the binding information.
After all LSRs along the LSP establish an LFIB entry for the FEC, a dynamic LSP is established for the
packets of this FEC.
Figure 4 Dynamic LSP establishment
3
MPLS forwarding
Figure 5 MPLS forwarding
As shown in Figure 5, a packet is forwarded over the MPLS network as follows:
1. Router B (the ingress LSR) receives a packet with no label. It then does the following:
a. Identifies the FIB entry that matches the destination address of the packet.
b. Adds the outgoing label (40, in this example) to the packet.
c. Forwards the labeled packet out of the interface GigabitEthernet 2/1/2 to the next hop LSR
Router C.
2. When receiving the labeled packet, Router C processes the packet as follows:
a. Identifies the LFIB entry that has an incoming label of 40.
b. Uses the outgoing label 50 of the entry to replace label 40 in the packet.
c. Forwards the labeled packet out of the outgoing interface GigabitEthernet 2/1/2 to the next
hop LSR Router D.
3. When receiving the labeled packet, Router D (the egress) processes the packet as follows:
a. Identifies the LFIB entry that has an incoming label of 50.
b. Removes the label from the packet.
c. Forwards the packet out of the outgoing interface GigabitEthernet 2/1/2 to the next hop LSR
Router E.
If the LFIB entry records no outgoing interface or next hop information, Router D does the following:
d. Identifies the FIB entry by the IP header.
e. Forwards the packet according to the FIB entry.
PHP
An egress node must perform two forwarding table lookups to forward a packet:
• Two LFIB lookups (if the packet has more than one label).
4
• One LFIB lookup and one FIB lookup (if the packet has only one label).
The penultimate hop popping (PHP) feature can pop the label at the penultimate node, so the egress
node only performs one table lookup.
A PHP-capable egress node sends the penultimate node an implicit null label of 3. This label never
appears in the label stack of packets. If an incoming packet matches an LFIB entry comprising the implicit
null label, the penultimate node pops the top label of the packet and forwards the packet to the egress
LSR. The egress LSR directly forwards the packet.
Sometimes, the egress node must use the TC field in the label to perform QoS. To keep the TC information,
you can configure the egress node to send the penultimate node an explicit null label of 0. If an incoming
packet matches an LFIB entry comprising the explicit null label, the penultimate hop replaces the value of
the top label with value 0, and forwards the packet to the egress node. The egress node gets the TC
information, pops the label of the packet, and forwards the packet.
• RFC 5462, Multiprotocol Label Switching (MPLS) Label Stack Entry: "EXP" Field Renamed to "Traffic
Class" Field
MPLS configuration task list
Tasks at a glance
(Required.) Enabling MPLS
(Optional.) Configuring MPLS MTU
(Optional.) Specifying the label type advertised by the egress
(Optional.) Configuring TTL propagation
(Optional.) Enabling sending of MPLS TTL-expired messages
(Optional.) Enabling MPLS forwarding statistics
(Optional.) Enabling SNMP notifications for MPLS
Enabling MPLS
You must enable MPLS on all interfaces related to MPLS forwarding.
Before you enable MPLS, complete the following tasks:
• Configure link layer protocols to ensure connectivity at the link layer.
• Configure IP addresses for interfaces to ensure IP connectivity between neighboring nodes.
• Configure static routes or an IGP protocol to ensure IP connectivity among LSRs.To enable MPLS:
Step Command
1. Enter system view.
system-view
5
Remarks
N/A
Step Command
2. Configure an LSR ID for the local
node.
3. Enter the view of the interface that
needs to perform MPLS
forwarding.
mpls lsr-id lsr-id
interface interface-type
interface-number
Remarks
By default, no LSR ID is configured.
An LSR ID must be unique in an MPLS
network and in IP address format. HP
recommends that you use the IP
address of a loopback interface as
an LSR ID.
N/A
4. Enable MPLS on the interface.
mpls enable
Configuring MPLS MTU
MPLS adds the label stack between the link layer header and network layer header of each packet. To
make sure the size of MPLS labeled packets is smaller than the MTU of an interface, configure an MPLS
MTU on the interface.
MPLS compares each MPLS packet against the interface MPLS MTU. When the packet exceeds the MPLS
MTU:
• If fragmentation is allowed, MPLS does the following:
a. Removes the label stack from the packet.
b. Fragments the IP packet. The length of a fragment is the MPLS MTU minus the length of the label
stack.
c. Adds the label stack to each fragment, and forwards the fragments.
• If fragmentation is not allowed, the LSR drops the packet.
To configure an MPLS MTU for an interface:
Step Command
5. Enter system view.
system-view N/A
By default, MPLS is disabled on the
interface.
Remarks
6. Enter interface view.
7. Configure an MPLS MTU for
the interface.
interface interface-type
interface-number
mpls mtuvalue
N/A
By default, no MPLS MTU is
configured on an interface.
The following applies when an interface handles MPLS packets:
• MPLS packets carrying L2VPN or IPv6 packets are always forwarded by an interface, even if the
length of the MPLS packets exceeds the MPLS MTU of the interface. Whether the forwarding can
succeed depends on the actual forwarding capacity of the interface.
• If the MPLS MTU of an interface is greater than the MTU of the interface, data forwarding might fail
on the interface.
• If you do not configure the MPLS MTU of an interface, fragmentation of MPLS packets is based on
the MTU of the interface without considering MPLS labels. An MPLS fragment might be larger than
the interface MTU and be dropped.
6
Specifying the label type advertised by the egress
In an MPLS network, an egress can advertise the following types of labels:
• Implicit null label with a value of 3.
• Explicit null label with a value of 0.
• Non-null label.
For LSPs established by a label distribution protocol, the label advertised by the egress determines how
the penultimate hop processes a labeled packet.
• If the egress advertises an implicit null label, the penultimate hop directly pops the top label of a
matching packet.
• If the egress advertises an explicit null label, the penultimate hop swaps the top label value of a
matching packet with the explicit null label.
• If the egress advertises a non-null label (normal label), the penultimate hop swaps the top label of
a matching packet with the specific label assigned by the egress.
Configuration guidelines
If the penultimate hop supports PHP, HP recommends that you configure the egress to advertise an
implicit null label to the penultimate hop. If you want to simplify packet forwarding on the egress but keep
labels to determine QoS policies, configure the egress to advertise an explicit null label to the
penultimate hop. HP recommends using non-null labels only in particular scenarios. For example, when
OAM is configured on the egress, the egress can get the OAM function entity status only through non-null
labels.
As a penultimate hop, the device accepts the implicit null label, explicit null label, or normal label
advertised by the egress device.
For LDP LSPs, the mpls label advertise command triggers LDP to delete the LSPs established before the
command is executed and reestablishes new LSPs.
For BGP LSPs, the mpls label advertise command takes effect only on the BGP LSPs established after the
command is executed. To apply the new setting to BGP LSPs established before the command is executed,
delete the routes corresponding to the BGP LSPs, and then redistribute the routes.
Configuration procedure
To specify the type of label that the egress node will advertise to the penultimate hop:
Step Command
1. Enter system view.
2. Specify the label type
advertised by the egress to the
penultimate hop.
system-view N/A
mpls label advertise { explicit-null
| implicit-null | non-null }
Configuring TTL propagation
When TTL propagation is enabled, the ingress node copies the TTL value of an IP packet to the TTL field
of the label. Each LSR on the LSP decreases the label TTL value by 1. The LSR that pops the label copies
the remaining label TTL value back to the IP TTL of the packet, so the IP TTL value can reflect how many
Remarks
By default, an egress advertises an
implicit null label to the penultimate
hop.
7
hops the packet has traversed in the MPLS network. The IP tracert facility can show the real path along
which the packet has traveled.
Figure 6 TTL propagation
When TTL propagation is disabled, the ingress node sets the label TTL to 255. Each LSR on the LSP
decreases the label TTL value by 1. The LSR that pops the label does not change the IP TTL value when
popping the label. Therefore, the MPLS backbone nodes are invisible to user networks, and the IP tracert
facility cannot show the real path in the MPLS network.
Figure 7 Without TTL propagation
Follow these guidelines when you configure TTL propagation:
• HP recommends setting the same TTL processing mode on all LSRs of an LSP.
• To enable TTL propagation for a VPN, you must enable it on all PE devices in the VPN, so that you
can get the same traceroute result (hop count) from those PEs.
To enable TTL propagation:
Step Command
1. Enter system view.
system-view N/A
Remarks
8
Step Command
2. Enable TTL propagation.
mpls ttl propagate { public |
vpn }
Remarks
By default, TTL propagation is enabled only
for public-network packets.
This command affects only the propagation
between IP TTL and label TTL. Within an
MPLS network, TTL is always copied between
the labels of an MPLS packet.
Enabling sending of MPLS TTL-expired messages
This feature enables an LSR to generate an ICMP TTL-expired message upon receiving an MPLS packet
with a TTL of 1. If the MPLS packet has only one label, the LSR sends the ICMP TTL-expired message back
to the source through IP routing. If the MPLS packet has multiple labels, the LSR sends it along the LSP to
the egress, which then sends the message back to the source.
To enable sending of MPLS TTL-expired messages:
Step Command
1. Enter system view.
2. Enable sending of MPLS TTL-expired
messages.
system-view N/A
mpls ttl expiration enable By default, this function is enabled.
Enabling MPLS forwarding statistics
Enabling FTN forwarding statistics
FEC-to-NHLFE map (FTN) entries are FIB entries that contain outgoing labels used for FTN forwarding.
When an LSR receives an unlabeled packet, it searches for the corresponding FTN entry based on the
destination IP address. If a match is found, the LSR adds the outgoing label in the FTN entry to the packet
and forwards the labeled packet.
To enable FTN forwarding statistics:
Step Command
1. Enter system view.
2. Enter RIB view.
3. Create a RIB IPv4 address
family and enter RIB IPv4
address family view.
system-view N/A
rib
address-family ipv4
Remarks
Remarks
N/A
By default, no RIB IPv4 address
family is created.
By default, the device does not
maintain FTN entries in the RIB.
By default, FTN forwarding
statistics is disabled for all
destination networks.
Enabling MPLS label forwarding statistics
MPLS label forwarding forwards a labeled packet based on its incoming label.
Perform this task to enable MPLS label forwarding statistics and MPLS statistics reading, so that you can
use the display mpls lsp verbose command to view MPLS label statistics.
A static label switched path (LSP) is established by manually specifying the incoming label and outgoing
label on each node (ingress, transit, or egress node) of the forwarding path.
Static LSPs consume fewer resources, but they cannot automatically adapt to network topology changes.
Therefore, static LSPs are suitable for small and stable networks with simple topologies.
Follow these guidelines to establish a static LSP:
• The ingress node does the following:
a. Determines an FEC for a packet according to the destination address.
b. Adds the label for that FEC into the packet.
c. Forwards the packet to the next hop or out of the outgoing interface.
Therefore, on the ingress node, you must specify the outgoing label for the destination address (the
FEC) and the next hop or the outgoing interface.
• A transit node swaps the label carried in a received packet with a specific label, and forwards the
packet to the next hop or out of the outgoing interface. Therefore, on each transit node, you must
specify the incoming label, the outgoing label, and the next hop or the outgoing interface.
• If the penultimate hop popping function is not configured, an egress node pops the incoming label
of a packet, and performs label forwarding according to the inner label or IP forwarding. Therefore,
on the egress node, you only need to specify the incoming label.
• The outgoing label specified on an LSR must be the same as the incoming label specified on the
directly-connected downstream LSR.
Configuration prerequisites
Before you configure a static LSP, complete the following tasks:
1. Identify the ingress node, transit nodes, and egress node of the LSP.
2. Enable MPLS on all interfaces that participate in MPLS forwarding. For more information, see
"Configuring basic MPLS."
3. Make sure the ingress node has a route to the destination address of the LSP. This is not required
If you specify a next hop for the
static LSP, make sure the ingress
node has an active route to the
specified next hop address.
If you specify a next hop for the
static LSP, make sure the transit
node has an active route to the
specified next hop address.
You do not need to configure this
command if the outgoing label
configured on the penultimate hop
of the static LSP is 0 or 3.
Static LSP configuration example
Network requirements
Router A, Router B, and Router C all support MPLS.
Establish static LSPs between Router A and Router C, so that subnets 11.1.1.0 / 24 a n d 21.1.1.0 / 24 c a n
access each other over MPLS.
Figure 8 Network diagram
Configuration considerations
For an LSP, the outgoing label specified on an LSR must be identical with the incoming label specified on
the downstream LSR.
LSPs are unidirectional. You must configure an LSP for each direction of the data forwarding path.
13
A route to the destination address of the LSP must be available on the ingress node, but it is not needed
on transit and egress nodes. Therefore, you do not need to configure a routing protocol to ensure IP
connectivity among all routers.
Configuration procedure
1. Configure IP addresses for all interfaces, including the loopback interfaces, as shown in Figure 8.
(Details not shown.)
2. Configure a static route to the destination address of each LSP:
# On Router A, configure a static route to network 21.1.1.0/24.
<RouterA> system-view
[RouterA] ip route-static 21.1.1.0 24 10.1.1.2
# On Router C, configure a static route to network 11.1.1.0/24.
<RouterC> system-view
[RouterC] ip route-static 11.1.1.0 255.255.255.0 20.1.1.1
# Display static LSP information on routers, for example, on Router A.
[RouterA] display mpls static-lsp
Total: 2
Name FEC In/Out Label Nexthop/Out Interface State
AtoC 21.1.1.0/24 NULL/30 10.1.1.2 Up
CtoA -/- 70/NULL - Up
# Test the connectivity of the LSP from Router A to Router C.
[RouterA] ping mpls -a 11.1.1.1 ipv4 21.1.1.0 24
MPLS Ping FEC: 21.1.1.0/24 : 100 data bytes
100 bytes from 20.1.1.2: Sequence=1 time=4 ms
100 bytes from 20.1.1.2: Sequence=2 time=1 ms
100 bytes from 20.1.1.2: Sequence=3 time=1 ms
100 bytes from 20.1.1.2: Sequence=4 time=1 ms
100 bytes from 20.1.1.2: Sequence=5 time=1 ms
--- FEC: 21.1.1.0/24 ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max = 1/1/4 ms
# Test the connectivity of the LSP from Router C to Router A.
[RouterC] ping mpls -a 21.1.1.1 ipv4 11.1.1.0 24
MPLS Ping FEC: 11.1.1.0/24 : 100 data bytes
100 bytes from 10.1.1.1: Sequence=1 time=5 ms
100 bytes from 10.1.1.1: Sequence=2 time=1 ms
100 bytes from 10.1.1.1: Sequence=3 time=1 ms
100 bytes from 10.1.1.1: Sequence=4 time=1 ms
100 bytes from 10.1.1.1: Sequence=5 time=1 ms
--- FEC: 11.1.1.0/24 ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max = 1/1/5 ms
15
Configuring LDP
In this chapter, "MSR2000" refers to MSR2003. "MSR3000" collectively refers to MSR3012, MSR3024,
MSR3044, MSR3064. "MSR4000" collectively refers to MSR4060 and MSR4080.
Overview
The Label Distribution Protocol (LDP) dynamically distributes FEC-label mapping information between
LSRs to establish LSPs.
Terminology
LDP session
Two LSRs establish a TCP-based LDP session to exchange FEC-label mappings.
LDP peer
Two LSRs that use LDP to exchange FEC-label mappings are LSR peers.
Label spaces and LDP identifiers
Label spaces include the following types:
•Per-interface label space—Each interface uses a single, independent label space. Different
interfaces can use the same label values.
•Per-platform label space—Each LSR uses a single label space. The device only supports the
per-platform label space.
A six-byte LDP Identifier (LDP ID) identifies a label space on an LSR. It is in the format of <LSR ID>:<label space number>, where:
• The LSR ID takes four bytes to identity the LSR.
• The label space number takes two bytes to identify a label space within the LSR.
A label space number of 0 indicates that the label space is a per-platform label space. A label space
number other than 0 indicates a per-interface label space.
FECs and FEC-label mappings
MPLS groups packets with the same characteristics (such as the same destination or service class) into a
class, called an "FEC." The packets of the same FEC are handled in the same way on an MPLS network.
LDP can classify FECs by destination IP address and by PW. This document describes FEC classification
by destination IP address. For information about FEC classification by PW, see "Configuring MPLS
L2VPN."
An LSR assigns a label for an FEC and advertises the FEC-label mapping, or FEC-label binding, to its
peers in a Label Mapping message.
LDP messages
LDP mainly uses the following types of messages:
16
• Discovery messages—Declare and maintain the presence of LSRs, such as Hello messages.
• Session messages—Establish, maintain, and terminate sessions between LDP peers, such as
Initialization messages used for parameter negotiation and Keepalive messages used to maintain
sessions.
•Advertisement messages—Create, alter, and remove FEC-label mappings, such as Label Mapping
messages used to advertise FEC-label mappings.
•Notification messages—Provide advisory information and notify errors, such as Notification
messages.
LDP uses UDP to transport discovery messages for efficiency, and uses TCP to transport session,
advertisement, and notification messages for reliability.
LDP operation
LDP operates in the following phases:
Discovering and maintaining LDP peers
LDP discovers peers in the following ways:
•Basic Discovery—Sends Link Hello messages to multicast address 224.0.0.2 that identifies all
routers on the subnet. All directly-connected LSRs can discover the LSR and establish a hello
adjacency.
•Extended Discovery—Sends LDP Targeted Hello messages to a specific IP address. The destination
LSR can discover the LSR and establish a hello adjacency. This mechanism is mainly used in MPLS
L2VPN and LDP over MPLS TE. For more information, see "Configuring MPLS L2VPN" and
"Configuring MPLS TE."
LDP can establish two hello adjacencies with a directly-connected neighbor through both discovery
mechanisms. It sends Hello messages at the hello interval to maintain a hello adjacency. If LDP receives
no Hello message from a hello adjacency before the hello hold timer expires, it removes the hello
adjacency.
Establishing and maintaining LDP sessions
LDP establishes a session with a peer in the following steps:
1. Establishes a TCP connection with the neighbor.
2. Negotiates session parameters such as LDP version, label distribution method, and Keepalive timer,
and establishes an LDP session with the neighbor if the negotiation succeeds.
After a session is established, LDP sends LDP PDUs (an LDP PDU carries one or more LDP messages) to
maintain the session. If no information is exchanged between the LDP peers within the Keepalive interval,
LDP sends Keepalive messages at the Keepalive interval to maintain the session. If LDP receives no LDP
PDU from a neighbor before the keepalive hold timer expires, or the last hello adjacency with the
neighbor is removed, LDP terminates the session.
LDP can also send a Shutdown message to a neighbor to terminate the LDP session.
Establishing LSPs
LDP classifies FECs according to destination IP addresses in IP routing entries, creates FEC-label
mappings, and advertises the mappings to LDP peers through LDP sessions. After an LDP peer receives
an FEC-label mapping, it uses the received label and the label locally assigned to that FEC to create an
LFIB entry for that FEC. When all LSRs (from the Ingress to the Egress) establish an LFIB entry for the FEC,
an LSP is established exclusively for the FEC.
17
A
Figure 9 Dynamically establishing an LSP
Label distribution and control
Label advertisement modes
Figure 10 Label advertisement modes
LDP advertises label-FEC mappings in one of the following ways:
•Downstream Unsolicited (DU) mode—Distributes FEC-label mappings to the upstream LSR, without
waiting for label requests. The device supports only the DU mode.
•Downstream on Demand (DoD) mode—Sends a label request for an FEC to the downstream LSR.
After receiving the label request, the downstream LSR distributes the FEC-label mapping for that FEC
to the upstream LSR.
NOTE:
pair of upstream and downstream LSRs must use the same label advertisement mode. Otherwise, the
LSP cannot be established.
18
Label distribution control
LDP controls label distribution in one of the following ways:
•Independent label distribution—Distributes an FEC-label mapping to an upstream LSR at any time.
An LSR might distribute a mapping for an FEC to its upstream LSR before it receives a label mapping
for that FEC from its downstream LSR. As shown in Figure 11, in D
label mapping for an FEC to its upstream LSR whenever it is ready to label-switch the FEC, without
waiting for a label mapping for the FEC from its downstream LSR. In DoD mode, an LSR distributes
a label mapping for an FEC to its upstream LSR after it receives a label request for the FEC, without
waiting for a label mapping for the FEC from its downstream LSR.
Figure 11 Independent label distribution control mode
U mode, each LSR distributes a
•Ordered label distribution—Distributes a label mapping for an FEC to its upstream LSR only after it
receives a label mapping for that FEC from its downstream LSR unless the local node is the egress
node of the FEC. As shown in Figure 10, in D
to its upstream LSR only if it receives a label mapping for the FEC from its downstream LSR. In DoD
mode, when an LSR (Transit) receives a label request for an FEC from its upstream LSR (Ingress), it
continues to send a label request for the FEC to its downstream LSR (Egress). After the transit LSR
receives a label mapping for the FEC from the egress LSR, it distributes a label mapping for the FEC
to the ingress.
Label retention mode
The label retention mode specifies whether an LSR maintains a label mapping for an FEC learned from
a neighbor that is not its next hop.
•Liberal label retention—Retains a received label mapping for an FEC regardless of whether the
advertising LSR is the next hop of the FEC. This mechanism allows for quicker adaptation to
topology changes, but it wastes system resources because LDP has to keep useless labels. The
device only supports liberal label retention.
•Conservative label retention—Retains a received label mapping for an FEC only when the
advertising LSR is the next hop of the FEC. This mechanism saves label resources, but it cannot
quickly adapt to topology changes.
mode, an LSR distributes a label mapping for an FEC
U
19
LDP GR
LDP Graceful Restart enables an LSR to retain MPLS forwarding entries during an LDP restart, ensuring
continuous MPLS forwarding.
Figure 12 LDP GR
As shown in Figure 12, GR defines the following roles:
• GR restarter—An LSR that performs GR. It must be GR-capable.
• GR helper—A neighbor LSR that helps the GR restarter to complete GR.
The device can act as a GR restarter or a GR helper.
Figure 13LDP GR operation
GR restarter
Protocol
restarts
MPLS
forwarding state
holding time
Set up an LDP session, and identify that
they are LDP GR capable
Re-establish the LDP session
Send label mappings
GR helper
Reconnect time
LDP recovery time
As shown in Figure 13, LDP GR works in the following steps:
1. LSRs establish an LDP session. The L flag of the Fault Tolerance TLV in their Initialization messages
is set to 1 to indicate that they support LDP GR.
2. When LDP restarts, the GR restarter starts the MPLS Forwarding State Holding timer, and marks the
MPLS forwarding entries as stale. When the GR helper detects that the LDP session to the GR
restarter goes down, it marks the FEC-label mappings learned from the session as stale and starts
the Reconnect timer received from the GR restarter.
20
y
3. After LDP completes restart, the GR restarter reestablishes an LDP session to the GR helper. If the
4. After the LDP session is reestablished, the GR helper starts the LDP Recovery timer.
5. The GR restarter and the GR helper exchange label mappings and update their MPLS forwarding
6. When the MPLS Forwarding State Holding timer expires, the GR restarter deletes all stale MPLS
7. When the LDP Recovery timer expires, the GR helper deletes all stale FEC-label mappings.
LDP NSR
LDP session is not set up before the Reconnect timer expires, the GR helper deletes the stale
FEC-label mappings and the corresponding MPLS forwarding entries. If the LDP session is
successfully set up before the Reconnect timer expires, the GR restarter sends the remaining time of
the MPLS Forwarding State Holding timer as the LDP Recovery time to the GR helper.
tables.
The GR restarter compares each received label mapping against stale MPLS forwarding entries. If
a match is found, the restarter deletes the stale mark for the matching entry. Otherwise, it adds a
new entry for the label mapping.
The GR helper compares each received label mapping against stale FEC-label mappings. If a
match is found, the helper deletes the stale mark for the matching mapping. Otherwise, it adds the
received FEC-label mapping and a new MPLS forwarding entry for the mapping.
forwarding entries.
The following matrix shows the feature and hardware compatibility:
Hardware LDP NSR compatibilit
MSR2000 No
MSR3000 No
MSR4000 Yes
LDP nonstop routing (NSR) backs up protocol states and data (including LDP session and LSP information)
from the active process to the standby process. When the LDP primary process fails, the backup process
seamlessly takes over primary processing. The LDP peers are not notified of the LDP interruption. The LDP
peers keep the LDP session in Operational state, and the forwarding is not interrupted.
The LDP primary process fails when one of the following occurs:
• The primary process restarts.
• The MPU where the primary process resides fails.
• The MPU where the primary process resides performs an ISSU.
• The LDP process' position determined by the process placement function is different from the
position where the LDP process is operating.
Choose either LDP NSR or LDP GR to ensure continuous traffic forwarding:
• Device requirements
{ To use LDP NSR, the device must have two or more MPUs, and the primary and backup process
for LDP reside on different MPUs.
{ To use LDP GR, the device can have only one MPU on the device.
• LDP peer requirements
21
Loading...
+ 421 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.