Label Distribution Protocol (LDP) is a protocol
in which routers capable of Multiprotocol Label
Switching (MPLS) exchange label mapping
information.

   MPLS is a mechanism in high-performance
    telecommunications networks that directs
    data from one network node to the next
    based on short path labels rather than long
    network addresses, avoiding complex
    lookups in a routing table.
MPLS
Label Distribution Protocol (LDP) is a key
protocol in the MPLS (Multi Protocol Label
Switching) architecture.

   In the MPLS network, 2 Label Switching
    Routers (LSR) must agree on the meaning
    of the labels used to forward traffic
    between and through them.
LSR Routers
 The Label Distribution Protocol (LDP) is a
 protocol defined by the IETF (RFC 5036)
 for the purpose of distributing labels in an
 MPLS environment.
   LDP defines a set of procedures and
    messages by which one LSR (Label Switched
    Router) informs another of the label bindings
    it has made.

   The LSR uses this protocol to establish label
    switched paths through a network by
    mapping network layer routing information
    directly to data-link layer switched paths.
LSR Routers
   Two LSRs (Label Switched Routers) which
    use LDP to exchange label mapping
    information are known as LDP peers and
    they have an LDP session between them.

   In a single session, each peer is able to
    learn about the others label mappings, in
    other words, the protocol is bi-
    directional.
1.   Version -- LDP version number. The present
     number is 1.

2.   PDU Length -- The total length of the PDU
     excluding the version and the PDU length field.

3.   LDP identifier -- This field uniquely identifies
     the label space of the sending LSR for which
     this PDU applies. The first 4 octets encode the
     IP address assigned to the LSR. The last 2
     indicate a label space within the LSR.
All LDP messages have the following format:
1.   U -- The U bit is an unknown message bit.

2.   Message Type -- The type of message. The following message
     types exist: Notification, Hello, Initialization, Keep Alive,
     Address, Address Withdraw, Label Request, Label Withdraw,
     Label Release, and Unknown Message name.

3.   Message Length -- The length in octets of the message ID,
     mandatory parameters and optional parameters.

4.   Message ID -- 32-bit value used to identify the message.

5.   Parameters -- The parameters contain the TLVs. There are
     both mandatory and optional parameters. Some messages
     have no mandatory parameters, and some have no optional
     parameters.
1.   U -- The U bit is an unknown TLV bit.

2.   F -- Forward unknown TLV bit.

3.   Type -- Encodes how the Value field is to be
     interpreted.

4.   Length -- Specifies the length of the Value field in
     octets.

5.   Value -- Octet string of Length octets that encodes
     information to be interpreted as specified by the
     Type field.
The following message types are defined in this version
of LDP:

Message Name              Section Title
Notification              Notification Message
Hello                     Hello Message
Initialization            Initialization Message
KeepAlive                 KeepAlive Message
Address                   Address Message
Address Withdraw          Address Withdraw Message
Label Mapping             Label Mapping Message
Label Request             Label Request Message
Label Abort Request       Label Abort Request Message
Label Withdraw            Label Withdraw Message
Label Release             Label Release Message
LDP provides a standard methodology for
hop-by-hop, or dynamic label, distribution in
an MPLS network by assigning labels to routes
that have been chosen by the underlying
Interior Gateway Protocol (IGP) routing
protocols.

 Theresulting labeled paths, called Label
 Switch Paths (LSPs), forward label traffic
 across an MPLS backbone to particular
 destinations.
When you enable MPLS LDP, the LSRs send out
messages to try to find other LSRs with which
they can create LDP sessions.

The following sections explain the differences
between sessions.
1. Directly Connected MPLS LDP Sessions
2. Nondirectly Connected MPLS LDP Sessions
If an LSR is one hop from its neighbor, it is
directly connected to its neighbor. The LSR
sends out LDP link Hello messages as User
Datagram Protocol (UDP) packets to all the
routers on the subnet (multicast).

A neighboring LSR may respond to the link
Hello message, allowing the two routers to
establish an LDP session. This is called Basic
Discovery.
 Toinitiate an LDP session between routers, the
 routers determine which router will take the
 active role and which router will take the
 passive role. The router that takes the active
 role establishes the LDP TCP connection
 session and initiates the negotiation of the LDP
 session parameters.

 Todetermine the roles, the two routers
 compare their Transport Addresses. The router
 with the higher IP address takes the active role
 and establishes the session.
