System and method for distributed resource reservation protocol-traffic engineering (RSVP-TE) hitless restart in multi-protocol label switching (MPLS) network

A system of hitless restart in a network, where at least one node in the network provides routing control distributed among ingress ports (ingress cards) and egress ports (egress cards), is disclosed. With distributed routing control, each ingress card has its own routing-control software and each egress card has its own routing-control software. When the routing-software at an ingress port or an egress port of a node is restarted, current connections traversing a restarting ingress card or a restarting egress card continue to function normally during a restart period without data loss. The disclosed system is tailored to a multi-protocol label switching (MPLS) network employing distributed-resource-reservation-protocol traffic engineering (RSVP-TE). The system relies on messaging between ingress card control planes, ingress card data planes, egress card control planes, and egress card data planes of a restarting node.

FIELD OF THE INVENTION

This invention relates generally to telecommunications networks and, in particular, to a routing system and methods for distributed RSVP-TE (resource reservation protocol-traffic engineering) hitless graceful restart in MPLS (multi-protocol label switching) telecommunications network.

BACKGROUND OF THE INVENTION

Nowadays, users/customers of telecommunications networks and international regulatory bodies demand an extremely high quality of service with little or no periods of service failure or down time. Accordingly, many attempts have been made by equipment manufactures to develop the design of switching nodes that produce hitless and graceful restart when control plane software upgrade occurs in the telecommunication networks, especially in optical telecommunications networks. Graceful restart is only applicable to new generation switching nodes where the separation of data and control planes are implemented.

The RSVP (resource reservation protocol) graceful restart allows a router (a switching node) undergoing a restart to inform its adjacent neighbours of its condition. The restarting router requests a-grace period from the neighbour or peer, which can then cooperate with the restarting router. The restarting router can still forward MPLS (multi-protocol label switching) traffic during the restart period. The restart is not visible to the rest of the network. For the restarting router, the RSVP graceful restart maintains the path installed by RSVP and the allocated labels, so that traffic continues to be forwarded without disruption. This is done quickly enough to reduce or eliminate the impact on neighbouring nodes. For the router's neighbours, the neighbouring routers must have the RSVP graceful restart helper mode enabled, thus allowing those to assist a router attempting to restart RSVP.

All RSVP graceful restart procedures are timer-based for both restart and recovery. During the recovery time, a restarting node attempts to recover its lost states with assistance from its neighbours. The neighbour of the restarting node needs to send the PATH messages with the recovery labels to the restarting node within a period of one half of the recovery time. The restarting node considers its graceful restart complete after its advertised recovery time. Currently there is no way for RSVP to determine that it has completed a restart procedure, other than after a fixed timeout.

FIG. 1of the prior art shows a telecommunications network100having a number of nodes, Node A105to Node I145, and links,107,113,117,123,124,126,129,133,136,137,139,141,142,143,144,147, and153, connecting the nodes. If the data forwarding between nodes is operating normally and a node control plane restarts, due to crash, software upgrade, or the control channel between a pair of nodes restarts, then all LSPs (label switched paths) traversing the node are terminated. This causes a major traffic disruption inside the network. With graceful restart, the control plane can be recovered without disrupting the data plane, that is, no disruption to data/user traffic. As shown inFIG. 1, two LSPs are going through Node C115. One LSP is going through the links107from Node A105to Node B110,113from Node B110to Node C115,117from Node C115to Node D120, and123from Node D120to Node E125. Another LSP is going through the links137from Node G135to Node H140,143from Node H140to Node C115,147from Node C115to Node D120, and153from Node D120to Node F130. Node B110, Node D120, and Node H140have knowledge about the labels that are used for data forwarding on Node C115. Node C115advertises the graceful restart capability to the neighbouring Node B110, Node H140, and Node D120. If the control plane on Node C115has crashed and if the data forwarding is operating normally, Node B110, Node H140, and Node D120would not be impacted and will keep the LSPs running through139,141,142, and144links intact. After detecting that Node C115is up again, Node B110, Node D120, and Node H140send label information to Node C115to help its recovery.

Prior art teaches different approaches of achieving graceful restart for traditional multi-protocol label switching (TMPLS) including state copy method, protocol method with network management system (NMS) assistance, protocol method with minimal traffic hit, and protocol method with zero traffic hit.

The state copy method copies all the LSP state information to a random access memory (RAM) that is not affected by the restart. After restart of a card, the LSP state on the card is recreated by copying it back from RAM. The drawback with this approach is that it requires up to 2000 bytes for each LSP and, as the number of LSPs grows, scalability in terms of RAM requirements becomes an issue. In addition, each time the RSVP state blocks are altered, there is a need to alter the graceful restart mechanism to ensure that the new fields in the state blocks are copied to RAM as well.

The protocol method with network management system (NMS) assistance requires NMS intervention to facilitate the graceful restart. Here, the NMS identifies all the LSPs passing through the card that is to be restarted. From the RSVP management information database, the NMS is able to identify the head node for each of these LSPs. After restart, the NMS contacts the ingress label edge router (LER) for each of the previously identified LSPs and initiates a modify operation on the LSPs. This causes the state to be recreated at the restarted card. The drawback of this method is that it requires NMS involvement and it impacts a large number of nodes in the network. The method also requires control plane to data plane binding and refresh hold-off operations.

The protocol methods with minimal or zero traffic hit recreates the RSVP protocol state in the restarted card by taking advantage of the RSVP refresh mechanism and adding some RSVP extensions. The protocol method with minimal traffic hit uses the mechanisms inherent in RSVP but results in over-written labels on one or more nodes. On the other hand, while the protocol method with zero traffic hit also relies on RSVP mechanisms, it will not over-write any labels and consequently should result in no traffic disruption in addition to re-establishing RSVP state on the restarted card. This approach binds the RSVP control plane to the existing data plane entries. The protocol methods with minimal or zero traffic implementation require that the router node has means to inform its neighbouring nodes to stop their refresh timeout mechanism during restart and means to determine when a link has gone down. The neighbouring nodes require means to send PATH messages to the restarting node on detection of restart completion. The restarted node also requires means to recreate the RSVP state at the restarting LSR, and means to bind the control plane RSVP state with the data plane LSP table entries.

FIG. 2of the prior art illustrates the forwarding tables for LSPs on the nodes in the network ofFIG. 1. The forwarding table on the data plane is used for switching bidirectional traffic. The forwarding table on the control plane is used for controlling the setup of connections and the direction of connection-oriented packets through the node.FIG. 2shows a logical view of the forwarding tables210,220,250, and260for the LSPs along with the state blocks that manage them. These tables are an over-simplification intended merely as an aid to discussing the graceful restart implementation. InFIG. 2, upRsb table210is Table (i) for the forward traffic incoming label embedded in RESV message; downRsb table220is Table (ii) for the forward traffic outgoing label embedded in RESV message; downPsb table250is Table (iii) for the reverse traffic incoming label embedded in PATH message; and upPsb table260is Table (iv) for the reverse traffic outgoing label embedded in PATH message. The upPsb table260(Table (iv) inFIG. 2), downPsb table250(Table (iii) inFIG. 2), downRsb table220(Table (ii) inFIG. 2), and then upRsb table210(Table (i) inFIG. 2) are downloaded in that order for a regular LSP setup. The forward traffic incoming label table (upRsb table)210contains the forward traffic inLabel entry212(e.g., ft.inLabel.x, ft.inLabel.y, etc.), forward traffic out interface entry214(e.g., ft.outlnterface.x, ft.outlnterface.y, etc.), and forward traffic pointer entry216(e.g., ft.Pointer.x, ft.Pointer.y, etc.). The forward traffic outgoing label table (downRsb table)220contains the forward traffic outLabel entry225(e.g., ft.outLabel.x, ft.outLabel.y, etc.). The forward traffic pointer entry points to the forward traffic out interface entry in the upRsb table; the forward traffic inLabel entry in the upRsb table; and the forward traffic outLabel entry in the downRsb table. The reverse traffic incoming label table (downPsb table)250contains the reverse traffic inLabel entry252(e.g., rt.inLabel.x, rt.inLabel.y, etc.), reverse traffic out interface entry254(e.g., rt.outInterface.x, rft.outInterface.y, etc.), and reverse traffic pointer entry256(e.g., rt.Pointer.x, rt.Pointer.y, etc.). The reverse traffic outgoing label table (upPsb table)260contains the reverse traffic outLabel265(e.g., rt.outLabel.x, rt.outLabel.y, etc.). The reverse traffic pointer entry points to the reverse traffic out interface entry in the downPsb table; the reverse traffic inLabel entry in the downPsb table; and the reverse traffic outLabel entry in the upPsb table. These tables are searched by the node processor (NP) (not shown) for matching the labels received in the PATH and RESV messages to the entries of the tables for binding the control plane to the data plane. In today's routing node, the tables are stored on both the data plane and the control plane as discussed further in the following routing node architecture.

