LDP Overview
Label distribution protocol (LDP) is the most commonly used protocol in the MPLS network. It generates and distributes labels and thus helps in MPLS packet switching and forwarding. By using LDP, label-switching routers in an MPLS network can exchange label mapping information to create label-switched paths (LSPs) for switching data packets. RtBrick FullStack (RBFS) supports Dual-stack, which means LDP can exchange FEC-label bindings over either IPv4 or IPv6 networks.
Peer Discovery
LDP sends UDP multicast hello packets to discover its neighbors and establishes neighbor adjacency with other directly connected label switch routers (LSRs). The hello message is periodically sent on LDP-enabled interfaces.
Session Establishment
After peer discovery, “initialization messages” are sent to each other. In these messages, the session Parameters are sent to each other. The LDP sessions are maintained by periodic keep-alive message.
After the LDP neighbors are discovered, the TCP session is established and the LDP FSM is triggered, and LDP session becomes operational. LSRs start exchanging label mapping information with each other.
Dual-stack LDP
By default, RBFS is dual-stack capable, which means it can exchange IPv4/IPv6 FEC bindings over IPv4/IPv6 media (LDP over IPv4/IPv6).
To enable or disable a particular address family in RBFS, use "status <enable|disable>" CLI. For details, see [ldp-address-family].
When LDP is enabled on an interface that supports both IPv4 and IPv6, LDP will start exchanging IPv4 hellos. To send an IPv6 hello, the source IPv6 address must be configured. For details about configuring the source address, see [ldp-instance-config].
By default, both IPv4 and IPv6 hello will use the same transport preference as IPv6, but this can be changed by using the "connection-preference <ipv4|ipv6>" CLI. For details, see [ldp-instance-config].
The following points should be noted regarding this functionality:
Source address:
-
Unless modified, IPv4 and IPv6 hellos will be sent with transport preference as IPv6 when the IPv6 source address is configured.
-
When the IPv6 source address is not configured, only IPv4 hello will be sent with transport-preference IPv4 and still act as a dual-stack router and exchange both IPv4 and IPv6 FEC bindings.
When IPv4 status is disabled:
-
Only IPv6 hello will be sent without Dual-stack TLV.
-
Only IPv6 FEC binding will be exchanged.
When IPv6 status is disabled:
-
Only IPv4 hello will be sent without Dual-stack TLV.
-
Only IPv4 FEC binding will be exchanged.
When both IPv4 and IPv6 statuses are enabled:
-
Both IPv4 and IPv6 hellos will be exchanged (IPv6 source address configuration is mandatory for sending IPv6 hello).
-
By default, the hello message uses IPv6 as the transport preference, unless otherwise specified.
-
Both IPv4 and IPv6 FEC bindings will be exchanged.
Label Generation
LDP generates label bindings for the IP addresses of the LDP-enabled loopback interfaces and then advertises them to all neighbors.
Label Management Modes
Label Advertisement Mode
LDP supports the Downstream Unsolicited feature in RBFS, where label bindings are advertised to all upstream neighbors. By default, label advertisement operates in the Downstream Unsolicited mode.
Supported LDP Standards
RFC Number | Description |
---|---|
RFC 5036 |
LDP Specification The following modes are supported by RBFS for the features listed in RFC 5036:
|
RFC 5283 |
LDP Extension for Inter-Area Label Switched Paths (LSPs) |
RFC 5443 |
LDP IGP Synchronization |
RFC 7552 |
IPv6 Dual-Stack |
RFC and draft compliance are partial except as specified. |
Supported LDP Features
The following LDP features are supported in this release of RBFS:
-
Support for the following label management modes.
-
Downstream unsolicited mode in label advertisement
-
Ordered mode in the label distribution control
-
Liberal mode in label retention
-
-
Loop detection
-
Inter-area support
-
Tracking IGP metric
-
IGP LDP synchronization
-
LDP Dual-stack support
-
LDP TCP authentication
-
LDP redistribution
-
LDP policy configuration