MPLS LDP (Label Distribution Protocol)

Hi Rene,

Thanks for a good explanation…

My question is my ldp is flapping although my isis is up…

What are main problems we have with ldp flapping and what could be the issue in the case…???

Thanks in advance.


Dear Team,

Pl respond.

Hi Rene

You had mentioned that LDP forms a TCP connection for the neighbor adjacency, but the source port and destination ports are UDP.
It does not make sense?


Hi Rene,

I have a doubt and not getting an answer , can you help plz.

In a MPLS network where MPLS TE is being used , what signalling protocol is used by ISPs ? Is it LDP or RSVP-TE or both ?
If it is both - how ?


19 posts were merged into an existing topic: MPLS LDP (Label Distribution Protocol)

Hi Rene,
Could you expand on this a bit please. It seems to me that it is possible to receive a label for a destination that we do not have in the routing table.
The first example where we have BGP between PE and CE but no BGP on the core. Here the PE’s were advertising a route for the Customer.
If the core is more complex there could be multiple ways for PE1 to get to PE2 so it could learn the label from more than one neighbour.

How would a router chose which label route to use where it has a label for a destination but no route ?


Hi Stuart,

Did you see this tutorial?

I think that one will be helpful to understand this better. Within the MPLS “core”, we only advertise the loopback interfaces of the PE routers in our IGP, OSPF in most of my examples. The P router will only have these networks in its routing table. The LIB is based on the information of the RIB (Routing Table), so you only find labels for those loopbacks there, these are the transport labels needed to get from one PE to another PE.

Only the PE routers have to know all customer routes, these (including a VPN label) are advertised through IBGP between the PE routers.

Keep in mind that the LIB is built based on information from the RIB. If there are multiple paths to a certain PE router, then your IGP will decide which path will be installed in the RIB, which results what is used in the LIB. This is something we can influence with MPLS traffic engineering though.

Hi Rene,
I have Two questions .
PE Router has two Forwarding Table FIB and LFIB .When a PE Router receive a regular IP packet destination to and the Dst prefix exist in FIB table as well as LFIB table with label . Why Router will use LFIB instead of FIB ?? what is the choosing criteria ?? Need your assistant badly to clear it.

What do you mean by " Untagged" label .Label !!


Hello Zaman

Regular IP packets by definition do not have a label. They are always processed as regular IP packets based on destination IP and routing table lookup. So they are always routed using the FIB table. The LFIB table is only used when there is an MPLS label.

As for the untagged label, you can find out more about that at this post: Introduction to MPLS

I hope this has been helpful!


Hello, Can you add a topic called RSVP and difference between LDP/RSVP, please?


RSVP is a QoS mechanism to create a reservation on the network. I have an introduction lesson here:

RSVP is sometimes used on top of MPLS for Traffic engineering. That’s something I will cover in the future.

Something else to bear in mind as well, is Targeted LDP. It means LDP neighbours don’t actually need to be directly connected.

1 Like

ldp uses 646 udp for adjacency and tcp 646 for session creation. Would you pleases elaborate.

Hello Anil

LDP establishes neighbor adjacencies. In order to do so it goes through a process of exchanging packets. One of these packets is the LDP hello packet. These hello packets are sent to multicast address and they use both source and destination ports of 646. Hello packets use the UDP transport layer protocol.

Once the neighbors form their adjacency, they begin to exchange label information using a TCP connection and using unicast communication.

I hope this has been helpful!


1 Like

Hello Rane
If i don’t confuse, fist that you explain we use MPLS to reduce number of route in our P router. But Router need to generate each label for each route so in case our PE have full Internet routing table (7xxxxx routes) then PE router have to generate 7xxxxx labels and advertise all this label to our P router so P router still have to do a lot of work for storing label information for our PE router.
Please kindly help me out of this confusion.
Thank you

Hello Heng

MPLS VPNs when used to interconnect remote sites, use the PE routers to connect to CE routers so that the sites can connect to the MPLS network. Remember that an MPLS network is used as an ISP network that interconnects sites. It can also provide connectivity to the Internet via a backbone connection to the outside world. However, you would never have a PE router translate a full Internet routing table into MPLS labels. As you state, this would not be efficient.

I hope this has been helpful


Hi Rene,

In this LDP tutorial you mentioned that rib, lib and lfib describes the control plane and traceroute tells about the data plane of the MPLS router but in one image lfib is shown in data plane, so does that mean lfib is not part of data plane ?

Hello Varun

Both the Forwarding Information Base (FIB) and the Label Forwarding Information Base (LFIB) are found within the data plane, also called the forwarding plane, while both the LIB and the RIB are in the control plane. The diagrams shown are correct in this description.

Now Rene does mention that several tables that were displayed show the control plane, but traceroute should be used to examine the use of label switching. I can see how this can be a little confusing. I will ask Rene to clarify this statement…

Thanks and I hope this has been helpful!


1 Like

Thank you so much Laz!!

1 Like

Question – In your configuration example for R1, R2, and R3…. You configured OSPF because…
“we also need the information in the RIB to build the LIB so I’ll configure OSPF to advertise all prefixes”.
If MPLS runs on top of / is dependent of a routing protocol (BGP) – then why do we use MPLS? Why not just use that underlying Routing protocol?
Is it because MPLS is not a routing protocol but just a way to separate customer traffic?