FIG. 3shows a prior art node300having a control plane310and a plurality of ingress card325and egress card345data planes320and340. The control plane310having a MPLS control plane315. The forwarding table3150on the MPLS control plane315stores the LSP states' tables, (that is, upRsb table3151, downRsb table3152, upPsb table3153, and downPsb table3154, as discussed inFIG. 2above). The ingress card data plane320stores the forwarding table3250for said LSP states' tables, (that is, upRsb table3251, downRsb table3252, upPsb table3253, and downPsb table3254, as discussed inFIG. 2above). The egress card data plane340stores the forwarding table3450for said LSP states' tables, (that is, upRsb table3451, downRsb table3452, upPsb table3453, and downPsb table3454, as discussed inFIG. 2above). The MPLS control plane315forwarding table3150updates the ingress card data plane320forwarding table3250and egress card data plane340forwarding table3450. In this architecture the MPLS control plane310is centralized for ingress and egress cards. The centralized MPLS control plane310and ingress and egress data planes320and340are managed separately and either data or control processor failure will not affect the entire node's operations. The ingress and egress data plane320and340uses the LSPs states' tables for data and user traffic routing in the network. The control plane310uses the LSPs states' tables for setting up the connections and the direction of connection-oriented packets through the network. For various reasons, such as software upgrade or control software crash, the centralized MPLS control plane310needs to be restarted more frequently than the data planes320and340. Graceful restart at centralized MPLS control plane310, recovers the control information on the “down” nodes without disturbing data traffic. In this architecture the forwarding table3150for the LSPs states are centralized for all cards and, hence, restarting the centralized MPLS control plane310and315effects the entire node's operations.

Prior art entitled “Internet draft draft-ietf-mpls-generalized-rsvp-te-09.txt, Generalized MPLS (GMPLS) signalling—RSVP-TE Extensions” by Internet Engineering Task Force (IETF) (April 2002) teaches a centralized RSVP-TE based GMPLS implementation where the LSPs states are stored on the node processor (NP) for the control plane and are centralized for all cards. The routing node architecture is as discussed inFIG. 3above. In accordance with the prior art, for LSPs passing through a restarting node, both the upstream and downstream neighbours for all cards on the node will be affected. Upstream neighbours would not send PATH messages and disable RESV timeout while the downstream neighbours disable PATH timeout and sending of RESV refresh, (that is, both upstream and downstream neighbours are affected and detected the restart because the nodes cannot send or receive refresh packets).

The centralized RSVP-TE based GMPLS solution relies on recreation of RSVP state based on learning from their neighbours. And since all four states (upPsb, downPsb, upRsb and downRsb) were deleted, when a PATH message is received from an upstream node or a RESV message is received from a downstream node, it appears exactly the same as a new LSP creation for that node and is passed to the corresponding card on the node.

The prior art teaches a recently standardized GMPLS object that is called SUGGEST_LABEL object. When the restart capability object is sent in RSVP Hello messages to advertise a node's restart capability, then the neighbouring node sends a SUGGEST_LABEL object to the restarting node to recover its forwarding state. This is essentially the old label that the restarting node advertised before the node went down. In centralized RSVP-TE based GMPLS implementation, where all four LSPs states are stored on the node's processor (NP) for the control plane, individual card, ingress or egress, cannot be restarted.

The prior art graceful restart for centralized RSVP-TE based GMPLS implementation incorporates the Hello messages between nodes, and the restart capability object to the Hello message. This solution uses a recently standardized SUGGEST_LABEL object, at least two new timers in RSVP state machines, a new requirement to search NP (node processor) forwarding state to correlate with RSVP-TE control state, new capability to distinguish between control channel failure and genuine restart, a new provision for inter-working with fast reroute mechanism and for support of bi-directional LSP (label switched path), and other new features such as bundle, message identifier, and summary of refresh options. These new requirements for centralized RSVP-TE implementation add complexity to the graceful restart solution.

Further, the prior art introduces three new RSVP messages and objects for centralized RSVP-TE based GMPLS implementation graceful restart solution. The Hello messages are used along with bundle messages, message identifier object, and summary refresh to address RSVP scalability issues. The Hello messages are typically sent every five milliseconds to detect node failures if other such mechanisms are not available. The process consists of a node sending a Hello message and the other node responding with a Hello acknowledgement message. Changed instance values in the Hello message are used to indicate that a restart occurred. The receiver of the Hello message waits a configurable multiple of Hello intervals before assuming communication has been lost with the neighbour node. The Hello message can be included in bundle message though this is not mandatory. Another object, the restart capability object, contains the restart time and recovery time fields. The restart time is the time that the sender of the object specifies to the receiver to wait after detecting failure of RSVP communication with the sender. After this time has expired, the receiver can consider the communication severed. This value is set before any restart occurs. The recovery time value is set after the restart. The LSR or LER that has just restarted informs its neighbour that this is the amount of time it retains the forwarding state that it preserved across the restart. The restarting LSR or LER sets a timer based on recovery time value. Once recovery time expires, it deletes the LSP that doesn't have a label. The LSP states are recreated via SUGGEST_LABEL from the LSR neighbour. When recovery time value is zero, it means that the states are not preserved across the restart. When the recovery time value is set equal to “0xffffffff”, it means that the states are preserved across restart and retained till removed by means outside of the mechanisms. When the recovery time value is set to “other”, it means that no restart is detected, and LSR is operating normally. The third object is a new SUGGEST_LABEL object, which is used to inform the adjacent restarted node with the label value it provided from the sending node when the LSP was setup. It is a means of recreating the state on the restarting node.

In accordance with the prior art, after the restarted node comes up, if unable to preserve the forwarding state, it sets recovery time to zero. Otherwise it sets the recovery time to a configured value that is transmitted in the restart capability object. If the state is preserved, the restarted node sets the MPLS forwarding state holding timer to a configurable value. All RSVP states must be recreated before timer expiry. On expiry of MPLS forwarding state holding timer, the restated node searches through all forwarding plane entries, i.e., the LSPs states' tables discussed before. For each entry, the node tries to find a state in the control plane matching to RSVP. If no matching entry is found, the node deletes forwarding plane entry. When the node receives a PATH message from its neighbouring upstream node, the node searches the RSVP states in the forwarding table. If the state is found, this appears to be a refresh, and then the node treats normally. If the state is not found, and there is no SUGGEST_LABEL, the node treats as a new LSP setup, and if the state is not found and SUGGEST_LABEL is present, the node searches the forwarding tables to find an entry with matching label to the label that is suggested by the upstream node. If the entry is not found, the node treats it as a new LSP setup. If the entry is found (that is, labels are match), the node creates RSVP state and binds to forwarding plane entry. Here both incoming and outgoing labels (bi-directional) are known and fill the upstream label object with the correct label so as not to cause modification to the downstream node.

The Hello messaging between the nodes enables a node to detect that its neighbour's control plane went down. If the neighbouring node implements graceful restart, this is known from previous presence of restart capability object, then the node waits a minimum time between the restart time and local configurable timer, and then the node tries to re-establish communication with the restarted node. If the neighbour's control plane restarted, the node verifies that the neighbour preserved the state across restart via non-zero recovery time in Hello message. For each LSP where the neighbour is downstream next hop, the node inputs the original label received in label object from the neighbour into SUGGEST_LABEL object of PATH message and sends the message to the neighbour. The node holds on sending RESV messages to the neighbour until it receives the PATH message from the restarted node. If the control channel with the neighbour was lost, and the recovery time from the neighbour is non-zero, then the node treats it as communication channel restart and not as a node restart. On communication channel restart, the node sends RSVP summary refresh to the neighbour with a list of all message identifiers for all acknowledge messages.

