10-2 MPLS Traffic Engineering
Service providers can use traffic engineering on MPLS-enabled routers to route a customer's network traffic based on throughput and delay. Traffic engineering (TE) tunnels are created for label switch paths (LSP) using the RSVP. A tunnel interface represents the head of the LSP and is configured with a set of resource requirements (for example, bandwidth requirements, media requirements, and priority):
- Topology and resource information is flooded using either IS-IS or OSPF. Traffic engineering extensions are added to the routing process to enable MPLS traffic engineering.
- IS-IS routers must be configured to use the new style of IS-IS metric to support new type, length, and value objects (TLV) for traffic engineering. The new TLVs are 22 and 135 and have sub-TLVs that enable you to add properties to a link for purposes of traffic engineering.
- The Shortest Path First (SPF) algorithm used by IS-IS and OSPF chooses the tunnel interface before choosing an alternative path over main interfaces.
- Multiple tunnels might be configured to load-share traffic.
Configuration
- (Required) Allow CEF and LDP as explained in Section 10-1.
- (Required) Allow the MPLS traffic engineering feature:
(global) mpls traffic-eng tunnels
Before you can allow interfaces for traffic engineering, you must first allow traffic engineering globally. - (Required) Allow traffic engineering on interfaces:
(interface) mpls traffic-eng tunnels
When you have allowed MPLS traffic engineering globally, you can then allow it on interfaces. Configuring this command causes its resource information to be flooded into the appropriate interior gateway protocol (IGP) link-state database (either IS-IS or OSPF). This command also enables the interface to accept traffic engineering tunnel signaling requests. - (Required when using CAC with RSVP) Allow RSVP on an interface and specify the amount of bandwidth to reserve:
(interface) ip rsvp bandwidth [bandwidth]
This command enables the resource reservation protocol (RSVP) on the interface. You must enter this command if you use Call Admission Control (CAC) with RSVP. If you do not specify a bandwidth value, a default bandwidth value of 75 percent will be used. - Configure OSPF for MPLS traffic engineering.
- (Required) Allow traffic engineering for each area:
(router) mpls traffic-eng area area-number
- (Required) Set the traffic engineering router identifier:
(router) mpls traffic-eng router-id interface
Unlike OSPF and MPLS router IDs, MPLS traffic engineering will not automatically set a router ID. The router ID will be the IP address on the interface you enter in this command. It is recommended that you use a loopback interface and that it match that of the interface used for the OSPF process router ID. The router ID is flooded to other routers and is used as the tunnel destination IP address.
- (Required) Allow traffic engineering for each area:
- Configure IS-IS for MPLS traffic engineering.
- (Required) Allow traffic engineering:
(router) mpls traffic-eng {level-1 | level-2}
You can choose to flood traffic engineering into IS-IS level-1 or level-2. - (Required) Set the traffic engineering router identifier:
(router) mpls traffic-eng router-id interface
- (Required) Configure the router to generate and accept new-style TLVs:
(router)metric-style wide
The original metric used by IS-IS does not support traffic engineering. You must enter this command to support the new type, length, value objects (TLV), and sub-TLVs used for traffic engineering.
- (Required) Allow traffic engineering:
- Create a tunnel interface:
(global) interface tunnel number
This command creates a new tunnel interface. - Assign an IP address to the tunnel interface:
(interface) ip unnumbered interface
Tunnel interfaces should be unnumbered because the tunnel interface represents a unidirectional link. It is recommended that you use a loopback interface for the interface value. - Set the tunnel destination IP address:
(interface) tunnel destination ip-address
The tunnel destination IP address should be set to the far-end router's IP address that was configured with the mpls traffic-eng router-id command under the IS-IS or OSPF router process. - Set the tunnel type to MPLS traffic engineering:
(interface) tunnel mode mpls traffic-eng
There are many types of tunnel interfaces (for example, GRE, 6to4, and so on), so you must manually set the interface type. - Configure the bandwidth for the tunnel:
(interface) tunnel mpls traffic-eng bandwidth bandwidth
The range of valid bandwidth values is 1–4294967295. - Configure a dynamic or explicit path option:
(interface) tunnel mpls traffic-eng path-option number { dynamic | explicit {name path-name | identifier path-number}}
You can configure the tunnel to be dynamic, meaning the router will rely on the IS-IS or OSPF routing information to determine the best path for the tunnel. You can also manually define the path using the explicit option. If you choose to explicitly map out the tunnel path, you need to enter either a name or identifier to reference the configured path. The steps for configuring an explicit path follow:- Configure the explicit path (if applicable).
-
Enter IP explicit path configuration mode:
(global) ip explicit-path {name path-name | identifier path-number}
The path-name or path-number should match what you configured with the tunnel mpls traffic-eng path-option command earlier.
- Enter the IP addresses for each hop:
(explicit-path-configuration) next-address [loose | strict] ip-address
-
- Configure the explicit path (if applicable).
- Allow the IGP (that is, IS-IS or OSPF) to use the tunnel when performing its SPF route calculation:
(interface) tunnel mpls traffic-eng autoroute announce
The only way to forward traffic onto a tunnel is to allow this feature or to configure a static route to the interface. - (Optional) Manually configure the metric used by the SPF calculation:
(interface) tunnel mpls traffic-eng autoroute metric absolute metric
You can allow the IGP to automatically assign the metric for the tunnel or manually configure the metric value using this command.
Example
Figure 10-2 is used for this example. RouterA is configured for MPLS traffic engineering. An explicit tunnel is configured with a backup dynamic tunnel. The tunnel is configured with a metric of 10 and announced to IS-IS so that IS-IS will consider the tunnel when it performs its SPF calculation.
Figure 10-2 MPLS Traffic Engineering Example
hostname RouterA ! ip cef mpls ip mpls ldp router-id 1.1.1.1 mpls traffic-eng tunnels ! interface fastethernet0/0 ip address 10.1.1.5 255.255.255.252 mpls ip ip router isis mpls traffic-eng tunnels ip rsvp bandwidth 512 ! interface loopback 0 ip address 1.1.1.1 255.255.255.255 ip router isis ! router isis net 49.0001.0000.0000.0001.00 is-type level-1 metric-style wide mpls traffic-eng router-id loopback 0 mpls traffic-eng level-1 ! interface tunnel 0 ip unnumbered loopback 0 tunnel destination 4.4.4.4 tunnel mpls traffic-eng bandwidth 512 tunnel mode mpls traffic-eng tunnel mpls traffic-eng autoroute announce tunnel mpls traffic-eng autoroute metric absolute 10 tunnel mpls traffic-eng path-option 1 explicit name TUNNEL tunnel mpls traffic-eng path-option 2 dynamic ! ip explicit-path name TUNNEL next-address 2.2.2.2 next-address 4.4.4.4