Locally protecting service in a label switched path network

A network node that provides egress fault protection for a primary egress node. The network node may receive a service label associated with an application from a primary egress node of a primary label switched path (LSP). The network node may use the service label to add a forwarding entry into a forwarding table associated with the primary egress node. Following a fault in the primary egress node, the network node may receive a data packet comprising an LSP label and the service label from a partial backup LSP. The network node may use the LSP label to locate the forwarding table associated with the primary egress node. The service label may be used to deliver the data packet to a destination node according to the forwarding table associated with the primary egress node.

Not applicable.

REFERENCE TO A MICROFICHE APPENDIX

Not applicable.

BACKGROUND

In a conventional multiprotocol label switching (MPLS) traffic engineering (TE) label switching path (LSP) system, a backup LSP may be employed to protect a primary LSP in the event of a primary egress node failure. A conventional system may employ a multi-hop fault detection link and an end-to-end LSP as the backup LSP. Such conventional systems may be complex to operate and may not provide reliable primary egress node failure detection. For example, any failure along the multi-hop fault detection link may incorrectly indicate a primary egress node failure. Additionally, the backup LSP may be resource consuming because the backup LSP may require additional network bandwidth that can be comparable to the reserved bandwidth of the primary LSP. Furthermore, the backup LSP may reroute data traffic that causes a delay in traffic delivery. Such a delay may not be acceptable in some systems (e.g., for real time services such as internet protocol (IP) television).

SUMMARY

In one example embodiment, the disclosure includes a network node that provides egress fault protection of a primary egress node. The network node may receive a service label associated with an application from a primary egress node of a primary LSP. The network node may use the service label to add a forwarding entry into a forwarding table associated with the primary egress node. Following a fault in the primary egress node, the network node may receive a data packet comprising an LSP label and the service label from a partial backup LSP. The network node may use the LSP label to locate the forwarding table associated with the primary egress node. The service label may be used to deliver the data packet to a destination node according to the forwarding table associated with the primary egress node.

In another example embodiment, the disclosure includes a network node to provide egress fault protection of a primary egress node. The network node may receive a service label and a destination address for a client node from a second network node. The network node may add a forwarding entry in a table for the primary egress node using the service label and the destination address. In response to a primary egress node failure, the network node may receive a data packet comprising a data content portion, the service label, and an LSP label via a partial backup LSP. Using the LSP label, the network node may locate the table for the primary egress node. The network node may determine a destination node using the service label and the table and may send the data contention portion of the data packet to the destination node.

In yet another example embodiment, the disclosure includes a network node to provide egress fault protection of a primary egress node. The network node may comprise a transmitter, a receiver, and a memory device coupled to a processor. The memory device may comprise computer executable instructions such that when executed by the processor configures the network to provide egress fault protection. The network node may receive a service label using the receiver. Using the service label, a forwarding entry may be generated in a forwarding table for the primary egress node. Following a primary egress node failure, the network node may receive a data packet comprising an LSP label and the service label using the receiver. The LSP label may be used to locate the forwarding table. The service label may be used to locate the forwarding entry in the forwarding table. Upon locating the forwarding entry, the network node may send the data packet in accordance with the forwarding entry using the transmitter.

DETAILED DESCRIPTION

Disclosed herein are various example embodiments for establishing a backup LSP and controlling data traffic delivery to a client node via a backup egress node and the backup LSP. A network node may establish a partial backup LSP for protecting a primary LSP in the event of a primary egress node failure. The network node may also communicate labeling instructions to the backup egress node for delivering data traffic to a client node. Some examples of protection against failures involving the primary egress node of an MPLS TE LSP are described in U.S. patent application Ser. No. 12/683,968, titled “Protecting Ingress and Egress of a Label Switched Path,” and U.S. patent application Ser. No. 12/983,587, titled “System and Method For Protecting Ingress and Egress of a Point-To-Multipoint Label Switched Path,” both of which are incorporated herein by reference. The backup egress node may be configured to receive a service label from the primary egress node and to add the service label to a forwarding entry into a table (e.g., a label forwarding information base (LFIB)) for the primary egress node. Additionally, the backup egress node may be configured to use an LSP label as a context label to find the LFIB for the primary egress node and to use the service label to deliver the packet to the same destination as the primary egress node according to the forwarding entry in the LFIB.

