Method and apparatus for fast reroute in a connection-oriented network
A method and an apparatus for rapidly resuming, at times of failures, network traffic in a connection-oriented network by using an alternative route pre-computed and stored locally in nodes along an initial route without requiring signaling of upstream nodes or a master server.
1. A method comprising:
forwarding, by a first node, first packets according to a first route, of a plurality of different routes, to a second node that is downstream, along the first route, of the first node;
determining, by the first node and based on a failure of the second node, that the first node stores information regarding the plurality of different routes; and
forwarding, by the first node and based on determining that the first node stores information regarding the plurality of different routes, second packets according to a second route, of the plurality of different routes,
the second route not including the second node,
the second route being created by merging a third route with a fourth route,
the third route and the fourth route having a common node after which the third route and the fourth route share at least one node and at least one link,
the second route being different from the first route, and
the first packets and the second packets being associated with a same flow of packets.
2. The method of claim 1 , further comprising:
receiving the first packets; and
adding a respective header to each of the first packets,
where, when forwarding the first packets according to the first route, the method includes:
forwarding the first packets, with the respective added headers, according to the first route.
3. The method of claim 1 , further comprising:
receiving the first packets; and
replacing a respective header for each of the first packets,
where, when forwarding the first packets according to the first route, the method includes:
forwarding the first packets, with the respective replaced headers, according to the first route.
4. The method of claim 1 , further comprising:
identifying, based on the failure of the second node, a failure of one or more other nodes.
5. The method of claim 4 , further comprising:
determining that at least one of the one or more other nodes are associated with the failure; and
excluding the at least one of the one or more other nodes from the second route.
6. The method of claim 1 , further comprising:
determining, by the first node, the second route.
7. The method of claim 1 , further comprising:
forwarding, along the second route, a request to reserve bandwidth.
8. A non-transitory computer-readable medium storing instructions, the instructions comprising:
one or more instructions, which, when executed by a processor, cause the processor to:
forward, from a first node, first packets according to a first route, of a plurality of different routes, to a second node that is downstream, along the first route, of the first node;
determine, based on a failure of the second node, that the first node stores information regarding the plurality of different routes; and
forward, from the first node and based on determining that the first node stores information regarding the plurality of different routes, second packets according to a second route, of the plurality of different routes,
the second route not including the second node,
the second route being created by merging a third route with a fourth route,
the third route and the fourth route having a common node after which the third route and the fourth route share at least one node and at least one link,
the second route being different from the first route, and
the first packets and the second packets being associated with a same flow of packets.
9. The non-transitory computer-readable medium of claim 8 , where the instructions further comprise:
one or more instructions to receive the first packets; and
one or more instructions to add a respective header to each of the first packets,
where the one or more instructions to forward the first packets according to the first route include:
one or more instructions to forward the first packets, with the respective added headers, according to the first route.
10. The non-transitory computer-readable medium of claim 8 , where the instructions further comprise:
one or more instructions to receive the first packets; and
one or more instructions to replace a respective header for each of the first packets,
where the one or more instructions to forward the first packets according to the first route include:
one or more instructions to forward the first packets, with the respective replaced headers, according to the first route.
11. The non-transitory computer-readable medium of claim 8 , where the instructions further comprise:
one or more instructions to identify, based on the failure of the second node, a failure of one or more other nodes.
12. The non-transitory computer-readable medium of claim 11 , where the instructions further comprise:
one or more instructions to determine that at least one of the one or more other nodes are associated with the failure; and
one or more instructions to exclude the at least one of the one or more other nodes from the second route.
13. The non-transitory computer-readable medium of claim 8 , where the instructions further comprise:
one or more instructions to forward, along the second route, a request to reserve bandwidth.
14. A network node comprising:
a processor to:
forward first packets according to a first route, of a plurality of different routes, to a second node that is downstream, along the first route, of the first node;
determine, based on a failure of the second node, that the first node stores information regarding the plurality of different routes; and
forward, based on determining that the first node stores information regarding the plurality of different routes, second packets according to a second route, of the plurality of different routes,
the second route not including the second node,
the second route being created by merging a third route with a fourth route,
the third route and the fourth route having a common node after which the third route and the fourth route share at least one node and at least one link,
the second route being different from the first route, and
the first packets and the second packets being associated with a same flow of packets.
15. The network node of claim 14 , where the processor is further to:
receive the first packets; and
add a respective header to each of the first packets,
where, when forwarding the first packets according to the first route, the processor is further to:
forward the first packets, with the respective added headers, according to the first route.
16. The network node of claim 14 , where the processor is further to:
receive the first packets; and
replace a respective header for each of the first packets,
where, when forwarding the first packets according to the first route, the processor is further to:
forward the first packets, with the respective replaced headers, according to the first route.
17. The network node of claim 14 , where the processor is further to:
identify, based on the failure of the second node, a failure of one or more other nodes.
18. The network node of claim 17 , where the processor is further to:
determine that at least one of the one or more other nodes are associated with the failure; and
exclude the at least one of the one or more other nodes from the second route.
19. The network node of claim 14 , where the processor is further to:
determine the second route.
20. The network node of claim 14 , where the processor is further to:
forward, along the second route, a request to reserve bandwidth.