Imported: 17 Feb '17 | Published: 23 Sep '14
USPTO - Utility Patents
In a multi-protocol label system (MPLS) carrying data, a working path carries data from a starting point or node to a destination point or node via a working path. The working path includes the switches and physical media linking starting point and the destination point. MPLS system reliability is enhanced by way of a protection path, over which data can be carried from the starting point to the destination point upon a detected failure along the working path. Upstream messages inform one or more MPLS switching systems to make a switchover from a working path to a protection path.
This application is a continuation of U.S. application Ser. No. 09/696,051, filed Oct. 25, 2000, now U.S. Pat. No. 7,804,767, which claims the benefit of U.S. Provisional Application Nos. 60/161,277, filed Oct. 25, 1999, and 60/187,798, filed Mar. 8, 2000. The entire teachings of the above applications are incorporated herein by reference.
Network routing deployed in the Internet today is focused primarily on connectivity, and typically supports only one class of service, the best effort class.
Multi-protocol label switching, on the other hand, by integrating a label-swapping framework with network layer routing allows flexibility in the delivery of new routing services, since it allows new services to be added without changing the basic forwarding mechanism. This enables more sophisticated features such as quality-of-service (QoS) and traffic engineering to be implemented. An important component of providing QoS, however, is the ability to do so reliably and efficiently. Although the current routing algorithms are very robust and survivable, the amount of time they take to recover from a failure can be significant, on the order of several seconds or minutes, causing serious disruption of service in the interim. This is unacceptable to many organizations that aim to provide a highly reliable service, and thus require recovery times on the order of tens of milliseconds.
Since MPLS binds packets to a route (or path) via the labels, and is likely to be the technology of choice in the future IP-based transport network, it is imperative that MPLS be able to provide protection and restoration of traffic. In fact, a protection priority could be used as a differentiating mechanism for premium services that require high reliability. The remainder of this document discusses the protection requirements for MPLS transport, provides a framework for it, and presents the details of a path-based protection mechanism.
Protection of traffic at the MPLS layer (called MPLS protection) is useful for a number of reasons. The most important is its ability to increase network reliability by enabling a faster response to failures than is possible with Layer 3 (or the IP layer) alone. Furthermore, a protection mechanism at the MPLS layer could enable IP traffic to be put directly over WDM optical channels, without an intervening SONET layer, which would facilitate the construction of IP-over-WDM networks. More importantly, protection at the MPLS layer gives the provider the flexibility to choose the granularity at which traffic is protected, and to also choose the specific types of traffic that are protected.
This document assumes the terminology given in, and, in addition, introduces the following new terms.
Failure Indication Signal
A signal that indicates that a failure has been detected at a peer LSR. It consists of a sequence of failure indication packets transmitted by a downstream LSR to an upstream LSR, at time intervals of T2 units, for a maximum of T3 time units. It is relayed by each intermediate LSR to its upstream neighbor, until it reaches an LSR that is setup to perform a protection switch.
Failure Recovery Signal
A signal that indicates that a failure along the path of an LSP has been repaired. It consists of a sequence of recovery indication packets that are transmitted by a downstream LSR to its upstream LSR, at intervals of T2′ units, for a maximum of T3′ units. Again, like the failure indication signal, it is relayed by each intermediate LSR to its upstream neighbor, until is reaches the LSR that performed the original protection switch.
A message exchanged periodically between two adjacent LSRs that serves as a link probing mechanism. It provides an integrity check of the forward and the backward directions of the link between the two LSRs as well as a check of neighbor aliveness.
A link failure is defined as the failure of the link probing mechanism, and is indicative of the failure of either the underlying physical link between adjacent LSRs or a neighbor LSR itself (In case of a bidirectional link implemented as two unidirectional links, it could mean that either one or both unidirectional links are damaged.)
Loss of Signal
A lower layer impairment that occurs when a signal is not detected at an interface. This may be communicated to the MPLS layer by the lower layer.
Loss of Packet
An MPLS layer impairment that is local to the LSR and consists of excessive discarding of packets at an interface, either due to label mismatch or due to TTL errors.
Working or Active LSP
A LSP established to carry traffic from a source LSR to a destination LSR under normal conditions, that is, in the absence of failures. In other words, a working LSP is an LSP that contains streams that require protection.
Working or Active Path
The portion of a working LSP that requires protection. (A working path can be a segment of an LSP (or a segment of a PMTG) or a complete LSP (or PMTG).) The working path is denoted by the sequence of LSRs that it traverses.
Protection Switch LSR
A LSR that is the origin of both the working path and its corresponding protection path. Upon learning of a failure, either via the FIS or via its own detection mechanism, the protection switch LSR switches protected traffic from the working path to the corresponding backup path.
Protection Merge LSR
A LSR that terminates both a working path and its corresponding protection path, and either merges their traffic into a single outgoing LSP, or, if it is itself the destination, passes the traffic on to the higher layer protocols.
A LSR on the working or protection path that is neither a PSL nor a PML.
MPLS Traffic Group
A logical bundling of multiple, working LSPs, each of which is routed identically between a PSL and a PML. Thus, each LSP in a traffic group shares the same redundant routing between the PSL and the PML.
Protected MPLS Traffic Group
An MPLS traffic group that requires protection.
Protected MPLS Traffic Portion
The portion of the traffic on an individual LSP that requires protection. A single LSP may carry different classes of traffic, with different protection requirements. The protected portion of this traffic may be identified by its class, as for example, via the EXP bits in the MPLS shim header or via the priority bit in the ATM header.
Protection or Backup LSP (or Protection or Backup Path)
A LSP established to carry the traffic of a working path (or paths) following a failure on the working path (or on one of the working paths, if more than one) and a subsequent protection switch by the PSL. A protection LSP may protect either a segment of a working LSP (or a segment of a PMTG) or an entire working LSP (or PMTG). A protection path is denoted by the sequence of LSRs that it traverses.
A switching option in which streams are automatically switched back from the protection path to the working path upon the restoration of the working path to a fault-free condition.
A switching option in which streams are not automatically switched back from a protection path to its corresponding working path upon the restoration of the working path to a fault-free condition.
Reverse Notification Tree
A point-to-multipoint tree that is rooted at a PML and follows the exact reverse path of the multipoint-to-point tree formed by merging of working paths (due to label merging). The reverse notification tree allows the FIS to travel along its branches towards the PSLs, which perform the protection switch.
MPLS Protection Domain
The set of LSRs over which a working path and its corresponding protection path are routed. The protection domain is denoted as: (working path, protection path).
FIS: Failure Indication Signal.
FRS: Failure Recovery Signal.
LF: Link Failure.
LOP: Loss of Packets
LOS: Loss of Signal.
MTG: MPLS Traffic Group.
PMTG: Protected MPLS Traffic Group.
PMTP: Protected MPLS Traffic Portion.
RNT: Reverse Notification Tree.
The need for MPLS layer protection and for open standards in protection arises because of the following:
MPLS protection switching refers to the MPLS layer's ability to effect quick and complete restoration of traffic during any changes in the status of the MPLS layer. Fast MPLS layer protection may be viewed as the MPLS LSR switch completion time that is comparable to, or equivalent to, the 60 ms switch completion time of the SONET layer. This section provides a discussion of the concepts and principles of protection switching for MPLS protection. We do not make any assumptions about the underlying layer 1 or layer 2 transport mechanisms or their protection mechanism.
We lay down the following objectives for MPLS protection switching.
MPLS protection switching should be designed into the existing protocol to give as much flexibility as possible to the network operator. In fact, the operator should have some alternatives to choose from when deciding what type of protection to implement per MPLS LSP. The most logical way to achieve this would be to use alternatives that are realizable by using the mechanisms currently defined in MPLS. The next few sections outline some of these alternatives.
Configuration refers how the protection entities are setup to restore working traffic upon failure. Two possibilities exist.
These protection mechanisms dynamically create protection entities for restoring traffic, based upon failure information, bandwidth allocation and optimized reroute assignment. Thus, upon detecting failure, the LSPs crossing a failed link or LSR are broken at the point of failure and reestablished using signaling (starting either at the source or at the point of failure; see Section 3.3). These methods may increase resource utilization because capacity or bandwidth is not reserved beforehand and because it is available for use by other (possibly lower priority) traffic, when this capacity is not required by the protection path. They may, however, require longer restoration times, since it is difficult to instantaneously switch over to a protection entity, following the detection of a failure. Dynamic protection is for further study, and included here as a placeholder for future enhancements to the protection mechanisms.
These are dedicated protection mechanisms, where for each working path there exists a pre-established protection path, which is node and link disjoint with the primary/working path, but may merge with other working paths that are disjoint with the primary. The resources (bandwidth, buffers, processing) on the backup entity may be either pre-determined and reserved beforehand (and unused), or may be allocated dynamically by displacing lower priority traffic that was allowed to use them in the absence of a failure on the working path.
Protection activation refers to how the repairs are affected upon the occurrence of a failure on the working path. There are two ways in which this might be done.
Global, End-To-End or Centralized Repair
In end-to-end repair, upon detection of a failure on the primary path, an alternate or backup path is re-established starting at the source. Thus, protection is always activated on an end-to-end basis, irrespective of where along a working path a failure occurs. This method might be slower than the local repair method discussed below, since the failure information has to propagate all the way back to the source before a protection switch is accomplished. It has the advantage, however, of needing only a single PSL per LSP, and, in the case of pre-negotiated protection, requiring the configuration of only a single backup path for each working path, and the reservation of resources along only that path.
Local or Distributed Repair
In local repair, upon detecting a failure on the primary path, an alternate path is re-established starting from the point of failure. Thus protection is activated by each LSR along the path in a distributed fashion on an as-needed basis. While this method has an advantage in terms of the time taken to react to a fault, it introduces the complication that every LSR along a working path may now have to function as a PSL. Furthermore, if pre-negotiated protection is used, this may require the configuration of multiple backup segments, one from each LSR along the path to the PML. If resources along each backup segment are reserved a priori and are kept unused, this could result in considerable inefficiency. One trade-off, therefore, is between speed of reaction to a failure and efficient use of resources. Local repair is for further study, and is not discussed further in this document.
Span refers to the extent of the path or entity that requires protection. The protection path could, in general, span any segment of a working path.
One extreme is link protection, where the intent is to protect against a single link failure. For example, the protection path may be configured to route around certain links deemed to be potentially risky. If static configuration is used, several protection paths may be preconfigured, depending on the specific link failure that each protects against. Alternatively, if dynamic configuration is used, upon the occurrence of a failure on the working path, the protection path is rebuilt such that it detours around the failed link. Link protection is for further study, and is not considered further at this time.
The other extreme is path protection, where the intention is to protect against any link or node failure on the entire working path. This has the advantage of protecting against multiple simultaneous failures on the working path, and possibly being more bandwidth efficient than link protection.
Protection modes refer to whether or not the traffic is switched back from the protection path to the working path, once the working path is repaired or restored. The two modes of operation here are:
In the revertive mode of operation, the traffic is automatically restored to the working path once repairs have been affected, and the PSL(s) are informed that the working path is up. This is useful, since once traffic is switched to the protection path it is, in general, unprotected. Thus, revertive switching ensures that the traffic remains unprotected only for the shortest amount of time. This could have the disadvantage, however, of producing oscillation of traffic in the network, by altering link loads.
In the non-revertive mode of operation, traffic once switched to the protection path is not automatically restored to the working path, even if the working path is repaired. Thus, some form of administrative intervention is needed to invoke the restoration action. The advantage is that only one protection switch is needed per working path. A disadvantage is that the protection path remains unprotected until administrative action (or manual reconfiguration) is taken to either restore the traffic back to the working path or to configure a backup path for the protection path. It will be seen that using the path protection mechanism, is possible to protect the protection path.
Protection Switching Options
Protection switching options refer to the relationship between the active/working paths and backup paths, and define how the working entities are protected by the protection entities.
In 1+1 protection, the resources (bandwidth, buffers, processing capacity) on the backup path are fully reserved to carry only working traffic. In MPLS, this bandwidth may be considered “wasted.” Alternately, this bandwidth could be used to transmit an exact copy of the working traffic, with a selection between the traffic on the working and protection paths being made at the PML. Since the latter is not the usual mode of operation of MPLS LSRs, we leave 1+1 protection for further study, and focus our attention on 1:1 protection in this document.
1:1, 1:n, and n:m Protection
In 1:1 protection, the resources (bandwidth, buffers, and processing capacity) allocated on the protection path are fully available to preemptable low priority traffic when the protection path is not in use by the working traffic. In other words, in 1:1 protection, the working traffic normally travels only on the working path, and is switched to the protection path only when the working entity is unavailable. Once the protection switch is initiated, all the low priority traffic being carried on the protection path is discarded to free resources for the working traffic. This method affords a way to make efficient use of the backup path, since resources on the protection path are not locked and can be used by other traffic when the backup path is not being used to carry working traffic.
Similarly, in 1:n protection, up to n working paths are protected using only one backup path, while in m:n protection, up to n working paths are protected using up to m backup paths. Since 1:n and n:m protection are more complex than 1:1 protection, we leave them for further study at this time, and we focus on 1:1 protection in the remainder of this document.
MPLS protection is initiated after the verification of the detection of either lower layer or MPLS layer impairments. We consider three classes of impairments: LOS, LF, and LOP, which were defined in Sections 1.2 and 1.3.
LOS is a lower layer impairment that arises when a signal is not detected at an interface, for example, a SONET LOS. In this case, enough time should be provided for the lower layer to detect LOS and take corrective action. The lower layer recovery does not change the MPLS or Layer 3 routing between LSRs. If it is known that the lower layer's response time is unacceptable, the lower layer could be configured to inform the MPLS layer of the fault, so that the protection action may be initiated at the MPLS layer.
A LF is declared when the link probing mechanism fails. An example of a probing mechanism is the Liveness message that is exchanged periodically along the working path between peer LSRs. A LF is detected when a certain number K of consecutive Liveness messages are either not received from a peer LSR or are received in error. The number K of missing consecutive Liveness messages that cause the declaration of a link failure is a configurable parameter.
A LOP occurs when there is excessive discarding of packets at an LSR interface, either due to label mismatches or due to TTL errors. LOP due to label mismatch may be detected simply by counting the number of packets dropped at an interface because an incoming label did not match any label in the forwarding table. Likewise, LOP due to invalid TTL may be detected by counting the number of packets that were dropped at an interface because the TTL decrements to zero.
Note that MPLS protection is not 100% fault tolerant, since single points of failure can exist. For example, nodes 1 and 9 in FIG. 1. In the case of such failures, it is assumed that routing or administrative action will be necessary to restore the system to a fault-free state.
Protection switching relies on rapid notification of failures. Once a failure is detected, the node that detected the failure must send out a notification of the failure by transmitting a FIS to those of its upstream LSRs that were sending traffic on the working path that is affected by the failure. This notification is relayed hop-by-hop by each subsequent LSR to its upstream neighbor, until it eventually reaches a PSL. A PSL is the only LSR that can terminate the FIS, and initiate a protection switch of the working traffic to a backup path. Since the FIS is a control message, it should be transmitted with high priority to ensure that it propagates rapidly towards the affected PSL(s). Depending on how failure notification is configured in the LSRs of an MPLS domain, the FIS could be sent either as a Layer 2 or Layer 3 packet. An example of a FIS could be the Liveness message sent by a downstream LSR to its upstream neighbor, with an optional failure notification field set. Alternatively, it could be a separate failure notification packet.
An FIS sent from a downstream node to an upstream node also contains the incoming labels of all LSPs between the two nodes that had protection enabled. (Note that a downstream LSR has this information in its forwarding table, and can easily transmit it in the FIS.) This is used by the upstream LSR to identify which of its incoming links to propagate the FIS on.
Protection Switch Trigger
The activation of an MPLS protection switch following the detection of a failure requires a trigger mechanism at the PSL. MPLS protection switching may be initiated due to automatic inputs or external commands. The automatic activation of an MPLS protection switch results from a response to defect or failure conditions detected or received at the PSL. It is possible that the failure detection and trigger mechanisms may be combined, as is the case when a LF, LOP, or LOS failure is detected at a PSL and triggers a protection switch to the backup path. In most cases, however, the detection and trigger mechanisms are distinct, involving the detection of failure at some intermediate LSR followed by the propagation of a failure notification back to the PSL via the FIS, which serves as the protection switch trigger at the PSL. MPLS protection switching in response to external commands results when the operator initiates a protection switch by a command to a PSL (or alternatively by a configuration command to an intermediate LSR, which transmits the FIS towards the PSL).
Note that the LF defect applies to hard failures (fiber cuts, transmitter failures, or LSR fabric failures) as does the LOS failure, with the difference that the LOS is a lower layer impairment that may be communicated to the MPLS layer. The LOP failure, on the other hand, applies to soft failures (excessive errors due to noise on the link, for instance). The LOP results in a declaration of failure only when the percentage of lost packets exceeds a given threshold, which is provisionable and may be set based on the service level agreement(s) in effect between a service provider and a customer.
The protection switch refers to the actual switching of data from a working path to a backup path, which is caused by the protection switch trigger at a PSL. As explained above, the protection switch trigger may cause the working path to be switched to a pre-configured backup path, or may require the working path to be switched to a backup path that is setup dynamically using signaling. In the case of pre-negotiated protection that we consider in this document, the PSL will protection switch the working path to the backup path at most T4 units after the reception of a FIS or the detection of a failure.
Restoration and Notification
MPLS restoration deals with returning the working traffic from the protection path to the working path. In the revertive mode of operation, the objective is to do this as soon as possible, since the protection path to which the working traffic is switched upon a failure is unprotected, in general. As a result, from a reliability standpoint it is useful to return such traffic to the working path once the working path is restored to a fault-free condition. Once again, restoration is performed by the PSL upon receiving notification, via a FRS, that the working path is active again.
As before, an LSR that detected the failure on the working path also detects the restoration of the working path. If the working path had experienced a LF defect, the
LSR detects a return to normal operation via the receipt of a Liveness message from its peer. If the working path had experienced an LOP at an LSR interface, the LSR could detect a return to normal operation via the resumption of error-free packet reception on that interface. Alternatively, a lower layer that no longer detects a LOS defect may inform the MPLS layer at the LSR that the link to its peer LSR is operational. The LSR then transmits a FRS to its upstream LSR(s) that were transmitting traffic on the working path. This is relayed hop-by-hop until it reaches a PSL(s), at which point the PSL switches the working traffic back to the working path.
In the non-revertive mode of operation, the working traffic is not restored to the working path immediately. This is because it might be useful, in some cases, to administratively perform a protection switch back to the working path after gaining further assurances about the integrity of the path, or it may be acceptable to continue operation without the protection path being protected. In the latter case, no further action is required, while in the former case, the LSR either performs the restoration (if it is a PSL), or transmits the FRS back towards the PSL(s) (if it is an intermediate LSR or PML), and the PSL(s) performs the restoration.
We note that if there is a way to transmit failure information back along a protection path towards a PSL, it is possible for the working path and its protection path to exchange roles upon the restoration of the working path following a failure. This is because, in that case, the protection path effectively becomes the working path, and the restored working path functions as a protection path for the original protection path. This is important, since it affords the benefits of non-revertive switch operation outlined in Section 3.6, without leaving the protection path unprotected. In the next section, we outline such a path protection mechanism using the construct of a RNT.
Core MPLS Protection Switching Requirements
The following are the core MPLS protection switching requirements:
Thus, each MPLS node SHALL provide two options for enabling protection: Enabled and Not enabled, with Not enabled as the default.
The protection path that is configured as excess SHALL provide lower priority pre-emptable traffic access to the protection bandwidth, while the protection path configured as reserved SHALL not provide any other traffic access to the protection bandwidth.
Note: Protection switching times of under 50 ms are desirable.
The RNT SHOULD follow the reverse direction of the forward/working path for each PMTP or PMTG.
MPLS Path Protection
This section outlines MPLS protection assuming pre-negotiated, 1:1, path protection with end-to-end protection activation. After discussing the core MPLS path protection components in the next section, we outline the operation of the path protection mechanism, illustrating the actions that the various LSRs along a path must perform.
Core MPLS Path Protection Components
Protection Switch LSR (PSL)
The PSL is the LSR that originates both the working and protection paths, and the LSR that is the termination point of both the FIS and the FRS. Note that the PSL need not be the origin of the working LSP.
Protection Merge LSR (PML)
The PML is the LSR that terminates both the working path and its corresponding protection path. Depending on whether or not the PML is a destination, it may either pass the traffic on to the higher layers or may merge the incoming traffic on to a single outgoing LSR. Thus, the PML need not be the destination of the working LSP.
An LSR that is neither a PSL nor a PML is called an intermediate LSR. The intermediate LSR could be either on the working or the protection path, and could be a merging LSR (without being a PML).
Reverse Notification Tree (RNT)
Since the LSPS are unidirectional entities and protection requires the notification of failures, the failure indication and the failure recovery notification both need to travel along a reverse path of the working path from the point of failure back to the PSL(s). When label merging occurs, the working paths converge to form a multipoint-to-point tree, with the PSLs as the leaves and the PML as the root. The reverse notification tree is a point-multipoint tree rooted at the PML along which the FIS and the FRS travel, and which is an exact mirror image of the converged working paths (see FIG. 1). There are several advantages to choosing that the failure indication and the recovery notification travel along the exact reverse path of the working paths:
The RNT can be implemented either at Layer 3 or at Layer 2. In either case, the delay along the RNT needs to be carefully controlled. This could be ensured by giving higher priority to the failure and recovery notification packets, which travel along the RNT.
The protection domain consists of the set of LSRs over which the working path and its corresponding protection path are routed. Thus, a protection domain is bounded by the LSRs that provide the switching and merging functions for MPLS protection. These nodes are the PSL and the PML, respectively, both of which are identified during the setting up of an LSP and its corresponding working and protection paths. Protection should ideally be performed between source and destination (end-to-end), but in some cases segment protection may be desired or may be the only option (see FIG. 1). For example, in FIG. 1, the working path 9-3-4-6-7, can only have protection on the segment 9-3-4-6-7.
Note that when multiple LSPs merge into a single LSP, the working paths corresponding to these LSPs also converge. An RNT is needed in this case for propagating the failure and recovery notification back to the concerned PSL(s). We can therefore have a situation where different protection domains share a common RNT, and it is important to understand the relationship between them.
Relationship Between Protection Domains with Different RNTs
When protection domains have different RNTs, two cases may arise, depending on whether or not any portions of the two domains overlap. If the protection domains do not overlap, the protection domains are independent (note that by virtue of the RNTs in the two domains being different, neither the working paths nor the RNTs in the two domains can overlap). In other words, failures in one domain do not interact with failures in the other domain. For example, the protection domain defined by (9-3-4-6-7, 9-10-7) is completely independent of the domain defined by (13-5-15, 13-14-15). As a result, as long as failures occur in independent domains, the network shown in FIG. 1 can tolerate multiple failures (for example, a failure on the working paths in each domain).
If protection domains with different RNTs overlap, it is still the case that failures on the working paths of the two domains do not affect one another. However, failures on the protection path of one may affect the working path of the other and visa versa. For example, the protection domain defined by (1-2-3-4-6-7, 1-5-7) is not independent of the domain defined by (13-5-7, 13-14-7) since LSR 5 lies on the protection path of the former domain and on the working path of the latter domain.
We note that transferring the working traffic to the protection path is enough to take care of multiple failures on the working path. However, if multiple failures happen such that there is at least one failure on both the working and protection paths, MPLS layer protection will no longer suffice. In this case, the PSL will have to generate an alarm that either initiates Layer 3 routing changes or informs the administrator who may manually reconfigure a different working and protection path.
Relationship Between Protection Domains with the Same RNT
When protection domains have the same RNT, different failures along the working paths may affect both paths differently. As shown in FIG. 1, for example, working paths 1-2-3-4-5-7 and 9-3-4-6-7 share the same RNT. As a result, for a failure on some segment of the working path, both domains will be affected, resulting in a protection switch in both (for example, the segment 3-4-6-7 in FIG. 1). Likewise, for failures on other segments of the working path, only one domain may be affected (for example, failure on segment 2-3 affects only the first working path 1-2-3-4-6-7, where as failure on the segment 9-3 affects only the second working path 9-3-4-6-7).
Timers and Thresholds
For its proper operation MPLS path protection relies on the following timers and thresholds:
For proper operation, we require T1>>T2>T3, T1′>>T2′>T3′, and T1>T4 and T1′>T4′.
The timers T4/T4′ are provisionable parameters that may be configured by the network administrator depending on the length of the working and protection paths and the estimated delay for a packet to traverse these paths. The purpose of these timers is to minimize misordering of packets at a PML following a protection (restoration) switch from the working (backup) to the backup (working) path. This is because packets buffered on the working (backup) path may continue to arrive at the PML even as working traffic begins to arrive on the protection (working) path. Therefore, forcing the PSL to hold off the protection (or restoration) switching action, gives the buffers on the working (protection) path time to clear before data on the protection (working) path begins to arrive.
The timer T6 is used to allow the lower layer protection to take effect before initiating MPLS layer protection mechanisms (for example, an automatic protection switching between fibers that comprise a link between two LSRs). Following the detection of a failure, an LSR waits for T6 time units before issuing the first FIS packet. This allows for the lower layer protection to take effect and for the LSR to learn this through one of several ways: via an indication from a lower layer, or by the resumption of the reception of a Liveness message, or by the lack of LOP.
The threshold K helps to minimize false alarms due to the occasional loss of a Liveness message due to a temporary impairment in a link or a peer LSR. It should be set depending on the intervals T2 and T3. Indeed, if the Liveness message is also used as an FIS, we must have K*T2<T3 (likewise, K*T2′<T3′).
Path Protection Operation
In the following sections, we describe the operation of path protection mechanism, explaining the various steps involved with reference to FIG. 1.
Protection configuration consists of two aspects: establishing the protection path and creating the reverse notification tree.
Establishing a Protection Path
The establishment of the protection path requires identification of the working path, and hence the protection domain. In most cases, the working path and its corresponding protection path would be specified via administrative configuration, and would be established between the two nodes at the boundaries of the protection domain (the PSL and PML) via explicit (or source) routing using LDP, /RSVP, signaling (alternatively, using manual configuration). The signaling would be used to specify both PMTPs and working paths, where the working paths could span either an entire LSP or a segment of a LSP.
The roles of the various core protection components are:
PSL: The PSL initiates the working LSP and the protection LSP. It is also responsible for storing information about which LSPs or portions thereof have protection enabled, and for maintaining a binding between outgoing labels on the working path and those on the protection path. The latter enables the switchover to the protection path upon the receipt of a protection switch trigger. The PSL also maintains the timers T1, T1′, T4, T4′, T5, and T6, and the threshold K.
PML: The PML participates in the setting up of a protection path as a merging LSR. Therefore, it learns during signaling (or manual configuration) about which working and protection paths are merged to the same outgoing LSP. It also maintains timers T2, T2′, T3, T3′, T5, T6, and the threshold K.
Intermediate LSR: An intermediate LSR participates in the setup of the protection path either as a normal LSR or as a merging LSR. It also maintains timers T2, T2′, T3, T3′, T5, T6, and the threshold K.
Creating the RNT
The RNT is used for propagating the FIS and the FRS, and can be created very easily by a simple extension to the LSP setup process. During the establishment of the working path, the signaling message carries with it the identity (address) of the upstream node that sent it. Each LSR along the path simply remembers the identity of its immediately prior upstream neighbor on each incoming link. The node then creates an “inverse” cross-connect table that for each protected outgoing LSP maintains a list of the incoming LSPs that merge into that outgoing LSP, together with the identity of the upstream node that each incoming LSP comes from. Upon receiving an FIS, an LSR extracts the labels contained in it (which are the labels of the protected LSPs that use the outgoing link that the FIS was received on) consults its inverse cross-connect table to determine the identity of the upstream nodes that the protected LSPs come from, and creates and transmits an FIS to each of them.
The roles of the various core protection components are:
PSL: The PSL must be able to correlate the RNT with the working and protection paths. To this end, it maintains a table with a list of working LSPs protected by an RNT, and the identity of the protection LSPs that each working path is to be switched to in the event of a failure on the working path. It need not maintain an inverse cross-connect table (for the LSPs and working paths for which it is the PSL).
PML: The PML is the root of the RNT, and has to associate each of its upstream nodes with a working path and RNT. It need not maintain an inverse cross-connect table (for the LSPs and working paths for which it is a PML).
Intermediate LSR: An intermediate LSR has to only remember all of its upstream neighbors and associate them with the appropriate working paths and RNTs, and has to maintain an “inverse” cross-connect table.
Each LSR must be able to detect certain types of failures and propagate an FIS message towards the PSL. Here we consider the failures that could result in the impairments, specifically, unidirectional link failure, bi-directional (or complete) link failure, and node failure.
Unidirectional Link Failure
A uni-directional link failure implies that only one direction of a bi-directional link has failed.
The failure of a link in the downstream direction will be detected by the node downstream of the failed link, either via the LOS being propagated to the MPLS layer by the lower layer or via the absence of Liveness messages. The downstream node will then periodically send out FIS messages to its upstream neighbor (via the uplink), which will propagate these further upstream (using its inverse cross-connect table) until they eventually reach the appropriate PSLs, which will perform the protection switch.
Therefore, in FIG. 1, if the link L34 fails, LSR 4 will detect the failure, and start transmitting an FIS packet once every T2 time units back to LSR 3 over link L43. The traffic in the queues of LSR 4 will continue to be serviced. LSR 3 in turn will propagate the FIS over the RNT back to LSR 2 and LSR 9. The actual protection switch will be performed by LSRs 9 and 1, T4 time units after the receipt of the first FIS. LSR 4 will stop transmitting FIS messages T3 time units after the transmission of the first FIS message.
A failure of a link in the upstream direction will be detected by a node upstream of the failed link, either via a LOS being detected at the lower layer and propagated to the MPLS layer (if there was traffic on this reverse link), or via the absence of Liveness messages. The upstream node will then periodically send out FIS messages to the node upstream of it, which in turn will propagate these further until eventually the PSL(s) learns of the failure and performs the protection switch.
Therefore, in FIG. 1, if link L43 fails, LSR 3 will detect the failure, and transmit an FIS to nodes 2 and 9. Node 2, in turn, will transmit an FIS to node 1, and nodes 1 and 9 will perform the actual protection switch
Bi-Directional Link Failure or Node Failure
When both directions of the link fail (as in the case of a fiber cut), nodes at both ends of the link will detect the failure due to the absence of the Liveness message. Both will transmit FIS messages to their upstream nodes. However, it is only the node upstream of the failed link whose FIS messages will propagate upstream, eventually reaching the appropriate PSLs, which will perform the protection switch to be backup path.
The case of node failure is similar, with the node upstream of the failed node detecting the failure and propagating that information via the FIS message.
For example in FIG. 1, when both directions of the link between nodes 3 and 4 fail (or when node 4 fails), LSR 3 will detect this failure via the non-reception of the Liveness message, and transmit FIS messages to nodes 2 and 9 as before. When nodes 1 and 9 receive the FIS message they will perform the protection switch after waiting for an interval of T4 time units.
The roles of the various core protection components in failure detection are the same. The PSL, PML, and intermediate LSR must all be able to detect LF and LOP, and respond to a lower layer indication of LOS.
The rapid notification of failure is effected by the propagation of the FIS message along the RNT. Any LSR may generate an FIS, but the PSL is the only LSR that terminates it.
For instance, in FIG. 1 if link L23 fails, LSR 3 will detect it and transmit a FIS to LSR 2, its upstream neighbor along link L23. The FIS will contain the incoming labels (at node 3) of those LSPs on link L23 that have protection enabled. Upon receiving the FIS message, LSR 2 will consult its inverse-cross connect table and generate an FIS message for LSR 1, which on receiving the first FIS packet will wait for time T4 before performing an protection switch.
The roles of the various core protection switching components are:
PSL: The PSL does not generate FIS, but must be able to detect FIS packets.
PML: The PML must be able to generate the FIS packets in response to detecting failure, and should transmit them over the RNT. It begins FIS transmission after timer T6 expires and does so and every T2 time units for a maximum of T3 time units.
Intermediate LSR: An intermediate LSR must be able to generate FIS packets, either as a result of detecting failure or in response to a received FIS packet. It must transmit these to all its affected upstream neighbors as per its inverse cross-connect table. Again, it does so every T2 time units for a maximum of T3 time units. If the intermediate LSR was the one that detected the failure, it waits until the hold-off timer T6 expires before it initiates generation of the FIS.
Protection switching is the actual switching of the working traffic from the working path to the protection path. This is performed by the PSL, T4 time units after the reception of the first FIS packet.
For example, in FIG. 1, consider protection domain (1-2-3-4-6-7, 1-5-7). When link L34 fails, the PSL LSR 1 on learning of the failure will perform a protection switch of the protected working traffic from the working path 1-2-3-4-6-7 to the backup path 1-5-7. Notice that LSR 7 acts as a protection merge LSR, merging traffic from the active and backup paths. Since buffered packets from LSR 4 may continue to arrive at LSR 7 even after the protection switch (the dampening timer T4 at the PSL tends to mitigate this), a short-term misordering of packets may happen at LSR 7, until the buffers on the working path drain out.
The role of the core protection components is as follows:
PSL: Performs the protection switch upon receipt of the FIS message, and after waiting for time T4 following the first FIS message.
PML: The PML automatically merges protection traffic with working traffic. For a short period of time this is likely to cause misordering of packets, since buffered packets may continue to arrive along the working path.
Intermediate LSR: The intermediate LSR has no action.
Restoration is the transfer of working traffic from the protection path to the working path, once the working path is repaired. Restoration may be automatic as in revertive protection, or it may be performed by manual intervention (or not performed at all). In the revertive mode, restoration is performed upon the receipt of the FRS message, while in the non-revertive mode it is performed by operator intervention.
The role of the core protection components is similar here to what it is for protection switching. The PML does not do anything, unless it was the node that detected the failure, in which case it transmits a FRS upstream. The intermediate LSR generates the FRS message if it was the node that detected the fault or generates a FRS to relay the restoration status received from a downstream node. The PSL performs the restoration switch T4′ seconds after receiving the first FIS message.
The MPLS protection that is specified herein does not raise any security issues that are not already present in the MPLS architecture.
What is the Motivation for MPLS Protection?
Layer 3 or IP rerouting may be too slow for a core network that must support high reliability/availability for premium services.
Layer 0 (optical) or Layer 1 (e.g., SONET) may be limited to ring topologies and may not include mesh protection.
Layer 0 or Layer 1 do not have visibility into higher layer operations.
Layer 0 or Layer 1 may not offer the required granularity of protection.
Interoperable protection mechanisms will facilitate the configuration and management of core MPLS-based networks.
Facilitates construction of IP-over-WDM networks.
Protection Objectives: What Achievements are Desired Via MPLS Protection
Maximize network reliability and availability via fast recovery of working traffic.
Avoid network layering violations.
Allow inter-working with lower layer protection.
Avoid adversely affecting other network operations.
Keep switching actions in separate MPLS protection domains independent of each other.
Allow protection to be specified for an LSP, a portion of traffic on an LSP, or a bundle of LSPs.
Allow protection of an end-to-end LSP or a segment of an LSP.
What are the Principles of MPLS Protection?
See FIG. 3
MPLS Protection Principles
See FIG. 4
See Table A
Mechanism to identify protection groups (PMTGs) and protection portions (PMTPs).
Mechanism to activate protection (enabled/not enabled).
Option for configuring protection path as either excess or reserved.
Option for configuring protection alternatives as either pre-negotiated or dynamic.
Option for enabling restoration (non-revertive/revertive).
Mechanisms to detect impairments (link probing and counting errored packets).
Completion within a configurable protection switching interval.
MPLS Path Protection: Components and Operation
See FIG. 5
MPLS Path Protection Components: Elements
Path Switch LSR
Path Merge LSR
See Tables B and C
RNT Path Protection: Structures
Reverse Notification Tree (RNT)
Inverse Cross-Connect Table
See FIGS. 6, 7, and 8
RNT Path Protection: Operation
Formalized MPLS protection principles
Proposed requirements for MPLS protection/restoration
Proposed a specific mechanism for path protection
One objective of the present invention is to provide a high-reliability option for user virtual private networks which use MPLS as the transport protocol. The invention addresses problems associated with configuring the protection paths, failure detection and notification, path protection switching, restoration notification and path restoration. The invention can be used to provide path protection to several nodes without using feedback paths (which consume bandwidth) and using reverse notification tree.
In an embodiment of the invention, a reverse Notification Tree is set up using very simple MPLS signaling during the working path setup itself that can be used to communicate failure information to appropriate sources. This particular scheme does not require any complex multicast tree setup. Uses a simple “inverse” cross-connect table at each node that indicates which upstream nodes connect to paths emanating from the down stream node. Simple Reverse Notification Tree to propagate failure and recovery information to sources. Capability to handle merged MPLS LSPs to provide protection to multiple LSPs simultaneously.