FIG. 1is a schematic diagram of an example embodiment of a label switched system100. The label switched system100comprises a plurality of source nodes140in data communication with a plurality of client nodes150via a label switched network101(e.g., a packet switched network) that comprises a plurality of network nodes. The label switched network101may be configured to route or switch data traffic (e.g., data packets or frames) along paths that are established using a label switching protocol, for example, using MPLS or generalized multiprotocol label switching (GMPLS). Alternatively, the packets may be routed or switched via paths established using any other suitable protocol as would be appreciated by one of ordinary skill in the art upon viewing this disclosure. The label switched network101may be configured to establish a plurality of LSPs between at least some of the network nodes and/or between the source node140and at least some of the network nodes. An LSP may be a point-to-point (P2P) LSP or point-to-multipoint (P2MP) LSP and may be used to transport data traffic (e.g., using packets and packet labels for routing).

The plurality of network nodes may be a plurality of egress nodes121,122and a plurality of internal nodes130. The egress nodes121,122and internal nodes130may be any devices or components that support the transportation of data traffic (e.g., data packets) through the label switched network101. For example, the network nodes may include switches, routers, and any other suitable network device for communicating packets as would be appreciated by one of ordinary skill in the art upon viewing this disclosure, or combinations thereof. The network nodes may be configured to receive data from other network nodes, to determine which network nodes to send the data to (e.g., via logic circuitry or a forwarding table), and/or to transmit the data to other network nodes. In some example embodiments, at least some of the network nodes may be label switched routers (LSRs) and may be configured to modify or update the labels of the packets transported in the label switched network101. Additionally, at least some of the network nodes may be label edge routers (LERs) and may be configured to insert or remove the labels of the packets transported between the label switched network101and a source node140.

A source node140and/or a client node150may be a network or network node that is external or distinct from the label switched network101. Alternatively, a source node140and/or a client node150may be a portion of and/or incorporated within the label switched network101. The label switched network101comprises a first ingress node (e.g., a primary ingress node)111, a second ingress node (e.g., a backup ingress node)112, a plurality of internal nodes130, a plurality of first egress nodes (e.g., a primary egress node)121, and a plurality second egress nodes (e.g., a backup egress node)122. Although the label switched network101is illustrated comprising a first ingress node111, a second ingress node112, a plurality of internal nodes130, a plurality of first egress nodes121, and a plurality second egress nodes122, in one or more example embodiments, any other suitable configuration and/or combinations thereof may be additionally or alternatively incorporated within the label switched network101as would be appreciated by one of ordinary skill in the art upon viewing this disclosure.

The label switched network101may be configured such that a plurality of LSPs (e.g., P2P LSP and/or P2MP LSP) may be established between the network nodes and/or between the networks and at least some of the network nodes. The label switched network101may comprise a primary LSP (e.g., a P2P LSP) configured to transport data traffic from a source node140to a client node150. The primary LSP may comprise the first ingress node111, one or more internal nodes130, and a first egress node121. The label switched network101further comprises a backup LSP (e.g., a backup P2P LSP). The backup LSP may comprise one or more bypass P2P LSPs and/or P2MP LSPs. For example, the backup LSP may comprise a previous-hop node (e.g., an internal node130) of the first egress node121and a second egress node122. The backup LSP may be a partial LSP used to back up the first egress node121. In an example embodiment, an LSP may be assigned by the first egress node121communicating (e.g., via a border gateway protocol (BGP) protocol) a service label to an ingress node. Additionally, a partial LSP may be assigned by a network node along the LSP (e.g., the first egress node121) communicating the service label to a second egress node122. The partial LSP may branch off the LSP at the network node along the LSP (e.g., the first egress node121). As such, the partial LSP may be configured to back up the primary egress node of the primary LSP (e.g., the first egress node121) but may not be configured to backup all of the network nodes of the primary LSP (e.g., the internal nodes130).

