Conditional routing delivery in a compromised network
A computer-implemented method for processing a data packet in a network node includes determining a level of deterioration of a primary path between the network node and the destination node. The determined level of deterioration is based at least on a non-congestion-related loss for a primary link associated with one or more subsequent hops of the data packet from the network node toward the destination node along the primary path. Based on the determined level of deterioration of the primary path being above a threshold, the primary path is changed to an alternate path from the network node to the destination node. The data packet is forwarded to a next network node on the alternate path.
1 . A computer-implemented method for conditionally routing a data packet in a network node, the computer-implemented method comprising:
determining a level of deterioration of a primary path between the network node and a destination node, the determined level of deterioration based at least on a non-congestion-related loss for a primary link associated with one or more subsequent hops of the data packet from the network node towards the destination node along the primary path;
parsing the data packet to determine a threshold; and
comparing the determined level of deterioration of the primary path to the threshold, and based on the determined level of deterioration of the primary path being above the threshold:
changing the primary path to an alternate path from the network node to the destination node; and
forwarding the data packet to a next network node on the alternate path, wherein:
the data packet includes a conditional command specifying at least a condition and a command;
the condition specifying the threshold for the level of deterioration of the primary path; and
the command specifying the changing of the primary path to the alternate path when the determined level of deterioration of the primary path is above the threshold.
2 . The computer-implemented method of claim 1 , wherein:
the determining the level of deterioration of the primary path includes determining a non-congestion-related loss for a next link associated with a next hop of the one or more subsequent hops of the data packet along the primary path; and
the changing the primary path to the alternate path includes:
changing the next link in the primary path to a next link in the alternate path; and
forwarding the data packet to the next link in the alternate path.
3 . The computer-implemented method of claim 2 , wherein the next link associated with the next hop is directly coupled to the network node, and wherein:
the determining the level of deterioration of the primary path includes determining the non-congestion-related loss for a remote link along the primary path, the remote link being at least one hop away from the next link; and
the changing the primary path to the alternate path includes:
changing the next link in the primary path to a next link in the alternate path based on the non-congestion-related loss for the remote link; and
forwarding the data packet to the next link in the alternate path.
4 . The computer-implemented method of claim 3 , wherein the changing the next link in the primary path to the next link in the alternate path includes:
determining the non-congestion-related loss for the next link in the alternate path; and
changing the next link in the primary path to the next link in the alternate path when the next link in the alternate path exhibits less non-congestion-related loss than the next link in the primary path.
5 . The computer-implemented method of claim 4 , wherein the determining the non-congestion-related loss in the next link in the alternate path includes:
sending, by the network node, a probe packet to the destination node using the alternate path; and
determining a measure of non-congestion-related loss of the next link of the alternate path based on a response to the probe packet received from the destination node.
6 . The computer-implemented method of claim 5 , wherein the determining the non-congestion-related loss for the next link in the alternate path or the next link in the primary path includes determining a bit error rate (BER).
7 . The computer-implemented method of claim 1 , further comprising notifying a network controller of the non-congestion-related loss.
8 . The computer-implemented method of claim 7 , further comprising:
determining a measure of congestion-related loss for the primary path; and
notifying the network controller of the measure of the congestion-related loss.
9 . The computer-implemented method of claim 1 , wherein the changing the primary path to the alternate path further includes determining that a service requirement for the data packet indicates a performance level that is greater than a second threshold.
10 . The computer-implemented method of claim 1 , wherein the primary path is a traffic-engineered (TE) path conforming to at least one service level objective (SLO), and the alternate path is a pre-provisioned alternate TE path conforming to the SLO of the primary path.
11 . The computer-implemented method of claim 1 , wherein the primary path is a best-effort (BE) path, and the alternate path is a loop-free alternative (LFA) path, remote loop-free alternative (RLFA) path, or an Internet protocol fast reroute (IP FRR) path.
12 . The computer-implemented method of claim 1 , wherein the changing the primary path to the alternate path is based on execution of the command.
13 . A system for conditionally routing a data packet in a network node, the system comprising:
a memory storing instructions; and
at least one processor in communication with the memory, the at least one processor configured, upon execution of the instructions, to perform the following steps:
determining a level of deterioration of a primary path between the network node and a destination node, the determined level of deterioration based at least on a non-congestion-related loss for a primary link associated with one or more subsequent hops of the data packet from the network node towards the destination node along the primary path;
parsing the data packet to determine a threshold; and
comparing the determined level of deterioration of the primary path to the threshold, and based on the determined level of deterioration of the primary path being above the threshold:
changing the primary path to an alternate path from the network node to the destination node; and
forwarding the data packet to a next network node on the alternate path, wherein:
the data packet includes a conditional command specifying at least a condition and a command;
the condition specifying the threshold for the level of deterioration of the primary path; and
the command specifying the changing of the primary path to the alternate path when the determined level of deterioration of the primary path is above the threshold.
14 . The system of claim 13 , wherein:
the determining the level of deterioration of the primary path includes determining a non-congestion-related loss for a next link associated with a next hop of the one or more subsequent hops of the data packet along the primary path; and
the changing the primary path to the alternate path includes:
changing the next link in the primary path to a next link in the alternate path; and
forwarding the data packet to the next link in the alternate path.
15 . The system of claim 14 , wherein the next link associated with the next hop is directly coupled to the network node and wherein:
the determining the level of deterioration of the primary path includes determining the non-congestion-related loss for a remote link along the primary path, the remote link being at least one hop away from the next link; and
the changing the primary path to the alternate path includes:
changing the next link in the primary path to a next link in the alternate path based on the non-congestion-related loss for the remote link; and
forwarding the data packet to the next link in the alternate path.
16 . The system of claim 15 , wherein:
the changing the next link in the primary path to the next link in the alternate path includes:
determining the non-congestion-related loss for the next link in the alternate path; and
changing the next link in the primary path to the next link in the alternate path when the next link in the alternate path exhibits less non-congestion-related loss than the next link in the primary path; and
the determining the non-congestion-related loss in the next link in the alternate path includes:
sending, by the network node, a probe packet to the destination node using the alternate path; and
determining a measure of non-congestion-related loss of the next link of the alternate path based on a response to the probe packet received from the destination node.
17 . A non-transitory computer-readable media storing computer instructions for conditionally routing a data packet in a network node, that configure at least one processor, upon execution of the instructions, to perform the following steps:
determining a level of deterioration of a primary path between the network node and a destination node, the determined level of deterioration based at least on a non-congestion-related loss for a primary link associated with one or more subsequent hops of the data packet from the network node towards the destination node along the primary path;
parsing the data packet to determine a threshold; and
comparing the determined level of deterioration of the primary path to the threshold, and based on the determined level of deterioration of the primary path being above the threshold:
changing the primary path to an alternate path from the network node to the destination node; and
forwarding the data packet to a next network node on the alternate path, wherein:
the data packet includes a conditional command specifying at least a condition and a command;
the condition specifying the threshold for the level of deterioration of the primary path; and
the command specifying the changing of the primary path to the alternate path when the determined level of deterioration of the primary path is above the threshold.
18 . The non-transitory computer-readable media of claim 17 , wherein:
the determining the level of deterioration of the primary path includes determining a non-congestion-related loss for a next link associated with a next hop of the one or more subsequent hops of the data packet along the primary path; and
the changing the primary path to the alternate path includes:
changing the next link in the primary path to a next link in the alternate path; and
forwarding the data packet to the next link in the alternate path.
19 . The non-transitory computer-readable media of claim 18 , wherein the next link associated with the next hop is directly coupled to the network node, and wherein:
the determining the level of deterioration of the primary path includes determining the non-congestion-related loss for a remote link along the primary path, the remote link being at least one hop away from the next link;
the changing the primary path to the alternate path includes:
changing the next link in the primary path to a next link in the alternate path based on the non-congestion-related loss for the remote link; and
forwarding the data packet to the next link in the alternate path; and
the changing of the next link in the primary path to the next link in the alternate path includes:
determining non-congestion-related loss for the next link in the alternate path; and
changing the next link in the primary path to the next link in the alternate path when the next link in the alternate path exhibits less non-congestion-related loss than the next link in the primary path.