FIG. 4(prior art) illustrates a packet that walkthrough a portion of a network400for an LSP that is set up and passes through a number of LSR nodes, Node A402, Node B404, and Node C406, for centralized RSVP-TE based GMPLS implementation. The node architecture is as shown inFIG. 3where the four LSPs states' tables (upRsb, downRsb, downPsb, and upPsb tables) are centralized for all cards and hence, the restart is only performed on the node. The forward direction of traffic405is from Node A402to Node C406, and the reverse traffic direction495is from node C406to node A402. Node B420is restarted. Node A410and Node C430recognize that Node B420is restarted via the Hello messaging413and419between nodes, and they cancel the refresh mechanism. After a designated time, Node A410recognizes that Node B420is alive again and sends PATH message412to Node B420with the same upstream label as before but with the new SUGGEST_LABEL that is same as the label object previously sent from Node B420to Node A410before the restart. Node B420recreates reverse traffic outLabel entry for upPsb table and binds reverse traffic outLabel entry to upPsb table425. To do the binding, Node B420searches upPsb table425for a label that matches the upstream lable just received. Node B420sends PATH message414to downside where reverse traffic inLabel entry for downPsb table is created. Node B searches the downPsb table426to find the pointer that matches the reverse traffic outLabel entry in the downPsb table that was found by searching upPsb table425. From the entry found in the previous step, Node B420knows reverse traffic inLabel entry for the downPsb table for reverse direction and updates its label manager accordingly. Node B420then fills the PATH message414upstream label with this value, and sends the PATH message414to Node C430. Node C430receives the PATH message414and generates RESV message418to Node B420soon thereafter. Node B420recreates its forward traffic outLabel entry for the downRsb table by searching the downRsb table427and binds the forward traffic outLabel entry to downRsb table427. Node B420finds the correct entry in downRsb table427by searching the table for the contents of the label object sent by Node C430. From the Node B420perspective, this is the outgoing label for the forward direction traffic. Node B420sends the RESV message416to the upside where forward traffic inLabel entry for the upRsb table is now created. The forward traffic inLabel entry finds its corresponding entry in upRsb table428by matching the SUGGEST_LABEL value received by the reverse traffic outLabel entry in upPsb table415from Node A410with the forward traffic inLabel entry in the upRsb table428. The forward traffic inLabel entry in the upRsb table can also find its corresponding entry in the upRsb table428by searching the table for the forward traffic pointer entry that matches the forward traffic outLabel entry from downRsb table427as passed in the RESV message418from forward traffic outLabel entry in the downRsb table. Node B420now knows the forward traffic inLabel entry for upRsb table428and updates its label manager accordingly. Node B420sends the RESV message416to Node A410with its label object having the same value the SUGGEST_LABEL from Node A410contained that looks like regular RESV message416from Node A410perspective.

Unfortunately, the prior art providing centralized RSVP-TE based GMPLS implementation of hitless restart doesn't allow for an individual card on a node to restart, and therefore, the node restart causes loss of data/user traffic. Introducing a new object (such as, SUGGEST_LABEL object) is strongly resisted by service providers due to the inherent risk of software defects, network instability, and management complexity. Further, the SUGGEST_LABEL object is part of GMPLS (generalized multi-protocol label switching) stack and it is not suitable for use with TMPLS (traditional multi-protocol label switching). This requires customers wishing to incorporate graceful restart in their network to implement the GMPLS stack.

Prior art on protection switching in optical telecommunication network provides another solution for hitless restart, which fully protects all connections within the node at the card level. The 1+1 hitless protection switching provides one protection line card to act as a backup for one working line card, and should the working line card experience a failure, the protection line card automatically takes over and restores data flow to the network. Protection switching uses overhead bytes to identify and trigger protection switchovers. In a 1+1 hitless protection switching, each active line card has a backup (or protection) line card that can be switched into the circuit path while the primary line card is isolated in case the primary board fails. This enables individual card switchover and is accomplished by having a supervisory card that constantly monitors each card on the node and issues a switching command when necessary. Traditionally, switching has been implemented with mechanical relays. From an architecture standpoint, the relay switching solution is easy to design, but comes with inherent drawbacks. The idea is that identical signalling streams are transmitted out over two physical ports. The two receivers on the far side listen only on the working port, known as the primary port. When certain conditions are detected, such as loss of frame, loss of signal, and signal degradation, the receiver simply begins listening on the protection (or backup) port. When transmitting data, both the working port and the protection port send duplicate frames. The transmitting side makes no adjustments or configuration changes during or after protection switching failover.

Thus, the prior art on hitless protection switching for optical telecommunication networks provides graceful restart. However, it requires redundancy in hardware and software resources. These resources are implemented in a one-to-one and one-to-many backup. The 1+1 hitless protection switching is not a centralized implementation of graceful restart, but rather distributed over the line cards, which enable individual card switchover to backup line card with no impact on the entire node's operations. Therefore, for hitless protection switching, redundant hardware and software resources are required for implementing protection switchovers, which results in increased capital and operational costs.

Accordingly, there is a need for the development of improved routing node architecture and methods for hitless graceful restart for an RSVP-TE (resource reservation protocol-traffic engineering) based MPLS (multi-protocol label switching) that would overcome the shortcomings and limitations of the prior art.

SUMMARY OF THE INVENTION

It is an object of the present invention to provide a new system architecture and methods for hitless graceful restart for distributed RSVP-TE (resource reservation protocol-traffic engineering) in a MPLS (multi-protocol label switching) telecommunications networks.

The invention, therefore, according to one aspect provides a system for distributed RSVP-TE (resource reservation protocol-traffic engineering) hitless graceful restart for a MPLS (multi-protocol label switching) network comprising: a plurality of ingress and egress cards, each card having an MPLS control plane forwarding table for reverse and forward traffic outgoing and incoming labels for LSPs (Label Switched Paths) in the MPLS network; a plurality of ingress and egress card data planes, each card data plane having said forwarding table stored thereon; and a means for providing messaging between the ingress card MPLS control plane, ingress card data plane, egress card MPLS control plane, and egress card data plane.

The forwarding table on the ingress card MPLS control plane, ingress card data plane, egress card MPLS control plane, and egress card data plane include a reverse traffic outgoing label table (upPsb table) having a reverse traffic outLabel entry for sending the reverse traffic by the system; a reverse traffic incoming label table (downPsb table) having a reverse traffic inLabel entry for receiving the reverse traffic by the system; a forward traffic outgoing label table (downRsb table) having a forward traffic outLabel entry for sending forward traffic by the system; and a forward traffic incoming label table (upRsb table) having a forward traffic inLabel entry for receiving forward traffic by the system. The reverse traffic incoming label table (downPsb table) further comprises a reverse traffic out interface entry for identifying the reverse traffic output interface on the system; and a reverse traffic pointer entry for pointing to the reverse traffic out interface entry in the downPsb table; the reverse traffic inLabel entry in the downPsb table; and the reverse traffic outLabel entry in the upPsb table. The forward traffic incoming label table (upRsb table) further comprises a forward traffic out interface entry for identifying the forward traffic output interface on the system; and a forward traffic pointer entry for pointing to the forward traffic out interface entry in the upRsb table; the forward traffic inLabel entry in the upRsb table; and the forward traffic outLabel entry in the downRsb table.

In accordance with the embodiments of the present invention, the system for distributed RSVP-TE (resource reservation protocol-traffic engineering) hitless graceful restart for a MPLS (multi-protocol label switching) network comprises an ingress card MPLS control plane means for providing messaging between the ingress card MPLS control plane, the ingress card data plane, and the egress card MPLS control plane; and an egress card MPLS control plane means for providing messaging between the egress card MPLS control plane, the egress card data plane, and the ingress card MPLS control plane. The ingress card MPLS control plane means comprises means for providing Hello messages for detecting a restart status of the egress card MPLS control plane. The egress card MPLS control plane means comprises means for providing Hello messages for detecting a restart status of the ingress card MPLS control plane. The ingress card MPLS control plane means comprises means for providing messages for searching, updating, and binding the forwarding tables stored on the ingress card data plane. The ingress card MPLS control plane means further comprises means for providing messages for searching, updating, and binding the forwarding tables stored on the egress card MPLS control plane. The egress card MPLS control plane means comprises means for providing messages for searching, updating, and binding the forwarding tables stored on the egress card data plane. The egress card MPLS control plane means further comprises means for providing messages for searching, updating, and binding the forwarding tables stored on the ingress card MPLS control plane.

Another aspect of the present invention provides a MPLS network having a plurality of nodes, each node comprising the system for distributed RSVP-TE hitless graceful restart. The plurality of nodes comprises an ingress edge node, an egress edge node, and a core node interconnected with communications links, wherein each node further comprises means for providing communications between the nodes, wherein the communications between the nodes comprises means for providing communications between the corresponding systems on the nodes, wherein the means for providing communications between the systems on the nodes comprises means for providing communications between the corresponding ingress card MPLS control plane and egress card MPLS control plane on the nodes. The MPLS network having a plurality of nodes, wherein the plurality of nodes comprising an ingress edge node, an egress edge node, and a core node, each node having means for providing communications between the nodes. The means for providing communications between the nodes comprises a means for generating a PATH message having the reverse traffic outLabel entry for the upPsb table; a means for generating a PATH message having the reverse traffic inLabel entry for the downPsb table; a means for generating a RESV message having the forward traffic outLabel entry for the downRsb table; and a means for generating a RESV message having the forward traffic inLabel entry for the upRsb table. The means for providing the communications between the nodes comprises means for exchanging of the MPLS Hello messages, wherein the means for exchanging the MPLS Hello messages comprises means for detecting a restart status of each node in the network.

