Introduction to MPLS

Hi Rene / Andrew

What are some great books / sources to master MPLS and related advance technologies used in today’s Enterprise and SP networks ?

Regards
Abhishek

Hi Abhishek,

For the basics, a good book to get started is MPLS Fundamentals by Luc de Ghein.

I also enjoyed both MPLS and VPN Architectures books by Ivan Pepelnjak.

Rene

1 Like

Hi Rene

I have some questions about the MPLS configurations.

  1. Why we are using iBGP?
  2. In case of iBGP advertising the loopback interfaces, is OSPF still being used here? If so what role does OSPF plays?

Thanks
Palani

Hi Palani

Here OSPF is for loopback reachability but iBGP is to carry the actual prefixes. we can use anything for reachbility but OSPF always preferable as it is a fast protocol and has many other advantages.
why iBGP ? well BGP is a scalable protocol and can carry huge number of prefixes from one PE to other PE. hope that clarifies.

Thanks
Abhishek

Hi Rene

In your GRE tunnel configuration here, you have advertised both 192.168.23.0 and 192.168.34.0 into OSPF.
Wouldn’t this cause GRE recursive routing issue?

Thanks
Palani

Palani,
If I am looking at what you are referring to, which is the diagram of CE1, PE1, P, PE2, and CE2, the only router that advertises both 192.168.23.0 and 192.168.34.0 into OSPF is P. This is because P is connected to both of these subnets.

The GRE recursive routing problem happens when a router acting as the tunnel endpoint learns about the address of the other side’s endpoint through the tunnel. Since PE1 and PE2 are not advertising the tunnel address space (192.168.24.0/24) into OSPF, PE1 and PE2 have no possibility of using the tunnel itself to reach the endpoints (2.2.2.2/32 and 4.4.4.4/32). Therefore, a GRE recursive problem will not happen.

Does that make sense?

Quick update: this lesson now has the configuration files.

Hello rene
Why mpls up to mac address and dont under mac address … this qus.in my mind but i dont any good Answe

Hussein,
Could you ask your question another way? I don’t understand what you are asking.

Hi Rene!

Thanks for amazing article but am not able to understand the loopback interface and its usage.
Can you help ?

Thanks
Sweety

The loopback interface is a logical (virtual) interface and you can assign an IP address on it. One advantage of a logical interface is that they can’t go down unless you shut them down or your router crashes.

We use loopbacks often with iBGP to establish the neighbor adjacency. Let’s say you establish an iBGP neighbor adjacency between two routers using the IP addresses of physical interfaces. When one of the physical interfaces goes down, the neighbor adjacency will be gone too…

If you use IP addresses on loopback interfaces instead, your IGP (OSPF or EIGRP) will be able to find another path to the loopback interface when any of your physical links fails.

Loopback interfaces are also nice to use in labs so you can quickly advertise something in your routing protocol.

19 posts were merged into an existing topic: Introduction to MPLS

Hi Rene,
Another huge benefit of MPLS that you do not mention in your introduction is that the protocol combines L2 and L3 (or at least next hop and last hop) so the overall latency through the network is reduced significantly. This is the benefit from a customer perspective and why ISPs can charge a premium for MPLS circuits.

We have transatlantic MPLS circuits with latency of 80ms whereas over the internet we get 140ms to the same site.

I had no idea how easy it is to configure!
Stuart.

In the lesson CE <-> PE is BGP
PE <-> P is ospf

I tried to create a similar lab. I find that there is only a LSP if the router has a route for the destination.
So how does the P router have an LSP for 5.5.5.5 and 1.1.1.1 ?

PE1#show mpls forwarding-table 
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
16         17         4.4.4.4/32       0             Gi0/2      192.168.23.3
17         Pop Label  192.168.34.0/24  0             Gi0/2      192.168.23.3
18         Pop Label  3.3.3.3/32       0             Gi0/2      192.168.23.3

There is no label rule for 5.5.5.5 so how do the packets get routed.
I read the page many times but I just don’t get it.

PE1 knows to send packets for 5.5.5.5 via 4.4.4.4
PE1 knows to get to 4.4.4.4 it has to send packets to 192.168.23.3

somehow MPLS gets involved in the decision. This is a recursive route. It is like MPLS is checked at each stage of the route recursion. Is that what happens or is it some sort of magic interaction between MPLS and iBGP ?

I tried to do the same thing with a static route

Gateway of last resort is not set

     1.0.0.0/32 is subnetted, 1 subnets
C       1.1.1.1 is directly connected, Loopback0
     2.0.0.0/32 is subnetted, 1 subnets
D       2.2.2.2 [90/409600] via 172.16.12.2, 00:00:57, FastEthernet0/0
     3.0.0.0/32 is subnetted, 1 subnets
D       3.3.3.3 [90/435200] via 172.16.12.2, 00:12:56, FastEthernet0/0
     4.0.0.0/32 is subnetted, 1 subnets
D       4.4.4.4 [90/437760] via 172.16.12.2, 00:12:56, FastEthernet0/0
     172.16.0.0/24 is subnetted, 3 subnets
