Is MPLS mandatory for Traffic Engineering? Read more
If I input MPLS traffic engineering on any search engines, I will find about 100 articles on the internet providing the same explanations about MPLS traffic engineering.
But unfortunately, nobody ask these questions: do I really need it? What are the reasons behind the implementation of MPLS Traffic Engineering?
Would it worth the time and energy to deploy and learn such a complex technology if there are many easier, resource-friendly alternatives.
In this article, I will explain all the answers to these questions. Undoubtedly, MPLS traffic engineering has many used cases and it helps to solve numerous problems in an MPLS enabled networks.
First, you need to remember MPLS-Traffic engineering operation.
MPLS-traffic engineering requires four steps, as shown below, for its operation.
- Link information such as bandwidth, IGP metric, TE metric, and SRLG is flooded throughout the IGP domain by the link state protocols.
- The path is calculated either with CSPF in a distributed manner or with offline tools as a centralized fashion.
- If a suitable path is found, it is signalled via RSVP-TE and the RSVP assigns the label for the tunnels.
- The traffic is placed in the tunnels.
MPLS traffic engineering has many use cases and it helps to solve the problems in an MPLS enabled networks.
These use cases are in general; QoS guarantee, End to End SLA , Fast reroute, Admission control and so on.
All of them at the end is done for the COST SAVING.
The real reason behind MPLS Traffic engineering is cost saving. This is same for the IP Traffic Engineering as well.
Sometimes as a technical people we tend to forget the real reason behind these technologies and push ourselves to make it work on the network although we could find an easier, simpler, flexible, scalable solutions since we don’t focus on the business problem.
In this article I will show you couple alternative ways for the traffic engineering and then explain why you wouldn’t need MPLS Traffic engineering for the link bandwidth utilization.
As you are reading this post, you will learn everything about segment routing. With some extension to the existing protocols, this source routing mechanism will assist you to solve all the complex problems related to Traffic Engineering, Fast Reroute, and MPLS VPNS.
In this post, I will explain Segment Routing and all the problems associated with MPLS. After that, I will elucidate how Segment Routing can provide solutions to those problems.
If you are knowledgeable about Segment Routing, you can continue with the use cases.
What is Segment Routing ?
The answer is no brainer. Segment Routing refers to a source routing mechanism.
I implore you not to confuse source routing with policy based routing (PBR), as both of them are different.
While the source is an edge node, it can be a server, a top of rack switch, a virtual switch, or an edge router. Source allows service chaining, and its entire path can be exposed to ingress/head end router.
What does segment means ?
Segment is the component path that allows the packets to travel, a task specified by the user.
For instance, you could direct a component travelling from firewall X to go to router A, and then to router B. Yes, you can do that.
In fact, service chaining can be achieved with Segment Routing.
Even though Segment Routing uses IP control plane, it employs MPLS data plane in its operation. Segment ID is equivalent to MPLS label, and segment list is exposed to label stack.
To understand how Segment Routing functions, you need to understand MPLS VPN operation.
MPLS VPN Operation
If you know everything about MPLS VPN operation already, you can skip this section.
The below diagram depicts the MPLS VPN operation.
The diagram has two labels: core label, also known as transport tunnel; and topmost label. In MPLS layer 2 or layer 3 VPN operations, the topmost label moves from PE1 loopback to PE2 loopback. While the topmost label provides an edge-to-edge reachability, LDP, RSV, or BGP allows core/transport label.
In the context of MPLS VPN, LDP is the most commonly used label distribution protocol.
If you want to use MPLS Traffic Engineering architecture, then you need to enable RSVP-TE for label distribution. And of course, LDP and RSVP can coexist in the network.
VPN label is provided by BGP, specifically Multi-protocol BGP.
PE routers change BGP next hop as their loopback addresses to the VPN prefixes. Also, core/transport label is used to reach the BGP next hop.
PE1 pushes two labels: the red label and the blue label. Sent by P1 to PE1 via LDP, red label – which is the core/transport label – is changed at every hop.
The red label is removed at P2 if PE2 sends an implicit null label, a process known as PHP (Penultimate hop popping).
The blue label is the VPN label sent by PE2 to PE1 through MP-BGP session.
Next, I will explain MPLS VPN operations with Segment Routing.
MPLS VPN with Segment Routing
If similar operation is done with Segment Routing, the red label is sent from PE2 to all the routers within the IGP domain via link state protocols (OSPF or IS-IS), not within the LDP label messages (see picture below).
Node segment ID, also known as prefix segment ID, is used for specifying the loopback interface of Segment Routing enabled device.
Within the loopback interface, Segment Routing is enabled; because of that, Node/Prefix Segment identifier is assigned to such loopback interface.
Throughout this post, I will use the SID abbreviation for Segment ID.
Node/Prefix SID is sent via either IS-IS or OSPF LSP and LSAs.
All the Segment Routing enabled routers receive and learn Node/Prefix SID from one another.
To assist you to understand this topic, I will explain MPLS Layer 3 VPN operation as well as segment routing.
As you must have observed, there is no LDP in the above diagram. Label 100 is advertised in the IGP protocol, and all the routers use identical label.
As for LDP, label 100 does not change hop by hop.
Through MP-BGP, PE1 still receives a VPN label for the CE2 prefixes.
BGP next hop is PE2 loopback. PE2 loopback uses label 100 in the IS-IS sub-TLV or OSPF Opaque LSA.
PE1 assumes label 100 as a core / transport label, and so too does the outer label consider label 2000 the inner VPN label .
P1 does not change the core/transport label; rather, it sends the packet to the P2.
If P2 receives an implicit null label from PE2, P2 does PHP (Penultimate Hop Popping). In sum, only the VPN label is sent to the PE2.
Without using LDP but by using IGP, MPLS VPN service is provided. Segment Routing does not require LDP for the transport tunnel because it uses IGP for the label advertisement.
Please note that Segment Routing eliminates to use LDP only for the transport label operation.
If you setup MPLS layer 2 VPN for the PW label, you will use either LDP or BGP because Segment Routing does not provide such capability.
PW (Pseudowire) can be signaled via LDP or RSVP. LDP signaled pseudowire is also known as Martini pseudowire, while BGP signaled pseudowire is also known as Kompella psedowire.
So, if you provide layer 2 VPN service with Segment Routing, you will notice two labels: transport label provided by the IGP to reach the correct PE; and LDP or BGP assigned label for the end customer AC (Attachment circuit) identification in the remote PE.
MPLS is very powerful with its applications.
MPLS and its applications are very powerful.
MPLS layer 2 VPNs (VPWS, VPLS, and VPMS), MPLS Layer 3 VPNs, and MPLS Traffic Engineering are the most common applications of IP/MPLS networks.
MPLS Traffic Engineering is used in large enterprise networks, especially in Service Provider and Web OTT.
More importantly, you can use all the MPLS applications with Segment Routing.
If you read this article, you should continue to read the “Segment Routing Use Cases,Segment Routing Fast Reroute” articles as well.
I include couple references and resources in case you want to learn more about Segment Routing.
What about you ?
Do you have MPLS Traffic Engineering on your network ?
What sorts of problems you have if you have MPLS Traffic Engineering ?
What might be other use cases of Segment Routing ?
Let’s discuss in the comments below.
You need OSPF or IS-IS to distribute link information such as reserved, unreserved and used bandwidth, metric, link colouring information.These informations are used by CSPT ( Constraint based shortest path first ) algorithm.
For those who are familiar with MPLS-Traffic Engineering, path is calculated either at each and every device or with the offline computation tools such as NMS from the central place.
For the distributed computation, CSPF which is one of the flavour of Shortest Path First (SPF) algorithm is used.
CSPF computes a dynamic unidirectional MPLS TE LSP ( Label Switch Path ) by reaching the Traffic Engineering Database (TED).
TED database has different attributes than regular link state database which is created such as reserved , used , unreserved bandwidth on the interfaces, link colouring attributes and so on.Link colouring information is used to avoid SRLG ( Shared Risk Link Group ) path at the transport network.
These information can only be provided by the link state protocols. Thus if you want to calculate the MPLS TE LSP without helping the NMS ( Network Management System ) but on each and every LSR as distributed, you need to use link state routing protocols which are OSPF and IS-IS currently.