After the LDP TCP connection session is
established, the LSRs negotiate the session
parameters, including the method of label
distribution to be used. Two methods are available:

1.   Downstream Unsolicited: An LSR advertises
     label mappings to peers without being asked
     to.
2.   Downstream on Demand: An LSR advertises
     label mappings to a peer only when the peer
     asks for them.
If the LSR is more than one hop from its
neighbor, it is nondirectly connected to its
neighbor. For these nondirectly connected
neighbors, the LSR sends out a targeted Hello
message as a UDP packet, but as a unicast
message specifically addressed to that LSR.

The nondirectly connected LSR responds to the
Hello message and the two routers begin to
establish an LDP session. This is called Extended
Discovery.
The exchange of targeted Hello messages between two
nondirectly connected neighbors can occur in several
ways, including the following:

1.   Router 1 sends targeted Hello messages carrying a
     response request to Router 2. Router 2 sends targeted
     Hello messages in response if its configuration
     permits. In this situation, Router 1 is considered to be
     active and Router 2 is considered to be passive.

2.   Router 1 and Router 2 both send targeted Hello
     messages to each other. Both routers are considered
     to be active. Both, one, or neither router can also be
     passive, if they have been configured to respond to
     requests for targeted Hello messages from each other.
An LDP label binding is an association
between a destination prefix and a label.
There are four categories of LDP messages:

1.   Discovery messages, used to announce and
     maintain the presence of an LSR in a network.
2.   Session messages, used to establish, maintain,
     and terminate sessions between LDP peers.
3.   Advertisement messages, used to create,
     change, and delete label mappings for FECs.
4.   Notification messages, used to provide
     advisory information and to signal error
     information.
LDP errors and other events of interest are
signaled to an LDP peer by Notification
messages.
There are two kinds of LDP Notification
messages:

1.   Error Notifications
2.   Advisory Notifications
Error Notifications, used to signal fatal
errors. If an LSR receives an Error
Notification from a peer for an LDP session,
it terminates the LDP session by closing the
TCP transport connection for the session
and discarding all label mappings learned
via the session.
Advisory Notifications, used to pass on LSR
information about the LDP session or the
status of some previous message received
from the peer.
 LDPuses TCP as a reliable transport for
 sessions.

 When multiple LDP sessions are
 required between two LSRs, there is one
 TCP session for each LDP session.
Label Distribution Protocol

