8

Preface; In the below topology R1 and R6 are PEs, all others are P routers, all routers are running c7200-jk9s-mz.124-13b.bin. At this point IGP is fully converged (OSPF with all interfaces in area 0 for simplicity) and MPLS is enabled on all interfaces using LDP. No BGP configuration exists at this point.

enter image description here

Here is the MPLS forwarding table on R1;

R1#show mpls forwarding-table 
Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop    
tag    tag or VC   or Tunnel Id      switched   interface              
16     Pop tag     10.0.0.2/32       0          Fa0/0      10.0.12.2    
17     Pop tag     10.0.0.3/32       0          Fa0/1      10.0.13.3    
18     Pop tag     10.0.24.0/24      0          Fa0/0      10.0.12.2    
19     Pop tag     10.0.35.0/24      0          Fa0/1      10.0.13.3    
20     20          10.0.57.0/24      0          Fa0/1      10.0.13.3    
21     20          10.0.46.0/24      0          Fa0/0      10.0.12.2    
22     21          10.0.76.0/24      0          Fa0/1      10.0.13.3    
       21          10.0.76.0/24      0          Fa0/0      10.0.12.2    
23     23          10.0.0.4/32       0          Fa0/0      10.0.12.2    
24     24          10.0.0.5/32       0          Fa0/1      10.0.13.3    
25     25          10.0.0.6/32       0          Fa0/0      10.0.12.2    
26     26          10.0.0.7/32       0          Fa0/1      10.0.13.3

If my understanding is correct, R1 has generated labels for each FEC and R2 and R3 send R1 their LDP bindings (each MPLS label) for every MPLS FEC they have. Using this information R1 (for example) performs a lookup for traffic towards 10.0.0.6 and PUSHes the outgoing tag 25 before sending the the MPLS tagged packet towards 10.0.12.2 (R2).

A few questions arise here for me;

  1. After the initial convergence of the network, LSPs now exist between all FECs which are typically interfaces on LERs that connect to a subnet. R1 is a LER for an LSP towards R6 which is the other LER in that LSP. If R7 were also a PE router for example an LSP would exist between each R1 interface and each R7 interface and so more LSPs would exist then with R1 and R7 being the two LERs for those LSPs. Is that all correct?

  2. Assuming that baseline is correct; How does R1 know it is an LER for an LSP that spans to R6 for example (and all other possible LSPs that exist in this topology where R1 is one end device of the LSP such as if we introduced R7 as a PE as before?). Is this because the IGP (OSPF in this case) has full visibility of the network so it (all the edges) can be calculated from the IGP database?

  3. If 2 is correct, how did we get to that stage? Once the network is fully converged with IGP and LDP exchanges are completed, does a PE router then look through the FIB (or is it IGP RIB?) and work out all possible LDPs and which ones it would be an LER for, and who/what is the LER for the other end?

9

First, I would recommend checking out Cisco's MPLS FAQ For Beginners, or the NANOG Presentation "MPLS for Dummies" by Richard A Steenbergen. They both have some really good information.


With that said, let me address your questions one at a time. (I have excerpted them in part below.)

1: After the initial convergence of the network, LSPs now exist between all FECs which are typically interfaces on LERs that connect to a subnet.

Yes, LSP's exist towards all reachable FECs. And an MPLS packet could now be switched across the network.

2: Assuming that baseline is correct; How does R1 know it is an LER for an LSP that spans to R6 for example

R1 has no clue that it is part of an LSP that spans to R6. It only cares about the local/connected labels and FECs. That is part of what makes MPLS Label Switching fast and effective. It doesn't have to know the whole path. The router just knows that to reach FEC1, I apply label 1234, and exit interface XYZ.

Then later hops in the path utilize the same process, swapping in the appropriate next hop label and switching the packet on.


As for the bottom line question How are the LERs determined?, a router itself doesn't really know or care if it's an LER. It just knows that when it receives a packet destined for a local destination, with no tag, it delivers it.

In your output above, you can see that the first 4 outgoing FECs have Pop tag listed as the Outgoing Tag. A packet leaving R1 for one of the local subnets on R2 or R3 simply has it's tag popped and forwarded out the appropriate interface.

When R2 or R3 receive that packet, they see no label and process it via the normal routing process which delivers it to a local interface.

To quote the Wikipedia article on MPLS:

At the egress router, when the last label has been popped, only the payload remains. This can be an IP packet, or any of a number of other kinds of payload packet. The egress router must therefore have routing information for the packet's payload, since it must forward it without the help of label lookup tables. An MPLS transit router has no such requirement.

  • 1
    Brett, while you make some fair points, one major gripe is your LSP definition. The NANOG presentation you quoted doesn't define them the same way that IETF does in RFC 3031 Section 3.15; note that RFC3031 permits LDP LSPs, and does not require an LSP to have a label stack depth greater than 1. In other words, an OSPFv2 network with all nodes in Area 0, which also runs LDP will build unique LSPs for every route in the IPv4 table. Also see RFC 5283 Section 4 for more evidence. – Mike Pennington Jan 9 '14 at 2:07
  • 1
    @MikePennington Very true... I am used to thinking of LSPs as manually configured tunnels or more along the lines of RFC 4206 for traffic engineering. I need to mull this over and take a stab at editing my answer appropriately. Thanks for the info. – Brett Lykins Jan 9 '14 at 2:33
  • 2
    @jwbensley, "LSPs do exist to all FECs", and "MP-BGP VPNv4 binds new Level-2 LSPs per-prefix, per-VRF". aseaudi got three downvotes for good reason. I just wish people would observe downvotes, and quit upvoting unless they truly understood whether the answer is correct – Mike Pennington Jan 9 '14 at 11:07
  • 1
    @aseaudi, you said nothing about a full mesh of LSPs. You said a "full mesh any-to-any MPLS Network" (whatever that is supposed to be). Then you sprinted into some discussion about MP-BGP, in spite of the fact that the question says "No BGP configuration exists at this point". You did not respond to the questions directly, you gave him a vague hand-waving answer. I proudly own one of those downvotes and will continue down-voting answers of this quality – Mike Pennington Jan 9 '14 at 11:25
  • 2
    This is why explaining downvotes is rarely useful. When confronted with their misconceptions, most people rationalize. – Mike Pennington Jan 9 '14 at 11:29
-2

Without BGP configured you do not have have PEs yet, it's a full mesh any-to-any MPLS Network.

However, when you add MP-BGP on R1 and R6, both can be defined now as PEs, R1 and R6 will add another MPLS Label and will ask for penultimate hop popping from the penultimate P router, thus the PEs are now LERs for the LSPs between them.

P routers are not aware about the BGP routes, they forward labeled mpls traffic from the PEs based on best path.

Also, PseudoWires can be created instead of BGP for implementations like Ethernet over MPLS and AToM, and then the PW router endpoints will be LERs.

This is a basic description, Check CiscoPress MPLS Fundamentals book.

  • Thanks for the info aseaudi. So what you are saying is that by setting up VPNv4 BGP peerings between two routers, it is that act that create an LSP between two routers? – jwbensley Jan 8 '14 at 21:22
  • ...Is this because MPLS allocates labels for BGP next hops? – jwbensley Jan 8 '14 at 21:28
  • 1
    The egress PE router advertise the VPN label along with the vpnv4 prefix to the possible ingress PE routers via MP-BGP. This is a 2nd level MPLS VPN Label that is not known by the MPLS P Routers. – aseaudi Jan 8 '14 at 22:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.