MPLS Fundamentals: 6 – MPLS TE

The role of TE is to get the traffic from edge to edge in the network in the most optimal way.

  • MPLS TE takes into account the configured (static) bandwidth of links.
  • MPLS TE takes link attributes into account (for instance, delay, jitter).
  • MPLS TE adapts automatically to changing bandwidth and link attributes.

MPLS TE allows for a TE scheme where the head end router of a label switched path (LSP) can calculate the most efficient route  through the network toward the tail end router of the LSP. The head end router can do that if it has the topology of the network.  Furthermore, the head end router needs to know the remaining bandwidth on all the links of the network. Finally, you need to  enable MPLS on the routers so that you can establish LSPs end to end. The fact that label switching is used and not IP forwarding  allows for source-based routing instead of IP destination-based routing. That is because MPLS does forwarding in the data plane by  matching an incoming label in the label forwarding information base (LFIB) and swapping it with an outgoing label.

Therefore, it is the head end label switching router (LSR) of the LSP that can determine the routing of the labeled packet, after all  LSRs agree which labels to use for which LSP.


If the network is running MPLS, you can set up these two paths as two different LSPs so that different labels are used. At router R1,  the different incoming label value indicates whether the packet belongs to the LSP with R6 as the head end or the LSP with R7 as the head end. R1 then forwards the packet on one of the two LSPs, but it does not forward the packet according to its own will as  is the case with plain IP forwarding.

Because the bandwidth and other attributes of the links have to be known by the head end LSR of the LSPs, the routing protocol used between MPLS TE endpoints (head end and tail end LSRs) has to be a link state routing protocol. With a link state  routing protocol, each router builds a state of its own links, which is then flooded to all the other routers in the same area. This  means that all routers in the area have all topology information of that area. The head end LSR can thus figure out how to lay out the MPLS traffic-engineered LSP. This allows for source-based routing. This LSP is called an MPLS TE tunnel.

TE tunnel is unidirectional, because an LSP is unidirectional, and it has the TE tunnel configuration only on the head end LSR and not  on the tail end LSR of the LSP. Furthermore, a TE tunnel must be signaled.

You can create MPLS TE tunnels between each pair of edge LSRs in your network.

A good example is MPLS VPN, where you can create one TE tunnel from every PE router to every other PE router.

Enable MPLS TE everywhere in the network but not have TE tunnels until they are needed. You can create the TE tunnels on  demand.

  • TE information distribution (by the MPLS TE-enabled link-state routing protocol)
  • An algorithm (path calculation [PCALC]) to calculate the best path from the head end LSR to the tail end LSR
  • A signaling protocol (Resource Reservation Protocol [RSVP]) to signal the TE tunnel across the network

When you configure a TE tunnel on an LSR, it becomes the head end LSR of that TE tunnel or TE LSP. You then specify the destination LSR of the TE tunnel and the constraints it must adhere to. For example, you can specify the bandwidth requirement of the tunnel.

PCALC or CSPF is a shortest path first (SPF) algorithm modified for MPLS TE, so that constraints can be taken into account.

PCALC matches the bandwidth requirement and attributes of the TE tunnel with the ones on the links, and from all possible paths, it  takes the shortest one. The calculation is done on the head end LSR.

Extensions were made to RSVP to allow it to carry the MPLS label information and other TE specifics, such as the Explicit Route and  Record Route objects. In essence, RSVP tries to signal the TE tunnel along the path—from head end LSR to tail end LSR—which is the  result from the calculation based on the TE database on the head end LSR. RSVP needs to signal it to get the label information set up  at each LSR. The RSVP PATH message is sent from head end LSR to tail end LSR and carries a request for an MPLS label.

RSVP also verifies that the TE tunnel with the constraints can be set up at each node.

The Explicit Route object (ERO) details the hops that the RSVP PATH message must follow to signal the TE tunnel. The series of hops or path is the result of the path calculation on the head end router. At each hop, this PATH message temporarily reserves the  bandwidth and requests a label. Eventually, the PATH message gets to the tail end of the LSP, which returns a RESV message to the  head end of the LSP. This RESV message then returns a label that the MPLS data plane can use to forward the packets of this MPLS TE tunnel along the LSP. The RESV message also tells the intermediate LSR to reserve the resources for the links that the TE  LSP uses.

A distance vector routing protocol cannot perform this task (TE). It is designed only to forward the best route

The head end of the TE tunnel must have all topology information to see all the possible paths, but it must also have all the  constraints information of the links available to it. This constraint information is the collection of resource information of the links  that are associated with TE.

  • TE metric
  • Maximum bandwidth
  • Maximum reservable bandwidth
  • Unreserved bandwidth
  • Administrative group

The maximum reservable bandwidth is obviously the bandwidth available to TE on the link.

You set this by using the ip rsvp bandwidth.

The administrative group is a 32-bit field with no further syntax. The operator of the network can individually set each bit of this 32- bit field and can have a meaning chosen by him.

One link can have multiple resources associated with it, with a maximum of 32.

The flooding of these IGP changes is backward compatible.

Opaque LSA type 9 has a flooding scope that is link-local only; opaque type 10 has a flooding scope that is area wide, and opaque type 11 has a flooding scope that is autonomous system wide.

Like type 5 LSAs, the type 11 LSAs are flooded into transit areas but not into stub areas. MPLS TE uses type 10 LSAs for intra-area  MPLS TE.

The TE LSA is an opaque LSA type 10 that carries one or more Type Length Values (TLV). A TLV enables OSPF to carry data in a flexible  way. These TLVs carry the specific MPLS TE data

Link type indicates whether the link is a point-to-point link or a multiaccess link Link ID is set to the router ID of the neighbor or the interface address of the designated router if the link is multiaccess.

You need to enable MPLS TE globally on the router with the command mpls trafficeng tunnels.Every link that you want to be enabled with TE and thus be able to carry TE tunnels must have the interface command mpls traffic-eng tunnels.

Share this!

Author: Mo Moghaddas


Leave a Reply