The first egress nodes121may be configured to send a service label associated with a unique service or application. For example, a service label may be an identifier uniquely associated with a network service, a network application, or a virtual private network (VPN). A network service may be a class of traffic or a class of packets that is associated with a label (e.g., a service label). The network service may use the label to deliver the class of traffic or class of packets to a destination. The first egress node121may send the service label to the first ingress node111, an internal node130, and/or a second egress node122, for example, via a protocol such as BGP. Additionally, the first egress node121may be configured to send a destination address (e.g., an IP address) for a client node150associated with the service label to the second egress node122. Further, the first egress node121may send the address of a backup egress node to the first ingress node111, an internal node130, and/or a second egress node122. The service label may be included in the data traffic from one of the source nodes140for the same service before sending the data traffic through the primary LSP by the first ingress node111. For example, the first ingress node111may be configured to receive the data traffic for the primary LSP, to push the service label onto the data traffic, and to send the data traffic via the primary LSP to the client node150associated with the service label.

At least one of the second egress nodes122may be paired with the first egress nodes121and may be designated as a backup egress node for the first egress node121to protect against egress node failure. The second egress node122may be configured to use the service label as an upstream assigned (UA) label. For example, the second egress node122may be configured to receive a service label and a destination address associated with the service label and to create a forwarding entry (e.g., in an LFIB) for a first egress node121. The forwarding entry may comprise a mapping of the service label to the destination address of the client node150. Additionally, the forwarding entry may comprise actions for handling the service label (e.g., pop/remove a label).

A previous-hop node may be a network node that precedes a primary egress node along the primary LSP. For example, an internal node130may be configured as the previous hop node for a first egress node121. The previous-hop node may be configured to receive information about the first egress node121, the primary LSP, and/or a second egress node122, to establish a backup LSP for the first egress node121, to detect a failure in the first egress node121, and to route data traffic to a client node150via the backup LSP.

The backup LSP may be a P2P detour tunnel. The backup LSP may be created by computing a path from the previous-hop node to a second egress node122, setting up the backup LSP along the computed path, sending a PATH message to the second egress node122comprising an egress fault protection message object, receiving a RESV message in response to the PATH message, and creating a forwarding state (e.g., forwarding table) for the backup LSP. The egress fault protection message object may be as described inFIG. 8. The egress fault protection message object may comprise the IP address of the primary egress node and the backup egress node. In an example embodiment, the backup LSP may be established as described in U.S. patent application Ser. No. 12/683,968, titled “Protecting Ingress and Egress of a Label Switched Path.” The PATH and RESV messages may be similar to the PATH and RESV messages defined by the Internet Engineering Task Force (IETF) Request for Comments (RFC)6510.

FIG. 2is a schematic view of an embodiment of a network element200that may be used to transport and process data traffic through a network or a label switched system100shown inFIG. 1. At least some of the features/methods described in the disclosure may be implemented in a network element. For instance, the features/methods of the disclosure may be implemented in hardware, firmware, and/or software installed to run on the hardware. The network element may be any device (e.g., a switch, router, bridge, server, client, etc.) that transports data through a network, system, and/or domain. Moreover, the terms network “element,” “node,” “component,” “module,” and/or other similar terms may be interchangeably used to generally describe a network device and do not have a particular or special meaning unless otherwise specifically stated and/or claimed within the disclosure. In one example embodiment, the network element200may be an apparatus used to establish an LSP, to communicate labeling instructions, to process data traffic, and/or to communicate data traffic. For example, network element200may be an internal node130or an egress node121,122as described inFIG. 1.

The network device200may comprise one or more downstream ports210coupled to a transceiver (Tx/Rx)220, which may be transmitters, receivers, or combinations thereof. The Tx/Rx220may transmit and/or receive frames from other network nodes via the downstream ports210. Similarly, the network element200may comprise another Tx/Rx220coupled to a plurality of upstream ports240, wherein the Tx/Rx220may transmit and/or receive frames from other nodes via the upstream ports240. The downstream ports210and/or the upstream ports240may include electrical and/or optical transmitting and/or receiving components.