Another aspect of the present invention provides a method for providing distributed RSVP-TE (resource reservation protocol-traffic engineering) hitless graceful restart in the MPLS network, the restart being provided for one of the ingress card MPLS control plane on a node and the egress card MPLS control plane on a node, the method comprising the steps of detecting a status of the ingress card MPLS control plane and detecting a status of the egress card MPLS control plane. If the status of the ingress card MPLS control plane is “Restart”, then recovering the ingress card MPLS control plane including recovering the forwarding table on the ingress card MPLS control plane from the egress card MPLS control plane on the same node; from another card MPLS control plane on a neighbouring upstream core node in the network; from another card MPLS control plane on a neighbouring downstream core node in the network; from another card MPLS control plane on a neighbouring upstream ingress edge node in the network; and from another card MPLS control plane on a neighbouring downstream egress edge node in the network. If the status of the egress card MPLS control plane is “Restart”, then recovering the egress card MPLS control plane including recovering the forwarding table on the egress card MPLS control plane from the ingress card MPLS control plane on the same node; from another card MPLS control plane on a neighbouring upstream core node in the network; from another card MPLS control plane on a neighbouring downstream core node in the network; from another card MPLS control plane on a neighbouring upstream ingress edge node in the network; and from another card MPLS control plane on a neighbouring downstream egress edge node in the network.

Furthermore, the method for providing distributed RSVP-TE (resource reservation protocol-traffic engineering) hitless graceful restart in the MPLS network further comprises the steps of if the status of the ingress card MPLS control plane is “Restart”, continuing communications between the egress card MPLS control plane on the same node and the neighbouring upstream node and the neighbouring downstream node in the MPLS network; and holding off communications between the neighbouring upstream node, the neighbouring downstream node, and the node including the restarted ingress card MPLS control plane. And if the status of the egress card MPLS control plane is “Restart”, continuing communications between the ingress card MPLS control plane on the same node and the neighbouring upstream node and the neighbouring downstream node in the MPLS network; and holding off communications between the neighbouring upstream node, the neighbouring downstream node, and the node including the restarted egress card MPLS control plane.

Moreover, the method for providing distributed RSVP-TE (resource reservation protocol-traffic engineering) hitless graceful restart in the MPLS network further comprises searching, updating, and binding the recovered forwarding table on the ingress card MPLS control plane with the forwarding tables on the egress card MPLS control plane and the ingress card data plane on the node. The method further comprises searching, updating, and binding the recovered forwarding table on the egress card MPLS control plane with the forwarding tables on the ingress card MPLS control plane and the egress card data plane on the node. The step of recovering the forwarding table on one of the ingress card MPLS control plane and egress card MPLS control plane comprises recovering the upPsb, downPsb, downRsb and upRsb tables on the restarted ingress card MPLS control plane and the restarted egress card MPLS control plane. The step of recovering the forwarding table on one of the ingress card MPLS control plane and egress card MPLS control plane comprises exchanging of the Hello messages between the ingress and the egress cards MPLS control planes. The step of recovering the ingress card MPLS control plane comprises recovering the ingress card on a core node in the MPLS network. The step of recovering the ingress card MPLS control plane comprises recovering the ingress card on an ingress edge node in the MPLS network. The step of recovering the ingress card MPLS control plane comprises recovering the ingress card on an egress edge node in the MPLS network. The step of recovering the forwarding table on the egress card MPLS control plane comprises recovering the egress card on a core node in the MPLS network. The step of recovering the forwarding table on the egress card MPLS control plane comprises recovering the egress card on an ingress edge node in the MPLS network. The step of recovering the forwarding table on the egress card MPLS control plane comprises recovering the egress card on an egress edge node in the MPLS network.

Another aspect of the present invention provides a method for providing distributed RSVP-TE (resource reservation protocol-traffic engineering) hitless graceful restart in the MPLS network, wherein the restart being provided for a node having the ingress card and the egress card, the method comprising the steps of detecting a status of the node. If the status of the node is “Restart”, then recovering the forwarding table on the node from a neighbouring upstream core node in the network; from a neighbouring downstream core node in the network; from a neighbouring upstream ingress edge node in the network; and from a neighbouring downstream egress edge node in the network. The step of recovering the forwarding table on a core node, an ingress edge node, and an egress edge node comprises recovering the upPsb, downPsb, downRsb and upRsb tables on the restarted core node, the restarted ingress edge node, and the restarted egress edge node.

In accordance with a first embodiment of the present invention, the method for providing distributed RSVP-TE (resource reservation protocol-traffic engineering) hitless graceful restart in the MPLS network for recovering the ingress card on the core node in the MPLS network further comprises the steps of creating the reverse traffic outLabel entry for upPsb table using the reverse traffic outLabel entry received in the PATH message from the neighbouring upstream node, the reverse traffic outLabel entry being created by the ingress card MPLS control plane on the core node; creating the forward traffic inLabel entry for upRsb table using the forward traffic outLabel entry in the downRsb table received from the egress card MPLS control plane on the same core node, the forward traffic inLabel entry being created by ingress card MPLS control plane on the core node; searching the downRsb table for the forward traffic outLabel entry which corresponds to the forward traffic inLabel entry in the upRsb table, the searching being performed by the ingress card MPLS control plane on the core node; updating the forwarding table with the forward traffic inLabel entry in the upRsb table, the updating being performed by the ingress card MPLS control plane on the core node and; binding the forward traffic inLabel entry in the upRsb table to the LSP and the forwarding table with the forwarding tables on the ingress card MPLS control plane and the ingress card data plane, the binding being performed by the ingress card MPLS control plane on the core node.

In accordance with a second embodiment of the present invention, the method for providing distributed RSVP-TE (resource reservation protocol-traffic engineering) hitless graceful restart in the MPLS network for recovering the ingress card on the ingress edge node in the MPLS network further comprises the steps of: creating the entries of the forwarding table, the entries being created by the ingress card MPLS control plane on the ingress edge node; and binding the forwarding table to the forwarding tables of the ingress card MPLS control plane and the ingress card data plane, the binding being performed by the ingress card MPLS control plane on the ingress edge node.

In accordance with a third embodiment of the present invention, the method for providing distributed RSVP-TE (resource reservation protocol-traffic engineering) hitless graceful restart in the MPLS network for recovering the ingress card on the egress edge node in the MPLS network further comprises the steps of creating the reverse traffic outLabel entry for the upPsb table, the reverse traffic outLabel entry being created by the ingress card MPLS control plane on the egress edge node; creating the reverse traffic inLabel entry for the downPsb table for the LSP, the reverse traffic inLabel entry being created by the ingress card MPLS control plane on the egress edge node; creating the forward traffic outLabel entry for the downRsb table and sending said entry to the ingress card MPLS control plane on the same egress node, the forward traffic outLabel entry being created by the egress card MPLS control plane on the egress edge node; creating the forward traffic inLabel entry for the upRsb table, the forward traffic inLabel entry being created by the ingress card MPLS control plane on the egress edge node; searching the upRsb table for the forward traffic pointer in the upRsb table that matches the forward traffic outLabel entry in the downRsb table, as passed in the RESV message received from the egress card MPLS control plane on the same egress edge node, the searching being performed by the ingress card MPLS control plane on the egress edge node; and binding the entries of the forwarding table to the LSP and the forwarding table with the forwarding tables on the ingress card MPLS control plane and ingress card data plane, the binding being performed by the ingress card MPLS control plane on the egress edge node.

