Abstract:
A system, method and apparatus in which RSVP path messages are modified to indicate that a failed source-to-leaf (S2L) sub-LSP or path has switched (or is switching) to a bypass S2L sub-LSP or path via a local-protection mechanism. Thus, a leaf PE node may choose to switch traffic sourcing from a primary tunnel to a standby tunnel even if the primary tunnel appears to be functioning properly. In this manner, any actual or potential suboptimal performance of the primary tunnel due to selection of the local-protection mechanism may be avoided.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application claims the benefit of pending U.S. Provisional Patent Application Ser. No. 61/676,796, filed Jul. 27, 2012, entitled SYSTEM, METHOD AND APPARATUS FOR IMPROVED MPLS MANAGEMENT, which application is incorporated herein by reference in its entirety. 
    
    
     FIELD OF THE INVENTION 
     The invention relates to the field of communication networks such as multi-protocol label switching (MPLS) networks and, more particularly but not exclusively, to point to multipoint (P2MP) traffic path management. 
     BACKGROUND 
     Multiprotocol Label Switching (MPLS) enables efficient delivery of a wide variety of differentiated, end-to-end services. Multiprotocol Label Switching (MPLS) traffic engineering (TE) provides a mechanism for selecting efficient paths across an MPLS network based on bandwidth considerations and administrative rules. Each label switching router maintains a TE link state database with a current network topology. Once a path is computed, TE is used to maintain a forwarding state along that path. 
     For a dual homed Leaf node sourcing traffic from two independent P2MP trees, it is desirable to switch traffic from primary Tree to Standby Tree, when the Primary tree becomes sub-optimal due to some network event. The proposal provides a method to address the above. 
     SUMMARY 
     Various deficiencies in the prior art are addressed by systems, methods and apparatus in which RSVP path messages are modified to indicate that a failed source-to-leaf (S2L) sub-LSP or path has switched (or is switching) to a bypass S2L sub-LSP or path via a local-protection mechanism. Thus, a leaf PE node may choose to switch traffic sourcing from a primary tunnel to a standby tunnel even if the primary tunnel appears to be functioning properly. In this manner, any actual or potential suboptimal performance of the primary tunnel due to selection of the local-protection mechanism may be avoided. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The teachings of the present invention can be readily understood by considering the following detailed description in conjunction with the accompanying drawings, in which: 
         FIG. 1  depicts an exemplary network benefiting from the various embodiments; 
         FIG. 2  depicts a flow diagram of a method according to one embodiment; and 
         FIG. 3  depicts a high-level block diagram of a computer suitable for use in performing functions described herein. 
     
    
    
     To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures. 
     DETAILED DESCRIPTION 
     Various embodiments will be described within the context of dual homed leaf nodes sourcing traffic from two independent Point to Multipoint (P2MP) trees in a network supporting Resource Reservation Protocol (RSVP) Inter-Domain Traffic Engineering Label Switched Paths (TE-LSPs) of type Contiguous LSP. However, it will be appreciated by those skilled in the art that the various embodiments described herein are applicable to other types of networks 
       FIG. 1  depicts a high-level block diagram of a communication network architecture benefiting from various embodiments. Specifically, the architecture  100  of  FIG. 1  provides a Multi-Protocol Label Switching (MPLS) network supporting Resource Reservation Protocol (RSVP) Inter-Domain Traffic Engineering Label Switched Paths (TE-LSPs) of type Contiguous LSP. The network may be modified by those skilled in the art to use other MPLS related protocols rather that the exemplary protocol discussed herein. 
     The architecture  100  includes an IP/MPLS communication network (CN)  105  and at least one network management system (NMS)  120  operative to, illustratively, route traffic between a source Customer Edge (CE) router CE-S  130 -S and a destination CE router CE-D  130 -D via one or both of primary and secondary label switched paths (LSPs); namely, primary path P and secondary path S. 
     As depicted, NMS  120  is operative to control a plurality of routers  110  forming the CN  105 ; namely, a plurality of Provider Edge (PE) routers  110 - 1  through  110 - 4 , and a plurality of core routers  110 -X 1  and  110 -X 2 . It will be noted that while only four PE routers are depicted, the CN  105  may include many more PE routers. Similarly, while only two core routers are depicted, the CN  105  may include many more core routers. The representation of the CN  105  is simplified for purposes of this discussion. 
     The NMS  120  is a network management system adapted for performing the various management functions described herein. The NMS  120  is adapted to communicate with nodes of CN  105 . The NMS  120  may also be adapted to communicate with other operations support systems (e.g., Element Management Systems (EMSs), Topology Management Systems (TMSs), and the like, as well as various combinations thereof). 
     The NMS  120  may be implemented at a network node, network operations center (NOC) or any other location capable of communication with the CN  105  and various elements related thereto. The NMS  120  may support user interface capabilities to enable one or more users to perform various network management, configuration, provisioning or control related functions (e.g., enter information, review information, initiate execution of various methods as described herein and the like). Various embodiments of the NMS  120  are adapted to perform functions as discussed herein with respect to the various embodiments. The NMS  120  may be implemented as a general purpose computing device or specific purpose computing device, such as described below with respect to  FIG. 3 . 
     The NMS  120  and the various routers  110  operate to support Resource Reservation Protocol (RSVP) Inter-Domain Traffic Engineering Label Switched Paths (TE-LSPs) as described in more detail in various Internet Engineering Task Force (IETF) Request for Comment (RFC), such as RFC4726 and RFC5151. 
     As depicted in  FIG. 1 , a point to multipoint (P2MP) traffic stream (e.g., a video or other data stream) is communicated from a source Customer Edge (CE) router CE-S  130 -S to a destination CE router CE-D  130 -D via one or both of primary and secondary label switched paths (LSPs); namely, primary path P and secondary path S. Primary path P originates at PE  110 - 1 , traverses the core of CN  105  and terminates at PE  110 - 3 . Secondary path S originates at PE  110 - 2 , traverses the core of CN  105  and terminates at PE  110 - 3 . 
     Thus, PE  110 - 3  operates as a dual homed leaf node sourcing traffic from two independent P2MP trees; namely, a primary LSP tree originating at Root Node PE  110 - 1  and a secondary LSP tree originating at Root Node PE  110 - 2 . 
     Each of the primary and secondary P2MP LSPs comprises multiple source-to-leaf (S2L) sub-LSPs which are set up between ingress and egress LSRs and appropriately overlaid to construct the P2MP TE LSPs. During path computation, the P2MP TE LSP may be determined as a set of S2L sub-LSPs that are computed separately and combined to give the path of the P2MP LSP, or the entire P2MP TE LSP may be determined as a P2MP tree in a single computation. 
     In various embodiments, each of the two tunnels includes fast reroute protection such as that described in IETF RFC 4090, May 2005, entitled “Fast Reroute Extensions to RSVP-TE for LSP Tunnels”, which is incorporated herein by reference in its entirety. Generally speaking, IETF FC  4090  defines RSVP-TE extensions to establish backup label switched path (LSP) tunnels for local repair of LSP tunnels. These mechanisms enable the re-direction of traffic onto backup LSP tunnels in 10 s of milliseconds, in the event of a failure. Two methods are defined. The one-to-one backup method creates detour LSPs for each protected LSP at each potential point of local repair. The facility backup method creates a bypass tunnel to protect a potential failure point; by taking advantage of MPLS label stacking, this bypass tunnel can protect a set of LSPs that have similar backup constraints. Both methods can be used to protect links and nodes during network failure. The described behavior and extensions to RSVP allow nodes to implement either method or both and to interoperate in a mixed network. 
     There are two fundamental RSVP message types: RSVP reservation request (Resv) and Path message types. Receiver hosts send RSVP reservation requests (Resv) messages upstream towards the senders to create and maintain “reservation state” in each node along the path(s). RSVP sender hosts transmit RSVP Path messages downstream along unicast/multicast routes provided by the routing protocol(s), following the paths of the data. These Path messages store “path state” in each node along the way, including at least the unicast IP address of the previous hop node, which is used to route Resv messages hop-by-hop in the reverse direction. 
     S2L Path Failure and Restoration Indication 
     If a node, link or other network element associated with a S2L path along the primary tunnel or path fails, an automatic bypass procedure is initiated when the failed node (or a subsequent affected node) transmits RSVP reservation request (Resv) message upstream toward the root PE of the tunnel, which causes the root PE to trigger a rerouting of the affected S2L path via a bypass S2L path using a local-protection mechanism. 
     Unfortunately, the bypass procedure and/or the bypass path selected may result in suboptimal performance of the primary path or tunnel. For example, the bypass procedure may take too long (e.g., a bypass path is not readily available or re-routing takes too long), or the bypass path may have insufficient Quality of Service (QoS) guarantees. 
     In various embodiments, downstream RSVP path messages are modified to include error information to indicate that a failed S2L sub-LSP or path has switched (or is switching) to a bypass S2L sub-LSP or path via a local-protection mechanism. 
     In various embodiments, the newly defined RSVP error message includes information to indicate that a failed S2L sub-LSP or path has switched (or is switching) to a bypass S2L sub-LSP or path via a local-protection mechanism. 
     In one embodiment, the information within the modified downstream RSVP path messages or newly defined RSVP error message comprises a local-protection “inUse” flag that is set (or set to a first state such as “1” or some other character) to indicate to the leaf PE node or other nodes that there is use of a local-protection mechanism to bypass the affected S2L path, and reset (or set to a second state such as “0” or blank) to indicate to the leaf PE node or other nodes that the affected S2L path is no longer bypassed (i.e., the S2L path has been restored). 
     In one embodiment, a Record Route Object (RRO) flag within the RSVP path message is updated to indicate whether or not the RSVP session includes a bypass S2L path. Specifically, the RRO flag may be set (or set to a first state such as “1” or some other character) to indicate to the leaf PE node or other notes that the RSVP session includes at least one bypass S2L path, or reset (or set to a second state such as “0” or blank) to indicate to the leaf PE node or other notes that the RSVP session includes does not include a bypass S2L path. 
     The information within the modified downstream RSVP path messages or newly defined RSVP error message indicates to the leaf PE node (or subsequent nodes) that a bypass S2L path has been selected (or is in the process of being selected) via a local-protection mechanism, thereby giving the leaf PE node the opportunity to switch traffic flow sourcing from the affected tunnel (e.g., the primary path P) to the backup tunnel (e.g., a secondary path S). The decision to switch traffic flow sourcing may be made according to various system operator criteria, customer criteria, traffic-related criteria or other criteria. 
       FIG. 2  depicts a flow diagram of a method according to one embodiment. Specifically,  FIG. 2  depicts a method  200  in which information indicative of the use of a bypass S2L path within a RSVP session is captured and propagated downstream so that, illustratively, a dual homed leaf PE node may switch traffic flow sourcing from an affected tunnel to a backup tunnel to thereby avoid potential suboptimal service quality on the affected tunnel. 
     At step  210 , a primary tunnel is created from a first root node to a leaf node, while a secondary tunnel is created from a second root node to the leaf node. For purposes of this discussion that will be assumed that the primary and secondary tunnels comprise, respectively, primary path P and secondary path S as discussed above with respect to  FIG. 1 . Video streams or other traffic from the source  130 -S are mapped to both the tunnels on the root PE  110 - 1 . Each of the two tunnels is associated with an independent P2MP tree. 
     At step  220 , the leaf node (e.g., P in response to node failure E  110 - 3 ) selects one of the tunnels (e.g., primary path P) for receiving traffic from the traffic source (Root Node PE  110 - 1 ). 
     At step  230 , in the event of a failure of a node along the primary tunnel or path, an automatic bypass procedure is initiated when the failed node (or a subsequent affected node) transmits (1) a RSVP reservation request (Resv) message upstream toward the root PE of the tunnel, which causes the root PE to trigger a rerouting of the affected S2L path via a bypass S2L path using a local-protection mechanism; and (2) a RSVP Error message or Path message including an appropriate error code downstream toward the leaf PE of the tunnel, such as by setting a local-protection “inUse” flag and/or RRO flag. 
     Specifically, information advertising the use (or termination of such use) of a local protection mechanism may be propagated via a routing protocol such as Open Shortest Path First (OSPF) routing protocol, Intermediate System To Intermediate System (IS-IS) routing protocol and the like using, illustratively, a new flag or bit setting in an existing LSP attribute or a newly defined LSP attribute encoded in Type-Length-Value (TLV) format. For example, by adapting or setting to a first state a flag or bit setting of a OSPF router info capability TLV, IS-IS router info capability TLV, other TLV, existing LSP attribute and the like. 
     At step  240 , upon receiving the RSVP Error message or Path message of step  230 , the leaf PE node makes a determination as to whether or not it should switch traffic sourcing from the affected tunnel (e.g., primary path P) to a backup tunnel (e.g., secondary path S). Referring to box  245 , this determination may be a default action or determined with respect to various system operator criteria, customer criteria, traffic-related criteria or other criteria, such as bypass S2L path QoS information, service provider requirements, service level agreements (SLAs) and the like. 
     At step  250 , in the event of the affected S2L being restored and/or re-optimized, the previously failed node (or a subsequent affected node) transmits a RSVP Error message or Path message including an appropriate error code downstream toward the leaf PE of the tunnel, such as by resetting a local-protection “inUse” flag and/or RRO flag. For example, if a global revert MBB triggers the re-optimization of the affected S2L and traffic moves back from bypass the RRO flag may be set to “0” or cleared. The leaf node may use this flag to switch back to primary P2MP Tree. 
     At step  260 , upon receiving the RSVP Error message or Path message of step  250 , the leaf PE node makes a determination as to whether or not it should switch traffic sourcing from the backup tunnel (e.g., secondary path S) to the primary tunnel (e.g., primary path P). This determination may be made using criteria so much that discussed above with respect to step  240 . 
     In various embodiments, and especially in a rapid bypass/restoration cycle, old/erroneous data may still he propagating through the affected tunnel such that the RSVP Error message or Path message information is not accurate. In this case, the node is adapted to ignore the path message and not switch back from standby P2MP tree to Primary P2MP tree until after a predetermined time period has elapsed or some other indication of appropriate tunnel restoration is received. 
     In various embodiments, since the RSVP Error message or Path message can get dropped in the network, the leaf PE node supports an ability to switch from an affected primary P2MP tree to a standby P2MP tree based on the RRO flag alone. 
     The various methods techniques described herein enable service providers to switch traffic from a suboptimal or potentially suboptimal primary P2MP tunnel in response to a local-protection mechanism switching from a primary S2L sub-LSP or path to a secondary or bypass S2L sub-LSP. 
     In various embodiments, a node or LSR detecting use or imminent use of a local protection mechanism (such as a bypass S2L sub-LSP) of an LSP routed therethrough responsively informs an ingress or root PE node associated with the LSP as well as one or more egress or leaf PE nodes associated with the LSP. 
     New TLV Attribute 
     Various embodiments described herein enable the communication of use or non-use of a local protection mechanism to a root PE or other node (such as an ingress LSP, area border router and the like) and/or to a leaf PE or other node (such as a transit or egress LSP and the like) using a new flag or bit setting in an existing LSP attribute or, optionally, a newly defined LSP attribute encoded in Type-Length-Value (TLV) format. 
     In one embodiment, to indicate use of a local protection mechanism, one of the bits (e.g., bit  3 ) within an existing or newly defined LSP attribute TLV is set or cleared, such as an attribute TLV according to RFC5420.3. For example, according to RFC5420.3, attributes carried by new objects are encoded within TLVs as follows, where a Type Field is an identifier of the TLV, a Length Field is used to indicate the total length of the TLV in octets, a Value Field is used to carry the data. 
     Various embodiments define new flag values in the Attribute Flags TLV, which are carried in the following LSP_ATTRIBUTES Object, such as LSP_ATTRIBUTES class=197, C-Type=1. 
     A specific bit number (e.g., bit  3 , bit  4  or some other bit) may be assigned a designation of “inUse Bit” or some other designation. 
     If the inUse Bit is set for a particular LSP or S2L sub-LSP, then the S2L sub-LSP may be providing a reduced Quality of Service (QOS) level such that an alternate LSP should be used by a leaf PE or other node. 
     If the inUse Bit is clear for a particular LSP or S2L sub-LSP, then the S2L sub-LSP is providing an initial or expected Quality of Service (QOS) level such that restoration of services on an initial LSP from a previously selected alternate LSP may be appropriate for a leaf PE or other node. 
     Thus, in various embodiments an indication of use or non-use of a local protection mechanism associated with a S2L sub-LSP of a LSP is provided via a LSP attribute encoded in Type-Length-Value (TLV) format. 
     In various embodiments, an indication of use or non-use of a local protection mechanism is communicated via additional bits in the LSP _ATTRIBUTES object. 
       FIG. 3  depicts a high-level block diagram of a computer suitable for use in performing functions described herein. 
     As depicted in  FIG. 3 , computer  300  includes a processor element  303  (e.g., a central processing unit (CPU) and/or other suitable processor(s)), a memory  304  (e.g., random access memory (RAM), read only memory (ROM), and the like), a cooperating module/process  305 , and various input/output devices  306  (e.g., a user input device (such as a keyboard, a keypad, a mouse, and the like), a user output device (such as a display, a speaker, and the like), an input port, an output port, a receiver, a transmitter, and storage devices (e.g., a tape drive, a floppy drive, a hard disk drive, a compact disk drive, and the like)). 
     It will be appreciated that computer  300  depicted in  FIG. 3  provides a general architecture and functionality suitable for implementing functional elements described herein or portions network of the functional elements described herein. 
     It is contemplated that some of the steps discussed herein may be implemented within hardware, for example, as circuitry that cooperates with the processor to perform various method steps. Portions of the functions/elements described herein may be implemented as a computer program product wherein computer instructions, when processed by a computer, adapt the operation of the computer such that the methods and/or techniques described herein are invoked or otherwise provided. Instructions for invoking the inventive methods may be stored in tangible and non-transitory computer readable medium such as fixed or removable media or memory, and/or stored within a memory within a computing device operating according to the instructions. 
     While the foregoing is directed to various embodiments of the present invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof. As such, the appropriate scope of the invention is to be determined according to the claims.