A processor230may be coupled to the Tx/Rx220and may be configured to process the frames and/or determine which nodes to send (e.g., transmit) the frames. In an example embodiment, processor230may comprise one or more multi-core processors and/or memory modules250, which may function as data stores, buffers, etc. The processor230may be implemented as a general processor or may be part of one or more application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), and/or digital signal processors (DSPs). Although illustrated as a single processor, the processor230is not so limited and may comprise multiple processors. The processor230may be configured to implement any of the schemes described herein, including method600as described inFIG. 6.

FIG. 2illustrates that a memory module250may be coupled to the processor230and may be a non-transitory medium configured to store various types of data. Memory module250may comprise memory devices including secondary storage, read-only memory (ROM), and random-access memory (RAM). The secondary storage is typically comprised of one or more disk drives, optical drives, solid-state drives (SSDs), and/or tape drives and is used for non-volatile storage of data and as an over-flow storage device if the RAM is not large enough to hold all working data. The secondary storage may be used to store programs that are loaded into the RAM when such programs are selected for execution. The ROM is used to store instructions and perhaps data that are read during program execution. The ROM is a non-volatile memory device that typically has a small memory capacity relative to the larger memory capacity of the secondary storage. The RAM is used to store volatile data and perhaps to store instructions. Access to both the ROM and RAM is typically faster than to the secondary storage.

The memory module250may be used to house the instructions for carrying out the system and methods described herein (e.g., as a network node). In an example embodiment, the memory module250may comprise an egress fault protection module260that may be implemented on the processor230. Alternatively, the egress fault protection module260may be implemented directly on the processor230. The egress fault protection module260may be configured to communicate a plurality of labels, to maintain a forwarding table (e.g., an LFIB), generate forwarding entries, and/or to deliver data traffic using the plurality of labels. Communicating a plurality of labels, maintaining a forwarding table, generating forwarding entries, and delivering data traffic using the plurality of labels will be discussed in more detail inFIG. 9.

FIG. 3is an example embodiment of a label switched system300employing an egress node protection scheme. The label switched system300comprises a label switched network302comprising a plurality of network nodes340A-I, in particular, ingress nodes340A and340B, a plurality of internal nodes340C,340E, and340G, and a plurality of egress nodes340D,340F,340H, and340I. The plurality of network nodes may be substantially similar to the network nodes as described inFIG. 1. Although the label switched network302is illustrated comprising the ingress nodes340A and340B, the plurality of internal nodes340C,340E, and340G, and the plurality of egress nodes340D,340F,340H, and340I, in one or more example embodiments, any other suitable configuration and/or combinations thereof may be additionally or alternatively incorporated within the label switched network302as would be appreciated by one of ordinary skill in the art upon viewing this disclosure. The label switched network302may be in data communication with a source node330and a client node350. The source node330and/or a client node350may be a network or network node that is external or distinct from a label switched network302. Alternatively, a source node330and/or a client node350may be a portion of and/or incorporated within the label switched network302.

An egress node may be configured as a primary egress node for an LSP, for example, egress node340D. The primary egress node may be configured to communicate data traffic from the source node330to the client node350. Additionally, the primary egress node may be configured to generate and to communicate a UA label to a backup egress node, as described inFIG. 1. One or more of the plurality of egress nodes (e.g., egress node340F, egress node340H, or egress node340I) may be paired with a primary egress node and configured as a backup egress node for the primary egress node. For example, a backup egress node (e.g., the egress node340F) may be configured to deliver data traffic to the client node350when the primary egress node (e.g., the egress node340D) fails. For example, the client node350may be in data communication with the primary egress node and the backup egress node and may be configured to receive data traffic from the source node330via the primary egress node and/or the backup egress node. In one example embodiment, the backup egress node may be predetermined by an operator. Alternatively, the backup egress node may be configured to be selected automatically (e.g., using a path computation element (PCE)) based on network topology information. For example, a PCE may be configured to inform other network nodes of the selected backup egress node.