In accordance with a forth embodiment of the present invention, the method for providing distributed RSVP-TE (resource reservation protocol-traffic engineering) hitless graceful restart in the MPLS network for recovering the egress card on the core node in the MPLS network further comprising the steps of creating the reverse traffic inLabel entry for the downPsb table for the LSP using the reverse traffic outLabel entry in the upPsb table received in the PATH message from the ingress card MPLS control plane on the same core node, the reverse traffic inLabel entry being created by the egress card MPLS control plane on the core node; searching the downPsb table to find a match for the reverse traffic pointer entry received from the ingress card MPLS control plane on the same core node, the searching being performed by the egress card MPLS control plane on the core node; binding the reverse traffic inLabel entry in the downPsb table to the forwarding tables on the egress card MPLS control plane and the egress card data plane, the binding being performed by the egress card MPLS control plane on the core node; recreating the forward traffic outLabel entry for the downRsb table on receipt of RESV message from the ingress card MPLS control plane on the same core node, the forward traffic outLabel entry being created by the egress card MPLS control plane on the core node; searching the downRsb table using the content of the label object in the RESV message, the searching being performed by the egress card MPLS control plane on the core node; and binding the forward traffic outLabel entry to the downRsb table and the forwarding table to the forwarding tables on the egress card MPLS control plane and the egress card data plane, the binding being performed by the egress card MPLS control plane on the core node.

In accordance with a fifth embodiment of the present invention, the method for providing distributed RSVP-TE (resource reservation protocol-traffic engineering) hitless graceful restart in the MPLS network for recovering the egress card on the ingress edge node in the MPLS network further comprising the steps of creating the reverse traffic outLabel entry for the upPsb table and forwarding the PATH message to the neighbouring downstream node, the reverse traffic outLabel entry being created by the egress card MPLS control plane on the ingress edge node; creating the reverse traffic inLabel entry for the downPsb table, the reverse traffic inLabel entry being created by the egress card MPLS control plane on the ingress edge node; searching the reverse traffic inLabel entry in the downPsb table for reverse traffic incoming packets, the searching being performed by the egress card MPLS control plane on the ingress edge node; binding the reverse traffic inLabel entry in the downPsb table to the forwarding tables on the egress card MPLS control plane and the egress card data plane, the binding being performed by the egress card MPLS control plane on the ingress edge node; creating the forward traffic outLabel entry for the downRsb table for the LSP, the forward traffic outLabel entry being created by the egress card MPLS control plane on the ingress edge node; and binding the forward traffic outLabel entry in the downRsb table with the forwarding tables on the egress card MPLS control plane and the egress card data plane when the corresponding entry in the downRsb table is found, the binding being performed by the egress card MPLS control plane on the ingress edge node.

In accordance with a sixth embodiment of the present invention, the method for providing distributed RSVP-TE (resource reservation protocol-traffic engineering) hitless graceful restart in the MPLS network for recovering the egress card on the egress edge node in the MPLS network further comprising the steps of creating the entries for the forwarding table, the entries being created by the egress card MPLS control plane on the egress edge node; and binding the forwarding table with the forwarding tables on the egress card MPLS control plane and the egress card data plane, the binding being performed by the egress card MPLS control plane on the egress edge node.

In accordance with a seventh embodiment of the present invention, the method for providing distributed RSVP-TE (resource reservation protocol-traffic engineering) hitless graceful restart in the MPLS network for recovering the forwarding table on the core node in the MPLS network comprises the steps of creating the reverse traffic outLabel entry for the upPsb table, the reverse traffic outLabel entry being created by the ingress card MPLS control plane on the core node; binding the entries for the LSP with the forwarding tables on the ingress card MPLS control plane and the ingress card data plane, the binding being performed by the ingress card MPLS control plane on the core node; searching the upPsb table for the label that matches the upstream label received from a neighbouring upstream node in the PATH message, the searching being performed by the ingress card MPLS control plane on the core node; recreating the reverse traffic inLabel entry for the downPsb table, the reverse traffic inLabel entry being created by the ingress card MPLS control plane on the core node; binding the reverse traffic inLabel entry to the downPsb table, the reverse traffic inLabel entry being determined by searching the upPsb table using the reverse traffic pointer entry for the reverse traffic outLabel entry, the binding being performed by the ingress card MPLS control plane on the core node; recreating the forward traffic outLabel entry for the downRsb table, the forward traffic outLabel entry being created by the egress card MPLS control plane on the core node; binding the forward traffic outLabel entry to the forwarding tables on the egress card MPLS control plane and the egress card data plane by searching the downRsb table for a matching entry to the label object just received from a neighbouring downstream core node in the RESV message, the binding being performed by the egress card MPLS control plane on the core node; and binding the upRsb table by searching for the forward traffic inLabel entry by matching the reverse traffic outLabel entry in the upPsb table received in the PATH message from a neighbouring upstream egress card MPLS control plane on a neighbouring upstream core node, the binding being performed by the ingress card MPLS control plane on the core node.

In accordance with a weight embodiment of the present invention, the method for providing distributed RSVP-TE (resource reservation protocol-traffic engineering) hitless graceful restart in the MPLS network for recovering of the forwarding table on the ingress edge node in the MPLS network further comprising the steps of creating the reverse traffic outLabel entry for the upPsb table and forwarding the PATH message with said entry to the neighbouring downstream node, the reverse traffic outLabel entry being created by the egress card MPLS control plane on the ingress edge node; searching the downPsb table for reverse traffic incoming packets, the searching being performed by the egress card MPLS control plane on the ingress edge node; binding the reverse traffic inLabel entry in the downPsb table to the forwarding tables on the egress card MPLS control plane and the egress card data plane, the binding being performed by the egress card MPLS control plane on the ingress edge node; and binding the forward traffic outLabel entry in the downRsb table with the forwarding tables on the egress card MPLS control plane and the egress card data plane by finding the corresponding entry in the downRsb table that matches the content of the label object in the RESV message received from the neighbouring downstream node, the binding being performed by the egress card MPLS control plane on the ingress edge node.

In accordance with a ninth embodiment of the present invention, the method for providing distributed RSVP-TE (resource reservation protocol-traffic engineering) hitless graceful restart in the MPLS network for recovering the forwarding table on the egress edge node in the MPLS network further comprises the steps of creating the reverse traffic outLabel entry for the upPsb table, the reverse traffic outLabel entry being created by the ingress card MPLS control plane on the egress edge node; binding the reverse traffic outLabel entry to the upPsb table, the binding being performed by the ingress card MPLS control plane on the egress edge node; searching the upPsb table for reverse traffic outLabel entry that matches the upstream label just received from the neighbouring upstream node, the searching being performed by the ingress card MPLS control plane on the egress edge node; recreating the reverse traffic inLabel entry for the downPsb table, the reverse traffic inLabel entry being created by the ingress card MPLS control plane on the egress edge node; creating the forward traffic outLabel entry for the downRsb table, the forward traffic outLabel entry being created by the ingress card MPLS control plane on the egress edge node; creating the forward traffic inLabel entry for the upRsb table, the forward traffic inLabel entry being created by the ingress card MPLS control plane on the egress edge node; binding the entries for the LSP to the upRsb table and the forwarding tables on the ingress card MPLS control plane and the ingress card data plane, the binding being performed by the ingress card MPLS control plane on the egress edge node; searching the forwarding table for the forward traffic inLabel entry in the upRsb table received from the neighbouring downstream node by matching the reverse traffic outLabel entry in the upPsb table, the searching being performed by the ingress card MPLS control plane on the egress edge node; and binding the forwarding table with the forwarding tables on the ingress card MPLS control plane and the ingress card data plane, the binding being performed by the ingress card MPLS control plane on the egress edge node.

The embodiments of the present invention provide distributed RSVP-TE hitless graceful restart in the MPLS network that allow each card MPLS control plane to store its own forwarding table for the LSPs, and hence, enable a restart of an individual ingress card MPLS control plane on a node and an individual egress card MPLS control plane on a node without impacting the entire node's operations. The system and methods constructed in accordance with the present invention for distributed RSVP-TE hitless graceful restart in the MPLS network allow restarts of an individual ingress card MPLS control plane on a node, an individual egress card MPLS control plane on a node, and the node itself. The present invention does not require the use of the SUGGEST_LABEL object, which requires usage of a GMPLS stack and, hence, provides values to service providers who are concerned about software defects, network instability, and management complexity. Since the present invention achieves hitless graceful restart without using this SUGGEST_LABEL object, it can be used in both TMPLS and GMPLS telecommunications networks. The solution also does not require any new hardware or software resources.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 5illustrates a system500for distributed RSVP-TE hitless graceful restart for a MPLS network comprising a plurality of an ingress card520and an egress card510; a plurality of ingress and egress card MPLS control planes5250and5150, a plurality of ingress and egress cards data planes535and545, means for providing messaging between the ingress and egress cards MPLS control planes550; means for providing messaging between ingress card520MPLS control plane5250and ingress card data plane535; and means for providing messaging between egress card MPLS control plane5150and egress card data plane545. The ingress card520comprising an MPLS control plane5250having a forwarding table525for reverse and forward traffic outgoing and incoming labels for LSPs in the MPLS network; an ingress card data plane535having said forwarding table537; and a means for providing messaging530between the ingress card520MPLS control plane5250and data plane535. The egress card510comprising an MPLS control plane5150having a forwarding table515for reverse and forward traffic outgoing and incoming labels for LSPs in the MPLS network; an egress card data plane545having said forwarding table547; and a means for providing messaging540between the egress card510MPLS control plane5150and data plane545.

