Constraint-Based Routing and Operation in MPLS TE
The most important requirement of TE is that the characteristics, as well as resource availability, on links on the network (in addition to bandwidth that would be used for cost computations) be propagated across the network to allow efficient choice of possible TE LSP paths. In link-state routing protocols, the preferred path still predominantly takes into consideration the bandwidth on the link between any two routers to compute the cost or metric associated with that path, prior to preferred path allocation. Enabling the use of link-state routing protocols to efficiently propagate information pertaining to resource availability in their routing updates is performed by additional extensions to the actual operation of the link-state routing protocol. The mechanics of operation of a link-state routing protocol involves the flooding of updates in the network upon link-state or metric change or, in better terms, bandwidth availability from a TE perspective. The resource attributes are flooded by the routers in the network to make them available by the headend router in the TE tunnel during LSP path computation (dynamic tunnels). Link-state announcements carry information that lists that router's neighbors, attached networks, network resource information, and other relevant information pertaining to the actual resource availability that might be later required to perform a constraint-based SPF calculation. OSPF and IS-IS have been provided with extensions to enable their use in an MPLS TE environment to propagate information pertaining to resource availability and in dynamic LSP path selection.
Maximum Versus Available Bandwidth
Available bandwidth (AB) is a key value taken into consideration during the LSP path computation process to identify the preferred path for the TE tunnel. The available bandwidths on interfaces are configured on a priority basis. The number of priorities that can be configured in conjunction with the available bandwidth is 8: 0–7, where 0 represents the highest priority. When the available bandwidth for a certain priority level on an interface is configured, it is subtracted from the available bandwidth on all priority levels below the one it is configured on.
If Router PE1-AS1 has a serial interface (T1-1.544 Mbps), 1 Ethernet interface (10 Mbps) and one Fast Ethernet interface (100 Mbps), the actual bandwidths on the interfaces map to the maximum bandwidth (MB) values on the respective links. The available bandwidth is usually the bandwidth of the required reservation subtracted from the maximum bandwidth. However, this does not hold true if the available bandwidth value on the link is configured to be higher than the maximum bandwidth value on the link. Though the available bandwidth on the link can be configured to be higher than the max-bandwidth value, reservations exceeding the maximum bandwidth value are rejected.
When Router PE1-AS1 initially propagates information on the maximum bandwidth and the available bandwidth on all its links, the values for the available bandwidth at each priority level (P) for each link would be equal to their maximum bandwidth values (1.544 Mbps for serial, 10 Mbps for Ethernet, and 100 Mbps for Fast Ethernet).
When a tunnel request is accepted and the bandwidth deducted from the available bandwidth at a certain priority, it is also deducted from all the priorities lower than the priority at which the resource request was performed. If an LSP tunnel creation on PE1-AS1 consumes 40 Mbps of bandwidth on the Fast Ethernet interface at a priority level of 5, the available bandwidth values at the appropriate priorities on the Fast Ethernet interface would change for priorities 5 and above (100 – 40 = 60 Mbps).
Let us now consider the following sequence of requests:
- Request for 10 Mbps of bandwidth on Ethernet interface at priority 1
- Request for 20 Mbps of bandwidth on Fast Ethernet interface at priority 0
- Request for 1 Mbps of bandwidth on serial interface at priority 0
- Request for 2 Mbps of bandwidth on Ethernet interface at priority 3
This sequence will reduce the AB values, as depicted in Table 9-3.
Table 9-3. PE1-AS1: Maximum Bandwidth and Available Bandwidth—All Interfaces
The outputs of Table 9-3 do not reflect the request for 2 Mbps of bandwidth on the Ethernet interface at priority 3. This request is rejected due to unavailable bandwidth at this priority level on the interface when the request is received. Link-state updates pertaining to resource availability are flooded when the status of the link changes, during manual reconfiguration of parameters mapping to the resource availability on the link, periodic updates on links and their status, and when the LSP path setup fails due to unavailability of requested resources for the LSP TE tunnel.
If the resources pertaining to the link change constantly, it will trigger update generation, which clearly must be avoided. During the instant when the resources pertaining to the links change constantly, the headend router might view the link as a probable link in the LSP path. Therefore, this probable nonupdated link might be used in path computation even though the link might not have the resources required for LSP path setup. However, after LSP path computation when the LSP path establishment is attempted, the router containing the link with the unavailable resources generates an update with information affirming a lack of resources.
Thresholds can be set up on a per interface or link basis on a router whereby updates are generated within a configured range of resource availabilities. Therefore, the upper limit, as well as the lower limit, when an update will be generated on the router containing the link, can be configured. For example, if the lower limit was configured to be 50% of link bandwidth with steps at 60, 70, 80, and 90 with the upper limit configured at 100%, updates with regards to link resource availability are generated and flooded in the network when 50%, 60%, 70%, 80%, 90%, and 100% of bandwidth are achieved.
In the normal SPF calculation process, a router places itself at the head of the tree with shortest paths calculated to each of the destinations, only taking into account the least metric or cost route to the destination.
During regular SPF operation in the network, illustrated in Figure 9-7, only the cost is taken into consideration, and the least cost path from a loopback on PE1-AS1 to a loopback on PE2-AS1 is PE1-AS1->P1-AS1->PE2-AS1. In this calculation, a key concept to note is no consideration to the bandwidth of the links on the other paths from PE1-AS1 to PE2-AS1, namely via routers P3-AS1->P4-AS1 and P2-AS1. The bandwidth of the links is shown as an ordered pair in Figure 9-7 with the first value showing the cost of the link and the second showing the bandwidth across the link.
Figure 9-7 SPF
If the parameters chosen for the preferred path are not the least cost alone but also a requirement to support a bandwidth of 50 Mbps in Figure 9-7, we can eliminate the links that do not allow for the mentioned requirement. The network capable of supporting the requirement would look like what's shown in Figure 9-8.
Figure 9-8 CSPF
With the just mentioned constraints, the only path capable of being used as an LSP for TE is the path from PE1-AS1 to PE2-AS1 via P3-AS1 and P4-AS1. If any of the links between P1-AS1, P2-AS1, and PE2-AS1 were to support a bandwidth more than the requirement, they would become a part of the CSPF tree structure with Router PE1-AS1 or the headend router as the root of the tree.
With CSPF, we use more than the link cost to identify the probable paths that can be used for TE LSP paths. The decision as to which path is chosen to set up a TE LSP path is performed at the headend router after ruling out all links that do not meet a certain criteria, such as bandwidth requirements in addition to the cost of the link. The result of the CSPF calculation at the headend router is an ordered set of IP addresses that maps to the next-hop addresses of routers that form the TE LSP. Therefore, multiple TE LSPs could be used by the use of CSPF to identify probable links in the network that meet the criteria. In addition, the user can configure a static TE tunnel or LSP on the headend router that outlines the next hops in the TE LSP path and, therefore, can use the statically defined LSP as the backup LSP path in the event of the primary TE LSP failing.
The result of the CSPF calculation is then passed over to the RSVP process to begin the RSVP request and reservation process, as mentioned in the earlier section. RSVP thus is used along with the result computed by CSPF or list of next hops configured by the user for LSP signaling and final establishment of the TE LSP. Note the TE LSP formed as a result of this process is unidirectional in nature.
Constraint-based SPF can use either administrative weights or IGP metric (also called TE metric) during the constraint-based computation. In the event of a tie, the path with the highest minimum bandwidth takes precedence, followed by the least number of hops along the path. If all else is equal, CSPF picks a path at random and chooses the same to be the TE LSP path of preference.
Therefore, the sequence of steps in the creation of an MPLS TE tunnel LSP in the network is as follows:
- CSPF calculation is performed from the headend router based on the constraints defined in the tunnel definition and requirements. This calculation is performed by the IGP in use, either OSPF or IS-IS.
- After the LSP path is calculated using the CSPF process, the output of the CSPF process, which is an ordered set of IP addresses mapping to next-hop addresses in the TE LSP, is passed to RSVP.
- RSVP now performs the resource reservation request and confirmation on the LSP, as defined by the CSPF process, to determine if the LSP meets the requirements of the specific resources requested by the tunnel definition.
- After the RSVP process receives a reservation message, it signals that the LSP is now established.
- At this juncture, the TE tunnel is available for the IGP to use. By default, the tunnel information is not added into the routing table; however, the router can be configured so that the tunnel interface is added to the routing table. You will be introduced to the configurations involved for TE on Cisco routers in the next section.
Link admission control performs a check at each hop in the desired LSP path to see if the resources requested are available prior to TE tunnel creation. The link admission control function is performed on a per hop basis with each router in the LSP path checking resource availability. If the requested resources are available, bandwidth is reserved and the router waits for the RESERVATION message to confirm this resource allocation. If, however, the resources requested are unavailable, the IGP in use sends messages stating resource unavailability. Link admission control then informs RSVP about lack of resources, and RSVP sends PATHERR messages to the headend requesting the resources and notifying a lack of resources.
When setting up TE LSP paths in link admission control, it is important that the priorities assigned to the available bandwidths are checked. Therefore, if the requested bandwidth is in use by a lower priority session (priorities 0–7, with 0 having highest priority), the lower priority session can be preempted. If preemption is supported, each preempted reservation leads to creation of PATHERR and RESVERR messages because the preempted session no longer fits the profile of the resource allocation.
OSPF Extension for MPLS TE
OSPF can be used as the link-state protocol of choice in MPLS TE for resource allocation information flooding through the network by implementing OSPF extensions or Opaque LSAs. The type of Opaque LSA in use is defined by the flooding scope of the LSA. OSPF also now possesses TLV and sub-TLV attributes that can be configured to propagate resource availability information in link-state routing updates.
Opaque LSAs are of Type 9, 10, and 11 and differ in the flooding scope. Type 9 LSAs are not flooded beyond the local subnet and are of link-local scope. Type 10 LSAs are not flooded beyond the ABR and have an area-local scope. Type 11 LSAs are flooded throughout the autonomous system (AS). Cisco currently supports only Type 10 LSAs that have area-local scopes and are flooded within the area.
The Type 10 LSA, which is used in MPLS TE, has a number of TLV and sub-TLV values that map to specific resources in a TE domain. Figure 9-9 depicts the TLV and sub-TLV values and the appropriate values that they map to enable OSPF use for MPLS TE.
Figure 9-9 OSPF TLV/Sub-TLV TE Extensions
The most important sub-TLV values pertaining to TE are 6, 7, and 8. Values for sub-TLVs 6 and 7 are received from the RSVP configuration on the specific interface. Sub-TLV 8 defines the bandwidth available for reservation on each of the eight priorities. The value for sub-TLV 8 is received from the reservations active on the specific interface.
IS-IS Extensions for MPLS TE
Similar to OSPF, IS-IS can also be used as the link-state protocol of choice in the TE domain. IS-IS with extensions and newly defined TLVs can be used to propagate information pertaining to resource allocation in an MPLS TE domain. The following TLVs have been defined for the use of IS-IS as the link-state IGP in a MPLS TE domain:
- TLV22: Extended IS reachability— This TLV propagates information about the state of links in the network and allows the use of "wide" metrics. In addition, this TLV provides information on resource availability, like link bandwidths.
- TLV134: Router ID— This TLV is used to identify the router with a distinct IP address, usually a loopback address. The source and destination IP addresses used to identify and define the tunnel endpoints must match the router ID.
- TLV135: Extended IP reachability— This TLV uses "wide" metrics and determines if a prefix is a level-1 or level-2 prefix. It also allows the flagging of routes when a prefix is leaked from level 2 into level 1.
In addition to the just mentioned TLVs, sub-TLVs have been defined that affix information pertaining to TE resource allocations to updates. Each sub-TLV consists of three octets except those explicitly mentioned in Figure 9-10. Most of the sub-TLVs are defined in draft-ietf-isis-traffic-xx.txt. Figure 9-10 depicts the TLVs and sub-TLVs in use by IS-IS to support MPLS TE functionality.
Figure 9-10 IS-IS TLV/Sub-TLVs for MPLS TE
The key TLVs to note are Sub-TLV 6 and 8, which map to the tunnel endpoints or source and destination IP addresses that are usually loopback addresses; Sub-TLV 9 and 10, which map to the RSVP settings on a specific interface; and Sub-TLV 11, which maps to the unreserved bandwidth per priority on an interface after current resource allocations for active sessions have been established.