The label switched system300may be configured to employ one or more LSPs (e.g., one or more P2P LSPs or P2MP LSPs) to communicate data traffic from the source node330to the client node350. For example, a primary LSP may comprise the ingress node340B, the internal node340C, and the egress node340D. The egress node340D of the primary LSP may also be referred to as the primary egress node. The primary LSP is shown using solid arrow lines inFIG. 3. The label switched system300may further comprise a backup LSP configured to protect the primary egress node. For example, the backup LSP may be configured to forward traffic from the source node330to the client node350when the primary egress node of the primary LSP fails. The backup LSP may comprise the internal node340C and the egress node340F. The backup LSP may be a partial backup path that branches off from the previous hop of the egress node340D in order to protect the primary LSP in the event of an egress node340D failure. The egress node340F of the backup LSP may also be referred to as the backup egress node. The backup egress node may not belong to the primary LSP. The backup LSP is shown using a dashed arrow line inFIG. 3.

The label switched network302may further comprise one or more failure detection links to detect a network node failure. In a conventional system, a multi-hop bidirectional fault detection (BFD) may be established between the ingress node of a primary LSP and the primary egress node of the primary LSP. As such, any failure along the multi-hop BFD may indicate a failure of the primary egress node, and therefore, such a conventional system may not be reliable to detect a primary egress node failure. The label switched network302may comprise a failure detection link between the previous-hop node and the primary egress node. Failure detection links used by the label switched system300may include a BFD session, a P2P LSP, and/or any other suitable failure detection link. For example, the failure detection link may comprise a BFD session390between the primary egress node and a previous-hop node (e.g., the internal node340C) of the primary egress node. As such, the previous-hop node of the primary egress node may be configured to detect a primary egress node failure by monitoring the BFD session between the primary egress node and a previous-hop node of the primary egress node.

In normal operation, the source node330may be configured to send a data packet391to the client node350via the primary LSP. The data packet391may comprise a primary LSP label, a service label, and a data content portion. UsingFIG. 3as an example, the primary LSP label may be a value of 57 that indicates to route the data packet391along the primary LSP. In an example embodiment, the primary egress node may be configured to receive the data packet391, to pop the primary LSP label and the service label, and to deliver the data packet391to the client node350in accordance with the service label.

When the internal node340C detects a failure of the egress node340D, the internal node340C may be configured to generate a second data packet392. The second data packet392may comprise a backup LSP label, the service label, and the data content portion. In an example embodiment, the internal node340C may be configured to swap the primary LSP label for the backup LSP label. The service label and the data content portion may be the same as the data content portion of data packet391. In an example embodiment, the internal node340C may switch the data traffic from the primary LSP to the backup LSP substantially simultaneously upon detecting there is a primary egress node fault. Alternatively, the internal node340C may send the second data packet within about 10 milliseconds (ms), about 20 ms, about 30 ms, about 40 ms, about 50 ms, about 100 ms, about 500 ms, or any other suitable duration of time as would be appreciated by one of ordinary skill in the art upon viewing this disclosure. The backup egress node may be configured to receive the second data packet392, to locate an LFIB for the primary egress node using the backup LSP label as a context label, to locate a forwarding entry using the service label as a UA label, and to deliver the second data packet392to the client node350in accordance with the forwarding entry.