The ingress card MPLS control plane5250forwarding table525includes a reverse traffic outgoing label table (upPsb table)5253; a reverse traffic incoming label table (downPsb table)5254; a forward traffic outgoing label table (downRsb table)5252; and a forward traffic incoming label table (upRsb table)5251. The ingress card data plane535forwarding table537includes a reverse traffic outgoing label table (upPsb table)5373; a reverse traffic incoming label table (downPsb table)5374; a forward traffic outgoing label table (downRsb table)5372; and a forward traffic incoming label table (upRsb table)5371.

The egress card MPLS control plane5150forwarding table515includes a reverse traffic outgoing label table (upPsb table)5153having a reverse traffic outLabel entry for sending the reverse traffic by the system; a reverse traffic incoming label table (downPsb table)5154having a reverse traffic inLabel entry for receiving the reverse traffic by the system; a forward traffic outgoing label table (downRsb table)5152having a forward traffic outLabel entry for sending forward traffic by the system; and a forward traffic incoming label table (upRsb table)5151having a forward traffic inLabel entry for receiving forward traffic by the system. The egress card data plane545forwarding table547includes a reverse traffic outgoing label table (upPsb table)5473; a reverse traffic incoming label table (downPsb table)5474; a forward traffic outgoing label table (downRsb table)5472; and a forward traffic incoming label table (upRsb table)5471. The data plane5150forwarding table515provides updates to the control plane5250forwarding table525that in turns update the ingress card535forwarding table537and egress card547forwarding table547.

The system for distributed RSVP-TE hitless graceful restart for a MPLS network comprises a means for providing messaging550between the ingress card MPLS control plane5250and egress card MPLS control plane5150; a means for providing messaging530between the ingress card MPLS control plane5250and ingress card data plane535; and a means for providing messaging540between the egress card MPLS control plane5150and egress card data plane545. The MPLS control plane5250and5150means further comprises means for providing Hello messages for detecting a restart status of the ingress card MPLS control plane5250and the egress card MPLS control plane5150. The ingress card MPLS control plane5250means further comprises means for providing Hello messages for detecting a restart status of the egress card MPLS control plane5150. The egress card MPLS control plane5150means further comprises means for providing Hello messages for detecting a restart status of the ingress card MPLS control plane5250. Furthermore, the ingress card MPLS control plane5250means further comprises means for providing messages for searching, updating and binding the forwarding table525stored on the ingress card MPLS control plane5250and the forwarding table537stored on the ingress card data plane535. The egress card MPLS control plane5150means further comprises means for providing messages for searching, updating and binding the forwarding table515stored on the ingress card MPLS control plane5150and the forwarding table547stored on the ingress card data plane545. The ingress card MPLS control plane5250means comprises means for providing messages550for searching, updating, and binding the forwarding tables stored on the egress card MPLS control plane5150. The egress card MPLS control plane5150means comprises means for providing messages550for searching, updating, and binding the forwarding tables stored on the ingress card MPLS control plane5250.

The ingress and egress card MPLS control planes5250and5150and the data planes535and545in the system500ofFIG. 5are managed separately. The MPLS control plane is the software and processing power that controls the setup of connections and the direction of connection-oriented packets, through a switching node and ultimately through the network using the forwarding table (upRsb, downRsb, downPsb, and upPsb tables) for the LSPs. For various reasons, such as software upgrade or control software crash, the MPLS control plane5250and5150needs to be restarted more frequent than the data plane535and545. Hitless graceful restart at MPLS control plane, recovers the control information on the “down” cards or nodes without disturbing data traffic. In this system the forwarding tables525and515are stored on the ingress card520and egress card510MPLS control planes5250and5150, respectively, for the LSPs. Accordingly, the RSVP-TE implementation is distributed on the ingress and egress cards and, hence, an individual card MPLS control plane can be restarted with no impact on the entire node's operation.

In accordance with the present invention, depending on which card MPLS control plane has restarted and whether the card MPLS control plane is on ingress or egress card for an LSP, only one of either the neighbouring upstream or downstream nodes is affected and recognizes that the node has restarted. The other neighbouring nodes continue exchanging refresh packets with the card that has not restarted. Since only one card may have been restarted, typically, when the refreshed PATH or RESV message arrives, it will not be forwarded to the egress or ingress card respectively, the refresh packets are terminated on the card in which they arrive. Therefore, an additional means for messaging550in the system500is added so that the corresponding card to the restarted card detects when the card is restarted and thus, when it receives the next refreshed PATH or RESV messages, knows that it should forward such packets to the restarted card, if the restart is complete. This initiates RSVP state creation on the restarted card. The new means for messaging550enables the restarted card to update the MPLS control plane5250forwarding table525and binds the control plane5250to the data plane535.

FIG. 6shows a packet walkthrough600for an LSP that is set up and passes through number of LSR nodes Node A602, Node B604, and Node C606. The forward direction of traffic605is from node A602to node C606and the reverse traffic direction695is from node C606to node A602. Card B1620MPLS control plane restarts and Cards B2625and C1keep exchanging refresh PATH messages614and RESV messages618. Card A2610discovers that Card B1620MPLS control plane has gone down, via the Hello messaging613between nodes, and holds off sending PATH messages612. Shortly thereafter, Card A2610discovers that Card B1620MPLS control plane is up—via the Hello messaging613between nodes. Card A2610sends a PATH message612to Card B1620. Card B1620recreates its reverse traffic outLabel entry for this LSP and binds it to the appropriate entry in the data plane upPsb Table622. The appropriate entry is found by matching the reverse traffic outLabel entry with the value in the UPSTREAM_LABEL object received in the PATH message612. Card B1620forwards the PATH message612to Card B2625. If Card B2625receives a RESV Refresh for this LSP from Card C1635and it had previously detected a restart of Card B1620followed by receipt of a PATH message612from Card B1620then on arrival of the next RESV refresh message Card B2625sends the RESV refresh message618received from Card C1635on to Card B1620. Card B1620creates an entry for this LSP in the control plane upRsb table621and binds this LSP with the data plane forwarding table which was preserved across the restart. To perform the binding, Card B1620searches the forward traffic upRsb table621for the forward traffic pointer which matches the forward traffic outLabel entry in the downRsb table624as passed in the RESV message. Card B1620now knows this LSP's forward traffic inLabel as stored in the upRsb621table and updates its label manager accordingly to reserve this label value. Card B1620sends the RESV message616to Card A2610with its LABEL object having the same value as forward traffic inLabel entry in the upRsb table621.

FIG. 7shows a packet walkthrough700for an LSP that is set up and passes through number of LSR nodes, Node A702, Node B704, and Node C706. The forward direction of traffic705is from node A702to node C706and the reverse traffic direction795is from node C706to node A702. Card B2725MPLS control plane is restarted and Card A2710and Card B1720keep exchanging refresh PATH messages712and RESV messages716. Card C1735discovers that Card B2725MPLS control plane has gone down, via the Hello messaging719between nodes, holds off sending RESV messages718, and stops its refresh timers. Card B1720recognizes that Card B2725MPLS control plane went down and restarted, via the Hello messages727between cards. Card B1720recognizes that Card B2725MPLS control plane has come up via the Hello messaging727between cards. When the next PATH message712is received from Card A2 710after the restart, Card B1720forwards this PATH message712on to Card B2725. Card B2725receives the PATH message712and creates the reverse traffic inLabel entry for this LSP for downPsb table722. Card B2725now has to bind its reverse traffic inLabel entry to the data plane entry in the downPsb table722. From Card B1720PATH message712, Card B2725received the reverse traffic pointer for reverse traffic outLabel entry in the upPsb table721. It now searches the downPsb table722to find a match for the reverse traffic pointer. From the binding of data plane to control plane, the card knows the reverse traffic inLabel entry in the downPsb table722. Card B2725updates its label manager to reserve this label and inserts it in the UPSTREAM_LABEL object sent to Card C1735. Card C1735receives the PATH message714and knows that Card B2725is alive. Card C1735commences sending RESV refreshes messages718to Card B2725again. Card B2725recreates the forward traffic outLabel entry for this LSP in the control plane downRsb table723on receipt of RESV message718. Card B2725binds data plane forward traffic outLabel entry to this LSPs control plane downRsb table723entry by performing a matching search. The search is successful when the forward traffic outLabel entry in the data plane downRsb table723matches the content of the LABEL object in the RESV message718. Card B2725sends the RESV message718to Card B1720.

