Configuring TE Tunnels to Carry MPLS VPN Traffic
MPLS VPN traffic can be carried over MPLS traffic engineering (TE) tunnels.
Two different configurations are discussed in this section:
Transport of MPLS VPN traffic over TE tunnels between PE routers
Transport of MPLS VPN traffic over TE tunnels between P routers
Figure 6-28 shows both of these configurations.
Figure 6-28. Transport of MPLS VPN Traffic over PE-PE and P-P Routers
Configuring TE Tunnels Between PE Routers
In this configuration, PE routers are configured as TE tunnel head-end and tail-end routers. P routers are configured as TE midpoint routers.
Configuring the Head-End Router
The configuration of the head-end (PE) router consists of the following steps, which are examined in detail in the sections that follow:
Step 1 |
Globally enable MPLS TE. |
Step 2 |
Configure interface parameters. |
Step 3 |
Configure the backbone IGP for MPLS TE. |
Step 4 |
Configure the MPLS TE tunnel. |
Step 1: Globally Enable MPLS TE
The first step in the configuration of the head-end router is to globally enable MPLS TE.
Example 6-29 shows how to enable MPLS TE on the head-end router.
Example 6-29 Enabling MPLS TE on the Head-end Router
mpls traffic-eng tunnels
The mpls traffic-eng tunnels command globally enables MPLS TE on the router.
Step 2: Configure Interface Parameters
The next step is to enable MPLS TE and RSVP on core interfaces.
Example 6-30 shows the configuration of MPLS TE on core interfaces.
Example 6-30 Configuration of MPLS TE on Core Interfaces
interface Serial4/0 mpls traffic-eng tunnels ip rsvp bandwidth 1024
The command mpls traffic-eng tunnels enables MPLS TE on core interfaces.
The ip rsvp bandwidth interface_bandwidth command configures the maximum reservable bandwidth on the interface. In this case, 1024 kbps is configured as the amount of bandwidth reservable on the interface.
Step 3: Configure the Backbone IGP for MPLS TE
The backbone IGP must be configured to support MPLS TE. The only two IGPs that currently support MPLS TE are IS-IS and OSPF.
Example 6-31 shows the configuration of IS-IS to support MPLS TE.
Example 6-31 Configuration of IS-IS to Support MPLS TE
router isis metric-style wide mpls traffic-eng router-id Loopback0 mpls traffic-eng level-2
The router isis command begins IS-IS configuration on the router.
The command metric-style wide configures IS-IS to send and receive 24- and 32-bit metrics. Support for wide metrics is essential for MPLS TE.
The next command, mpls traffic-eng router-id interface, configures a router ID to be used with TE.
The final command in the configuration is mpls traffic-eng level-1 | level-2. This command enables MPLS TE within the specified IS-IS level. The appropriate IS-IS level should be specified, but note that if interarea MPLS TE is being used, both level 1 and level 2 should be specified on level 1/2 routers.
Example 6-32 shows the configuration for OSPF to support MPLS TE.
Example 6-32 Configuration of OSPF to Support MPLS TE
router ospf 10 mpls traffic-eng router-id Loopback0 mpls traffic-eng area 0
The router ospf process_id command begins OSPF configuration on the router.
Next is the mpls traffic-eng router-id interface command, which configures a router ID for MPLS TE.
Finally, the command mpls traffic-eng area area_id enables MPLS TE within the specified area. If you are using interarea MPLS TE, ensure that all areas that the tunnel will transit are specified on Area Border Routers (ABRs). On non-ABRs, configure the area in which the router is.
Step 4: Configure the MPLS TE Tunnel
The next step in the configuration of the head-end router is the configuration of the TE tunnel itself.
Example 6-33 shows the configuration of the MPLS TE tunnel.
Example 6-33 Configuration of the MPLS TE Tunnel
interface Tunnel10 ip unnumbered Loopback0 tunnel destination 10.1.1.4 tunnel mode mpls traffic-eng tunnel mpls traffic-eng autoroute announce tunnel mpls traffic-eng bandwidth 256 tunnel mpls traffic-eng path-option 10 dynamic
In Example 6-33, tunnel interface 10 is configured for MPLS TE.
The command ip unnumbered interface is configured. MPLS tunnels must be configured with an IP address, and though it is not mandatory, ip unnumbered is recommended. Do not forget this command when configuring the TE tunnel. If an IP address is not configured on the tunnel interface, no traffic will be forwarded over it.
The next command, tunnel destination ip_address, configures the TE tunnel destination. This is the MPLS router ID of the tail-end router.
The command tunnel mode mpls traffic-eng command enables the tunnel interface for MPLS TE.
Following the tunnel mode mpls traffic-eng command is tunnel mpls traffic-eng autoroute announce. This command allows the IGP to use the tunnel in SPF calculations, which, in turn, allows VPN traffic to be forwarded over the tunnel. Note that tunnel mpls traffic-eng autoroute announce is not supported for interarea tunnels.
Another method of forwarding VPN traffic over TE tunnels is to use static routes. Make sure that you configure either autoroute or static routes to direct traffic into the TE tunnel. If you do not do this, the TE tunnel will not carry VPN traffic.
Next is the tunnel mpls traffic-eng bandwidth bandwidth command. This command is optional and specifies an amount of bandwidth to be reserved for the TE tunnel along its path.
The final command is tunnel mpls traffic-eng path-option number dynamic. This command configures the tunnel to take a dynamically calculated route across the network to the tail-end router. Note that this command is not supported for interarea tunnels.
Another option is to use an explicit path. When using explicit paths, the path across the backbone is specified on a hop-by-hop basis.
Example 6-34 shows the configuration of an explicit path.
Example 6-34 Configuration of an Explicit Path for an MPLS TE Tunnel
interface Tunnel10 tunnel mpls traffic-eng path-option 5 explicit name TEPATH1 ! ip explicit-path name TEPATH1 enable next-address 10.20.10.2 next-address 10.20.40.2 next-address 10.20.50.2 next-address 10.20.30.2
In Example 6-34, an explicit path called TEPATH1 is specified on a hop-by-hop basis across the backbone. These hops can be either interface addresses or TE IDs.
When specifying an explicit path for interarea tunnels, be sure to use the loose keyword for each hop that corresponds to an IS-IS level-1/level-2 router or OSPF ABR. In addition, the hop-by-hop path should include the addresses of IS-IS level-1/level-2 routers or OSPF ABRs on the way to the tail-end router.
Configuring the Midpoint and Tail-End Routers
The configuration of the midpoint and the tail-end routers is to a large extent the same as that for the head-end router.
The steps used to configure intermediate and tail-end routers are as follows:
Step 1 |
Globally enable MPLS TE. |
Step 2 |
Configure interface parameters. |
Step 3 |
Configure the IGP for MPLS TE. |
As you can see, the only difference in the configuration is that a tunnel interface is not configured. Refer to the previous section for an explanation of the configuration of these steps. Remember that TE tunnels are unidirectional, so you will need another TE tunnel configured in the opposite direction for bidirectional TE traffic forwarding.
TE Tunnels Between P Routers
The configuration of a TE tunnel to support MPLS VPN traffic between P routers is much the same as that for a tunnel between PE routers but with one key difference on the head-end router: enabling LDP (or TDP) on the tunnel interface.
Because the configuration for intermediate and tail-end routers is the same as that described in the previous section, only the configuration of the head-end router is described here.
Example 6-35 shows the configuration of the MPLS TE tunnel interface.
Example 6-35 Configuration of the MPLS TE Tunnel Interface
interface Tunnel10 ip unnumbered Loopback0 no ip directed-broadcast mpls ip tunnel destination 10.1.1.3 tunnel mode mpls traffic-eng tunnel mpls traffic-eng autoroute announce tunnel mpls traffic-eng bandwidth 256 tunnel mpls traffic-eng path-option 5 dynamic
Highlighted line 1 shows the key difference in the configuration of a MPLS TE tunnel between P routers. The command mpls ip enables LDP (or TDP) on the tunnel interface. This is crucial if VPN traffic is not to be dropped by the tail-end router.
Note that although it is not strictly required, you may also want to configure the mpls ip command on TE tunnels between PE routersit cannot hurt, and you never know when it might become essential because of a network topology change.
Refer to the previous section for an explanation of other commands configured in Example 6-35.