FIG. 4is another example embodiment of a label switched system400employing an egress node protection scheme. The label switched system400comprises label switched network402comprising a plurality of network nodes440A-J, in particular, ingress nodes440A and440B, a plurality of internal nodes440C,440E,440G, and440H, and a plurality of egress nodes440D,440F,440I, and440J. The plurality of network nodes may be substantially similar to the network nodes as described inFIG. 1. Although the label switched network402is illustrated comprising the ingress nodes440A and440B, the plurality of internal nodes440C,440E,440G, and440H, and the plurality of egress nodes440D,440F,440I, and440J, in one or more example embodiments, any other suitable configuration and/or combinations thereof may be additionally or alternatively incorporated within the label switched network402as would be appreciated by one of ordinary skill in the art upon viewing this disclosure. The label switched network402may be in data communication with a source node430and a client node450. The source node430and/or a client node450may be substantially similar to the source node330and the client node350as described inFIG. 3. The label switched system400comprises a primary LSP, shown as a solid arrow line, which is substantially similar to the primary LSP as described inFIG. 3. The backup LSP comprises the internal node440C, the internal node440E, and the egress node440F. The internal node440E and the backup egress node may not belong to the primary LSP. The backup LSP is shown using a dashed arrow line inFIG. 4. As such, data traffic may be communicated from the source node430to the client node450via the primary LSP and the backup LSP. For example, communicating data traffic (e.g., a data packet491) using the primary LSP under normal operation may be substantially similar to using the primary LSP to communicate data traffic under normal operation as described inFIG. 3.

The internal node440C may be configured to detect a failure of the egress node440D. For example, the internal node440C may employ a BFD session490between the internal node440C and the egress node440D. When the internal node440C detects a failure of the egress node440D, the internal node440C may be configured to generate a second data packet492. The second data packet492may comprise a backup LSP label, the service label, and the data content portion. In an example embodiment, the internal node440C may be configured to swap the primary LSP label for the backup LSP label. The service label and the data content portion may be the same as the data content portion of data packet491. The internal node440E may be configured to receive the second data packet492, to update the backup LSP label, and to send the second data packet492to the next-hop node (e.g., the backup egress node). For example, the internal node440E may be configured to update the backup LSP label by swapping the backup LSP label from a value of 58 to a value of 87 indicating the next-hop node. The backup LSP label value may be determined by a table, algorithm, or any other method as would be appreciated by one of ordinary skill in the art upon viewing this disclosure. The backup egress node may be configured to receive the second data packet492, to locate an LFIB for the primary egress node using the backup LSP label as a context label, to locate a forwarding entry using the service label as a UA label, and to deliver the second data packet492to the client node450in accordance with the forwarding entry.

FIG. 5is another example embodiment of a label switched system500employing an egress node protection scheme. The label switched system500comprises the label switched network402in data communication with the source node430and the client node450. Label switched system500may be configured substantially similar to label switched system400as described inFIG. 4. The label switched system500comprises a primary LSP, shown as a solid arrow line, and a backup LSP, shown as a dashed arrow line, which are substantially similar to the primary LSP and the backup LSP as described inFIG. 4. As such, data traffic may be communicated from the source node430to the client node450via the primary LSP and the backup LSP. For example, communicating data traffic (e.g., a data packet591) using the primary LSP under normal operation may be substantially similar to using the primary LSP to communicate data traffic under normal operation as described inFIG. 3.

When the internal node440C detects a failure of the egress node440D, the internal node440C may be configured to generate a second data packet592. The second data packet592may comprise a backup LSP label, the service label, and the data content portion. In an example embodiment, the internal node440C may be configured to swap the primary LSP label for the backup LSP label and to add one or more additional labels indicating the primary LSP between the internal node440C and the primary egress node440D. For example, the primary LSP label (e.g., a label with a value of 57) may be added to (e.g., under) the backup LSP label (e.g., a label with a value of 87) to indicate that the data packet is for the primary LSP. The service label and the data content portion may be the same as the data content portion of data packet591. The internal node440E may be configured to receive the second data packet592, to update the backup LSP label, and to send the second data packet592to the next-hop node (e.g., the backup egress node). For example, the internal node440E may be configured to update the backup LSP label by swapping a label (e.g., the label with a value of 87) from the stack of labels for another label (e.g., a label with a value of 65). The backup egress node may be configured to receive the second data packet592, to locate an LFIB for the primary egress node using the backup LSP label (e.g., the label with the value of 65) as a context label, to locate a forwarding entry using the service label as a UA label, and to deliver the second data packet592to the client node450in accordance with the forwarding entry.