FIG. 8shows a packet walkthrough800for an LSP that is set up and passes through number of nodes, Node A802, Node B804, and Node C806. Node A802and Node C806are ingress and egress LERs (label edge router), respectively, and Node B804is an LSR (label switching router). The forward direction of traffic805is from Node A802to Node C806and the reverse traffic direction895is from Node C806to Node A802. Card A2810MPLS control plane is restarted. Cards B1820recognizes that Card A2810MPLS control plane has gone down via the Hello messaging813between nodes, stops sending RESV refresh messages816, and also cancels its PATH refresh timeouts. Card A1815detects that Card A2810MPLS control plane has gone down and also detects when it has completed restart, via the Hello messaging817between cards. On detecting restart, Card A1815reinitiates a PATH setup of the existing LSPs that exit the node through Card A1815. The PATH setup contains the same 5-tuple (LSP Id, Tunnel Id, Extended Tunnel Id, Source IP and Destination IP) that was assigned by when this LSP was first created. Card A2810receives the PATH setup message with a reverse traffic pointer to the table on Card A1815for reverse traffic. A PATH setup is initiated and Card A2810creates an entry for this LSP in the control plane upPsb table811and forwards the PATH message812to the downside. Card A2810creates an entry for this LSP in the control plane downPsb table812. It then binds this entry against the corresponding entry in the data plane downPsb table812. It identifies the correct entry by searching the downPsb reverse traffic pointer for the matching reverse traffic pointer passed by Card A1815. On successful match, it binds the control plane to the data plane. Card A2810sends the PATH message812to Node B804with the correct UPSTREAM_LABEL taken from the reverse traffic inLabel entry in the downPsb table812. Node B804eventually sends RESV message816back to Node A802. Card A2810receives the RESV message816and creates the forward traffic outLabel entry in the downRsb table813for this LSP. Card A2810binds forward traffic outLabel entry in the downRsb table813with the data plane when the corresponding entry in the downRsb table813is found. The corresponding entry is found by matching the content of the LABEL object in the RESV message816with the forward traffic outLabel entry in the data plane downRsb outLabel813. Card A2810forwards the RESV message816to the upside where the corresponding forward traffic inLabel entry for the upRsb table814is created for this LSP. Since there is no corresponding data plane entry for this forward traffic inLabel entry for the control plane, there is no binding or matching search undertaken. Card A2810informs Card A1815of the recreation of state for this LSP and passes it the pointer to the forward traffic outLabel entry in the downRsb table813.

FIG. 9shows a packet walkthrough900for an LSP that is set up and passes through number of nodes, Node A902, Node B904, and Node C906. Node A902and node C906are ingress and egress LERs (label edge router), respectively and Node B904is an LSR (label switching router). The forward direction of traffic905is from Node A902to Node C906and the reverse traffic direction995is from Node C906to Node A902. Card A1915MPLS control plane is restarted. Card A2910and Card B1920keep exchanging refresh messages. After Card A1915MPLS control plane comes up using the Hello, update and binding messaging917between the cards, Card A2910receives PATH setup request for original LSP from its peer Card A1915. This request must give the original LSPs identifiers (LSP Id, Tunnel Id, Extended Tunnel Id, Source IP and Destination IP), so that Card A2910knows that this is not a new LSP request. When Card A2910receives the RESV refresh message916from Card B1920, it notifies Card A1915via the Hello messaging917. Card A1915uses the information to recreate its own state as before.

FIG. 10shows a packet walkthrough1000for an LSP that is set up and passes through number of nodes, Node A1002, Node B1004, and Node C1006. Node A1002and Node C1006are ingress and egress LERs (label edge router), respectively, and Node B1004is an LSR (label switching router). The forward direction of traffic1005is from Node A1002to Node C1006and the reverse traffic direction1095is from Node C1006to Node A1002. Card C11035MPLS control plane is restarted and Card B21025recognizes that Card C11035MPLS control plane has gone down via the Hello messaging1019between nodes, stops sending PATH refresh messages1014, and also cancels its RESV refresh timeouts. Eventually, Card B21025recognizes that Card C11035MPLS control plane has come back up via the Hello messaging1019between nodes. Card B21025sends a PATH message1014to Card C11035with the same UPSTREAM_LABEL as before. Card C11035creates a Control Plane upPsb entry for this LSP and binds this entry with the reverse traffic outLabel entry in the data plane upPsb table1032. To perform the binding, Card C11035searches the reverse traffic outLabel value that matches the value in the recently received PATH message1014UPSTREAM_LABEL object. The reverse traffic inLabel entry for the downPsb table1034is then created for this LSP in the control plane of Card C11035. This entry is not bound to the data plane. Instead the connection manager on Card C21030is informed of the recovery of this LSP after restart. Card C21030sends a RESV message to Card C11035and gives it the forward traffic pointer to the table on Card C21030for forward going traffic. On receipt of the RESV, Card C11035then recreates the control plane downRsb table1031entry for this LSP. This entry is not bound to a corresponding data plane entry. Card C11035creates the control plane forward traffic inLabel entry for upRsb table1033and binds this LSP with the table in the data plane. Card C11035searches upRsb table1033for the forward traffic pointer in the upRsb table1033that matches the forward traffic entry on Card C21030, as passed in the RESV message1018. Card C11035now knows the forward traffic inLabel entry for the upRsb table1033. Card C11035updates its label manager to reserve this label value. Card C11035sends the RESV message1018to Card B21025with a LABEL object containing the value of the forward traffic inLabel discovered above.

FIG. 11shows a packet walkthrough1100for an LSP that is set up and passes through number of nodes, Node A1102, Node B1104, and Node C1106. Node A1102and Node C1106are ingress and egress LERs, respectively, and Node B1104is an LSR. The forward direction of traffic1105is from Node A1102to Node C1106and the reverse traffic direction1195is from Node C1106to Node A1102. Card C21030MPLS control plane is restarted. Card B21125and Card C11135keep exchanging PATH and RESV refresh messages1114and1118. After Card C21130MPLS control plane comes up, Card C11135detects this via the Hello messaging1137between cards and initiates operations to recreate state at Card C21130. On receiving the next PATH refresh message1114from Card B21125Card C11135forwards this PATH message1114to Card C21130along with a reverse traffic pointer entry to the reverse traffic outLabel entry in its upPsb table and the forward traffic pointer for this LSPs entry in its upRsb table. This will allow Card C21130to successfully recreate relevant entries in its control and data planes for this LSP. Card C21130will eventually send a message to Card C11135indicating that state recreation on Card C21130is now complete.

FIG. 12shows a packet walkthrough1200for the case of controlled software upgrade that often involves multiple cards restart on a node at the same time instead of sequentially restarting of one card at a time. The packet walkthrough1200for an LSP is set up and passes through number of LSR nodes, Node A1202, Node B1204, and Node C1206. The forward direction of traffic1205is from Node A1202to Node C1206and the reverse traffic direction1295is from Node C1206to Node A1202. Cards B11220MPLS control plane and Card B21225MPLS control plane for a set of LSPs are restarted on Node B1204. Via Hello messages1213and1219between nodes, Card A21210and Card C11235discover that Card B11220MPLS control plane and B21225MPLS control plane have gone down, respectively. They stop generating refresh PATH messages1212and1214and RESV messages1216and1218, and also turn off their respective RESV and PATH refresh timeout timers. Via Hello messaging1213between nodes, Card A21210discovers that Card B11220MPLS control plane is now up. Card A21210sends PATH message1212to Card B11220. The message contains UPSTREAM_LABEL. Card B11220creates the control plane reverse traffic outLabel entry for the upPsb table1222and binds this entry with the table in the data plane. The binding is performed by Card B11220when it searches the data plane upPsb table1222for the label that matches the UPSTREAM_LABEL received in the PATH message1212. Card B11220forwards the PATH message1212to Card B21225to recreate its control plane reverse traffic inLabel entry for the downPsb table1223. Card B21225binds the control plane reverse traffic inLabel entry to the data plane downPsb table1223via searching on the reverse traffic pointer for the upPsb table1222. Card B21225updates its label manager to reserve the label value found in the reverse traffic inLabel entry for the downPsb table1223. Card B21225then fills the UPSTREAM_LABEL with this value and sends the PATH message1214to Card C11235. Card C11235recognizes that Node B1204is now up and tells the upRsb table1238to start its RESV refresh messaging. Card C11235sends RESV message1218to Card B21225with the forward traffic inLabel entry for the upRsb table1238of Card C11235. Card B21225recreates its control plane forward traffic outLabel entry for the downRsb table1226and binds to the data plane by searching the data plane downRsb table1226for a matching entry to the LABEL object just received in the RESV message1218. The RESV message1218is then forwarded to Card B11220. Card B11220receives the RESV message1218and recreates its control plane forward traffic inLabel entry for the upRsb table1221. Card B11220binds this entry to the data plane upRsb table1221by searching forward traffic pointer entry for the upRsb table1221for a match against the forward traffic outLabel pointer for downRsb Table1226as passed in the recently received RESV message1218. When the match and binding are complete, the forward traffic inLabel value for the upRsb table1221has now been identified. Card B11220updates its label manager to reserve this label value. Card B11220sends the RESV message1216to Card A21210with its LABEL object having this reserved label value as the forward traffic inLabel value in the upRsb table1221.