Label Distribution Protocol

  • 2.
    Label Distribution Protocol(LDP) is a protocol in which routers capable of Multiprotocol Label Switching (MPLS) exchange label mapping information.  MPLS is a mechanism in high-performance telecommunications networks that directs data from one network node to the next based on short path labels rather than long network addresses, avoiding complex lookups in a routing table.
  • 3.
  • 4.
    Label Distribution Protocol(LDP) is a key protocol in the MPLS (Multi Protocol Label Switching) architecture.  In the MPLS network, 2 Label Switching Routers (LSR) must agree on the meaning of the labels used to forward traffic between and through them.
  • 5.
  • 6.
     The LabelDistribution Protocol (LDP) is a protocol defined by the IETF (RFC 5036) for the purpose of distributing labels in an MPLS environment.
  • 7.
    LDP defines a set of procedures and messages by which one LSR (Label Switched Router) informs another of the label bindings it has made.  The LSR uses this protocol to establish label switched paths through a network by mapping network layer routing information directly to data-link layer switched paths.
  • 8.
  • 9.
    Two LSRs (Label Switched Routers) which use LDP to exchange label mapping information are known as LDP peers and they have an LDP session between them.  In a single session, each peer is able to learn about the others label mappings, in other words, the protocol is bi- directional.
  • 11.
    1. Version -- LDP version number. The present number is 1. 2. PDU Length -- The total length of the PDU excluding the version and the PDU length field. 3. LDP identifier -- This field uniquely identifies the label space of the sending LSR for which this PDU applies. The first 4 octets encode the IP address assigned to the LSR. The last 2 indicate a label space within the LSR.
  • 12.
    All LDP messageshave the following format:
  • 13.
    1. U -- The U bit is an unknown message bit. 2. Message Type -- The type of message. The following message types exist: Notification, Hello, Initialization, Keep Alive, Address, Address Withdraw, Label Request, Label Withdraw, Label Release, and Unknown Message name. 3. Message Length -- The length in octets of the message ID, mandatory parameters and optional parameters. 4. Message ID -- 32-bit value used to identify the message. 5. Parameters -- The parameters contain the TLVs. There are both mandatory and optional parameters. Some messages have no mandatory parameters, and some have no optional parameters.
  • 15.
    1. U -- The U bit is an unknown TLV bit. 2. F -- Forward unknown TLV bit. 3. Type -- Encodes how the Value field is to be interpreted. 4. Length -- Specifies the length of the Value field in octets. 5. Value -- Octet string of Length octets that encodes information to be interpreted as specified by the Type field.
  • 16.
    The following messagetypes are defined in this version of LDP: Message Name Section Title Notification Notification Message Hello Hello Message Initialization Initialization Message KeepAlive KeepAlive Message Address Address Message Address Withdraw Address Withdraw Message Label Mapping Label Mapping Message Label Request Label Request Message Label Abort Request Label Abort Request Message Label Withdraw Label Withdraw Message Label Release Label Release Message
  • 17.
    LDP provides astandard methodology for hop-by-hop, or dynamic label, distribution in an MPLS network by assigning labels to routes that have been chosen by the underlying Interior Gateway Protocol (IGP) routing protocols.  Theresulting labeled paths, called Label Switch Paths (LSPs), forward label traffic across an MPLS backbone to particular destinations.
  • 18.
    When you enableMPLS LDP, the LSRs send out messages to try to find other LSRs with which they can create LDP sessions. The following sections explain the differences between sessions. 1. Directly Connected MPLS LDP Sessions 2. Nondirectly Connected MPLS LDP Sessions
  • 19.
    If an LSRis one hop from its neighbor, it is directly connected to its neighbor. The LSR sends out LDP link Hello messages as User Datagram Protocol (UDP) packets to all the routers on the subnet (multicast). A neighboring LSR may respond to the link Hello message, allowing the two routers to establish an LDP session. This is called Basic Discovery.
  • 21.
     Toinitiate anLDP session between routers, the routers determine which router will take the active role and which router will take the passive role. The router that takes the active role establishes the LDP TCP connection session and initiates the negotiation of the LDP session parameters.  Todetermine the roles, the two routers compare their Transport Addresses. The router with the higher IP address takes the active role and establishes the session.
  • 23.
    After the LDPTCP connection session is established, the LSRs negotiate the session parameters, including the method of label distribution to be used. Two methods are available: 1. Downstream Unsolicited: An LSR advertises label mappings to peers without being asked to. 2. Downstream on Demand: An LSR advertises label mappings to a peer only when the peer asks for them.
  • 24.
    If the LSRis more than one hop from its neighbor, it is nondirectly connected to its neighbor. For these nondirectly connected neighbors, the LSR sends out a targeted Hello message as a UDP packet, but as a unicast message specifically addressed to that LSR. The nondirectly connected LSR responds to the Hello message and the two routers begin to establish an LDP session. This is called Extended Discovery.
  • 25.
    The exchange oftargeted Hello messages between two nondirectly connected neighbors can occur in several ways, including the following: 1. Router 1 sends targeted Hello messages carrying a response request to Router 2. Router 2 sends targeted Hello messages in response if its configuration permits. In this situation, Router 1 is considered to be active and Router 2 is considered to be passive. 2. Router 1 and Router 2 both send targeted Hello messages to each other. Both routers are considered to be active. Both, one, or neither router can also be passive, if they have been configured to respond to requests for targeted Hello messages from each other.
  • 26.
    An LDP labelbinding is an association between a destination prefix and a label.
  • 27.
    There are fourcategories of LDP messages: 1. Discovery messages, used to announce and maintain the presence of an LSR in a network. 2. Session messages, used to establish, maintain, and terminate sessions between LDP peers. 3. Advertisement messages, used to create, change, and delete label mappings for FECs. 4. Notification messages, used to provide advisory information and to signal error information.
  • 28.
    LDP errors andother events of interest are signaled to an LDP peer by Notification messages. There are two kinds of LDP Notification messages: 1. Error Notifications 2. Advisory Notifications
  • 29.
    Error Notifications, usedto signal fatal errors. If an LSR receives an Error Notification from a peer for an LDP session, it terminates the LDP session by closing the TCP transport connection for the session and discarding all label mappings learned via the session.
  • 30.
    Advisory Notifications, usedto pass on LSR information about the LDP session or the status of some previous message received from the peer.
  • 31.
     LDPuses TCPas a reliable transport for sessions.  When multiple LDP sessions are required between two LSRs, there is one TCP session for each LDP session.