D       172.16.34.0 [90/309760] via 172.16.12.2, 00:12:57, FastEthernet0/0
D       172.16.23.0 [90/307200] via 172.16.12.2, 00:19:16, FastEthernet0/0
C       172.16.12.0 is directly connected, FastEthernet0/0
C    192.168.1.0/24 is directly connected, FastEthernet1/0
S    192.168.3.0/24 [1/0] via 172.16.34.4
R1#sh mpls for
Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop    
tag    tag or VC   or Tunnel Id      switched   interface              
16     17          3.3.3.3/32        0          Fa0/0      172.16.12.2  
17     19          4.4.4.4/32        0          Fa0/0      172.16.12.2  
18     18          172.16.34.0/24    0          Fa0/0      172.16.12.2  
19     Pop tag     172.16.23.0/24    0          Fa0/0      172.16.12.2  
20     Untagged    192.168.3.0/24    0          Fa0/0      172.16.12.2  
21     Pop tag     2.2.2.2/32        0          Fa0/0      172

S 192.168.3.0/24 [1/0] via 172.16.34.4
18 18 172.16.34.0/24 0 Fa0/0 172.16.12.2
20 Untagged 192.168.3.0/24 0 Fa0/0 172.16.12.2

Why is 192.168.3.0/24 untagged ?

Stuart

1 Like

The article is amazing, interesting, important, … ! As a CCNP candidate ; before reading this article, I did read separately lot of articles on BGP, MPLS and GRE. Unfortunately, I really get confused on three points in the fundamental (first) part of the article. I have a question for each of the three points.

I did read somewhere that IGPs do have serious trouble with routing tables > 500.000 prefixes. Could prefixes (from BGP) be learned from PE1 to PE2 (or vice-versa) without being learned by IGP “P” routers ?

Could I base my point on the huge number of prefixes for saying that “running an IGP in a P router is a bad practice, compared to making it be IBGP” ?

I do not understand the following affirmation in the article : “The advantage is that BGP traffic between PE1 and PE2 wouldn’t be encapsulated by GRE”. How a GRE tunnel could be established between PE1 et PE2 without having GRE encapsulation everywhere on the route between PE1 and PE2 ?

Hi @kayoutoure,

In this article we are starting with the idea to remove BGP from the network core. This is because the core can be very large and we don’t want to have to make many manual changes each time something is modified.
Our objective is to let the PE routers talk BGP to other PE routers and remove the requirement for P routers to talk BGP. We could have many P routers in the path between two PE routers (e.g. PE-P-P-P-P-P-P-P-PE) so this would be a great optimisation.

So your first point is correct. BGP prefixes are learned from PE to PE, not via the P routers.

Regarding GRE, don’t worry about this too much. It is used as one example of how we could stop using BGP on the P routers. We are meant to consider that using MPLS in the core is similar to using GRE in the core as they are both methods of allowing PE routers to handle all the BGP routing logic and the P routers just forward data in a “dumb” way between PE routers.

The reason we see many more MPLS cores than GRE cores is that there are some extra advantages to using MPLS such as better performance in large networks but, in our lesson, they have both achieved the same thing; removing BGP from the P router core.

I hope this helps,
Jon

Hi Jon.

Thank you for your interesting answers.

When you say “many manual changes each time something is modified”, it does raise some existential questions in my mind.

1 - What really IBGP (Internal BGP) routers could be useful for ? Your last answers seemed to me to say that a core with IGP nodes only is a “great optimisation” compared to a core with IBGP nodes.

2 - Do MPLS provide a “DMVPN-KindOf” for a company having 10 branches and needing to tunnel between any two of them ?

PS : I would like to have the chance to read a good article explaining why “a core with IGP nodes only is a great optimisation compared to a core with some IBGP nodes”.

Hi @kayoutoure

It might help to think about this the other way around, let’s say we don’t use MPLS but BGP on all P and PE routers. This means that:

* The P routers have to do a lookup in their routing tables for every destination.
* The P routers have to know about every destination…this means you’ll have to redistribute customer information into BGP.
* iBGP has to be a full mesh so if you add another P router in your network, you’ll have to establish neighbor adjacencies with all other iBGP routers. You can make your life a bit easier with route reflectors and confederations but it’s still a lot more work than configuring a router with an IGP like OSPF + MPLS.

There are a lot of different logical topologies you can run on top of MPLS. For example, services like E-line, E-tree and E-lan are also often used on top of MPLS.

1 Like

4 posts were merged into an existing topic: Internal BGP (Border Gateway Protocol) explained

Hello Rene,

Thanks for the lesson.

Please excuse me if I’m asking a dumb question. With the increase in high speed fiber links could a Service Provider use “pure Ethernet” (using technologies like vlans, tunneling, etc) in providing WAN service connectivity for its customers?
My understanding of MPLS, with its multi-protocol capability, is that it provides a means of integrating legacy technology (like frame-relay) into a newer network. Correct?

Rohan

1 Like