FIG. 6is another example embodiment of a label switched system600employing an egress node protection scheme. The label switched system600comprises the label switched network402in data communication with the source nodes430A and430B and the client nodes450A and450B. The source nodes430A and430B may be in data communication with the ingress nodes440A and440B and may be configured to deliver traffic (e.g., data packet691) to the ingress node440A and/or ingress node440B. The client nodes450A and450B may be in data communication with the egress node440D and440F and may be configured to receive data traffic from the egress node440D and/or the egress node440F. The source node430A, the source node430B, the client node450A, and/or the client node450B may be a network or network node that is external or distinct from the label switched network402. Alternatively, the source node430A, the source node430B, the client node450A, and/or the client node450B may be a portion of and/or incorporated within the label switched network402. The label switched system600comprises a primary LSP, shown as a solid arrow line, and a backup LSP, shown as a dashed arrow line, which are substantially similar to the primary LSP and the backup LSP as described inFIG. 4. As such, data traffic (e.g., data packet691) may be communicated from a source node to a client node via the primary LSP and the backup LSP.

In an example embodiment, the ingress node440B of the primary LSP may be configured to push or add a plurality of labels onto the data packet691. For example, the data packet691may comprise a primary LSP label, a service label, and a data content portion. UsingFIG. 6as an example, the primary LSP label may initially be a value of 59 that indicates to route the data packet691along the primary LSP. Additionally, the service label may indicate the destination for the data packet691. For example, a first service label may indicate the data packet691is to be delivered to the client node450A and a second service label may indicate the data packet691is to be delivered to the client node450B. The internal node440C may be configured to receive the data packet691, to update the primary LSP label, and to send the data packet691to the next-hop node (e.g., the primary egress node). For example, the internal node440C may be configured to update the primary LSP label by swapping the primary LSP label from a value of 59 to a value of 57. The primary egress node may be configured to receive the data packet691, to pop the primary LSP label and the service label, and to deliver the data packet691in accordance with the forwarding entry associated with the service label.

When the internal node440C detects a failure of the egress node440D, the internal node440C may be configured to generate a second data packet692. The second data packet692may comprise a backup LSP label, the service label, and the data content portion. In an example embodiment, the internal node440C may be configured to swap the primary LSP label for the backup LSP label and to add one or more additional labels indicating the primary LSP between the internal node440C and the primary egress node440D. For example, the primary LSP label (e.g., a label with a value of 57) may be added to (e.g., under) the backup LSP label (e.g., a label with a value of 87) to indicate that the data packet is for the primary LSP. The service label and the data content portion may be the same as the data content portion of data packet691. The internal node440E may be configured to receive the second data packet692, to update the backup LSP label, and to send the second data packet692to the next-hop node (e.g., the backup egress node). For example, the internal node440E may be configured to update the backup LSP label by swapping a label (e.g., the label with a value of 87) from the stack of labels with another label (e.g., a label with a value of 65). The backup egress node may be configured to receive the second data packet692, to locate an LFIB for the primary egress node using the backup LSP label as a context label, to identify that the data packet belongs to the primary LSP (e.g., using the primary LSP label) to locate a forwarding entry using the service label as a UA label, and to deliver the second data packet692in accordance with the forwarding entry associated with the service label.

FIG. 7is another example embodiment of a label switched system700employing an egress node protection scheme. The label switched system700comprises the label switched network402in data communication with the source nodes430A and430B and the client nodes450A and450B. Label switched system700may be configured substantially similar to label switched system600as described inFIG. 6. The label switched system700comprises a primary LSP, shown as a solid arrow line, and a backup LSP, shown as a dashed arrow line, which are substantially similar to the primary LSP and the backup LSP as described inFIG. 6. As such, data traffic may be communicated from a source node to a client node via the primary LSP and the backup LSP. For example, communicating data traffic (e.g., a data packet791) using the primary LSP under normal operation may be substantially similar to using the primary LSP to communicate data traffic under normal operation as described inFIG. 6.