FIG. 13shows an ingress edge node restarts for a packet walkthrough1300for an LSP that is set up and passes through number of nodes, Node A1302, Node B1304, and Node C1306. Node A1302and Node C1306are ingress and egress LERs (label edge router), respectively, and Node B1304is an LSR (label switching router). The forward direction of traffic1305is from Node A1302to Node C1306and the reverse traffic direction1395is from Node C1306to Node A1302. Card A11315MPLS control plane and Card A21310MPLS control plane are restarted on an LER (label edge router) Node A1302. Cards B11320recognizes that Card A21310MPLS control plane has gone down, via the Hello messaging1313between nodes, and stops sending RESV refresh message1316, and also cancels its PATH refresh timeouts. Card A11315recreates its LSP state independent of MPLS and also detects that Card A21310MPLS control plane has come up. On detecting restart, Card A11315reinitiates a PATH setup of the existing LSPs that exit the node through Card A11315. The PATH setup must contain the same 5-tuple (LSP Id, Tunnel Id, Extended Tunnel Id, Source IP and Destination IP) that was assigned when this LSP was first created. Card A21310receives the PATH setup message with a reverse traffic pointer to the table on Card A11315for reverse traffic. A PATH setup is initiated and Card A21310creates an entry for this LSP in the control plane upPsb table1311and forwards the PATH message1312to the downside. Card A21310creates an entry for this LSP in the control plane downPsb table1321. It then binds this entry against the corresponding entry in the data plane downPsb table812. It identifies the correct entry by searching the downPsb reverse traffic pointer entry for the matching reverse traffic pointer passed by Card A11315. On successful match, it binds the control plane to the data plane. Card A21310sends the PATH message1313to Node B1304with the correct UPSTREAM_LABEL taken from the reverse traffic inLabel entry in the downPsb table1321. Node B1304eventually sends RESV message1316back to Node A1302. Card A21310receives the RESV message1316and creates the forward traffic outLabel entry in the downRsb table1331for this LSP. Card A21310binds forward traffic outLabel entry in the downRsb table1331with the data plane when the corresponding entry in the downRsb table1331is found. The corresponding entry is found by matching the content of the LABEL object in the RESV message1316with the data plane forward traffic outLabel entry for the downRsb table1331. Card A21310forwards the RESV message1316to the upside where the corresponding forward traffic inLabel entry for upRsb table1341is created for this LSP. Since there is no corresponding data plane entry for this forward traffic inLabel entry for the control plane, there is no binding or matching search undertaken. Card A21310informs Card A11315of the recreation of state for this LSP and passes it the pointer to the forward traffic outLabel entry in the downRsb table1331.

FIG. 14shows an egress edge node restarts and a packet walkthrough1400for an LSP that is setup and passes through number of nodes, Node A1402, Node B1404, and Node C1406. Node A1402and Node C1406are ingress and egress LERs (label edge router), respectively, and Node B1404is an LSR (label switching router). The forward direction of traffic1405is from Node A1402to Node C1406and the reverse traffic direction1495is from Node C1406to Node A1402. Card C11435MPLS control plane and Card C21430MPLS control plane are restarted on an LER (label edge router) Node C1406. Card B21425recognizes that Card C11435MPLS control plane has gone down via the Hello messaging1419between nodes, stops sending PATH refresh, and also cancels its RESV refresh timeouts. Card B21425recognizes that Card C11435MPLS control plane is back up via the Hello messaging1419between nodes. Card B21425sends a PATH message1414to Card C11435with same UPSTREAM_LABEL object that as before restart; Card C11435recreates its control plane reverse outLabel entry and binds the entry to the data plane upPsb table1436. To do the binding it searches the data plane upPsb table1436for reverse traffic outLabel entry that matches the UPSTREAM_LABEL just received. It recreates the control plane reverse traffic inLabel entry for the downPsb table1439on the same card. However, as there is no corresponding data plane entry, no binding-or matching search is undertaken. Card C11435notifies Card C21430that a new PATH message has been recreated and passes a table pointer to the reverse traffic outLabel which it retrieved from the data plane. Card C21430informs Card C11435when it has recreated its state for this LSP and passes a pointer to this LSPs data plane forward traffic entry. The control plane forward traffic outLabel entry is then created on Card C11435for downRsb table1451. As there is no corresponding data plane entry, no bind or matching search is undertaken. Card C11435then creates the control plane forward traffic inLabel entry in the upRsb table1452and binds this to the corresponding entry in the data plane upRsb table1452. The bind is accomplished by searching the data plane forward traffic pointer entry in the upRsb table1452against the pointer to this LSPs data plane forward traffic entry as forwarded by Card C21430. Card C11435sends the RESV message1418to Card B21425with the LABEL object containing the forward traffic inLabel value for the entry discovered during the binding of the upRsb table1452.

FIG. 15shows a packet walkthrough1500for an LSP that is setup and passes through at number of nodes and Node A1502, Node B1504, Node C1506, Node D1505, Node E1507, and Node F1509are shown. Node A1502and Node F1509are ingress and egress LERs (label edge router), respectively. The forward direction of traffic1505is from Node A1502to Node F1509and the reverse traffic direction1595is from Node F1509to Node A1502. An FA-LSP LSP21580is between Node B1504and Node E1507. There is a service LSP (LSP1)1570that travels from Node A1502to Node F1509and rides over the FA-LSP LSP21580. Card D11545MPLS control plane is restarted. As far as LSP21580is concerned, Card D11545recreates its state as described in the600packet walkthrough and shown inFIG. 6. As far as LSP11570is concerned, if LSP21580looks like an interface, then Hello messages1511run between Node B1504and Node E1507over LSP21580. Thus, Card B21520detects that it cannot communicate with Card E11555via the Hello messaging1511and disables the generation of refresh messages and refresh timeouts for LSP,1570between Card B21520and Card E11555. When Card D11545is up, the Hello messaging1511between Node B1504and Node E1507indicates that communication is restored. Via the instance values in the Hello message1511, Card B21520detects that it could not talk to Card E11555because of communication link loss and not a restart. As such, there is no need to recreate RSVP state or any binding to the data plane at Node B1504. Node B1504only enables its refresh messaging and refresh timeouts with Card E11555.

FIG. 16shows a packet walkthrough1600for an LSP that is setup and passes through number of nodes, Node A1602, Node B1604, Node C1606, Node D1605, Node E1607, and Node F1609. Node A1602and Node F1609are ingress and egress LERs (label edge router), respectively. The forward direction of traffic1605is from Node A1602to Node F1609and the reverse traffic direction1695is from Node F1609to Node A1602. An FA-LSP LSP21680is between Node B1604and Node E1607. There is a service LSP (LSP1)1670that travels from Node A1602to Node F1609and rides over the FA-LSP LSP21680. Card B2MPLS control plane is restarted. As far as LSP21680is concerned, Card B21620recreates its state as described in the15800packet walkthrough and shown inFIG. 8for ingress LER. For LSP11670Card E11655detects that LSP21680is down via Hello messaging1611over the FA-LSP and thus disables its refresh until Card B21620MPLS control plane comes up. For LSP11670Card B21620recreates its state and binds it to the data plane as described and shown inFIG. 6.

Thus, the embodiments of the present invention provide new and improved system and methods for hitless graceful restart for distributed RSVP-TE in a MPLS telecommunications networks.

It will be apparent to those with skill in the art that modifications to the above methods and embodiments can occur without deviating from the scope of the present invention. Accordingly, the disclosures and descriptions herein are intended to be illustrative of, but not limiting to, the scope of the invention which is set forth in the following claims.