When the internal node440C detects a failure of the egress node440D, the internal node440C may be configured to generate a second data packet792. The second data packet792may comprise a backup LSP label, the service label, and the data content portion. In an example embodiment, the internal node440C may be configured to swap the primary LSP label for the backup LSP label. The service label and the data content portion may be the same as the data content portion of data packet791. The internal node440E may be configured to receive the second data packet792, to update the backup LSP label, and to send the second data packet792to the next-hop node (e.g., the backup egress node). For example, the internal node440E may be configured to update the backup LSP label by swapping the backup LSP label from a value of 58 to a value of 87. The backup egress node may be configured to receive the second data packet792, to locate an LFIB for the primary egress node using the backup LSP label as a context label, to locate a forwarding entry using the service label as a UA label, and to deliver the second data packet792in accordance with the forwarding entry.

FIG. 8is an example embodiment of a message object800. Message object800may be employed to signal egress fault protection and/or to provide control information to a backup egress node to provide egress fault protection. Message object800may be configured to be an independent message or incorporated within another message. For example, message object800may be inserted into a PATH and/or RESV message being communicated between an upstream node (e.g., an ingress node or an internal node) and the primary egress node and/or the backup egress node. Message object800comprises an egress backup sub-LSP destination address field802, an egress primary sub-LSP destination address field804, and a sub-objects field806. The egress backup sub-LSP destination address field802may comprise a backup egress node IP address (e.g., an IP version 4 (IPv4) or an IP version 6 (IPv6) address). For example, the egress backup sub-LSP destination address field802may about four bytes long for an IPv4 address and about 16 bytes long for an IPv6 address. The sub-objects field806may be about 24 bytes long and may comprise one or more sub-objects which may comprise information for establishing a backup LSP and/or for controlling a backup LSP. For example, the sub-objects field806may comprise a service label, an IP address of a client node, identification information for the primary LSP, and/or instructions to use an LSP label (e.g., a backup LSP label) as a context label to locate an LFIB and to use a service label as a UA label to locate a forwarding entry in the LFIB, which forwards data (e.g., using the IP address of the client node) to the client node.

FIG. 9is a flowchart of an example embodiment of an egress fault protection method900. In an example embodiment, a backup egress node may be configured to employ method900to protect the primary LSP in the event of a primary egress node failure. In an example embodiment, a previous-hop node may send a PATH message comprising a message object (e.g., message object800as described inFIG. 8) to a backup egress node to establish a backup LSP with the backup egress node. Additionally, the previous-hop node may send data traffic to a primary egress node via the primary LSP and may not send data traffic to the backup egress node via the backup LSP during normal operation. The previous-hop node may detect a primary egress node failure and may switch the data traffic from the primary LSP to the backup LSP to deliver the data traffic via the backup egress node. Method900may be used to control data traffic delivery from a source node to a client node in response to detecting a failure involving the primary egress node of the primary LSP.

At step902, method900may receive a service label from a primary egress node for the primary LSP. For example, a backup egress node may receive a service label comprising a service label associated with a unique service or application, a destination address for the client node, and a source address for a primary egress node. At step904, method900may generate a forwarding entry for the primary egress node using the service label. For example, the backup egress node may create a forwarding entry in an LFIB associated with the primary egress node that maps the service label to the destination address of a client node. Additionally, the forwarding entry may comprise instructions to pop one or more labels prior to sending a data packet. At step906, method900may receive a data packet comprising a backup LSP label, the service label, and a data content portion. For example, the backup egress node may receive a data packet via the backup LSP. At step908, method900may locate the LFIB for the primary egress node using the backup LSP label. For example, the backup egress node may use the backup LSP as a context label to locate the LFIB associated with the primary egress node. At step910, method900may find the forwarding entry for the primary egress node using the service label. For example, the backup egress node may use the service label as a UA label to locate a forwarding entry in the LFIB associated with the primary egress node to determine the destination address of a client node. At step912, method900may send the data packet according to the forwarding entry for the primary egress node. For example, the backup egress node may send the data packet to the client node in accordance with the forwarding entry in the LFIB associated with the primary egress node.