Proactive bypass selection based on root cause analysis of traceroutes
In one embodiment, a device identifies, based on traceroute information for a path in a network between an endpoint client and an online application, a particular segment of the path as most likely to cause degraded performance along the path. The device makes, using a prediction model, a prediction that routing traffic for the online application via the path will result in degraded quality of experience for the online application. The device obtains, based on the prediction, additional traceroute information in the network, to identify a bypass path in the network between the endpoint client and the online application that bypasses the particular segment. The device causes traffic for the online application to be routed along the bypass path.
1 . A method comprising:
identifying, by a device and based on traceroute information for a path in a network between an endpoint client and an online application, a particular segment of the path as most likely to cause degraded performance along the path, the particular segment being an oriented hop pair of the path inferred from the traceroute information;
making, by the device and using a prediction model, a prediction that routing traffic for the online application via the path will result in degraded quality of experience for the online application;
obtaining, by the device and based on the prediction, and prior to causing traffic for the online application to be routed along a bypass path, additional traceroute information for one or more candidate paths in the network, to identify, from among the one or more candidate paths, the bypass path between the endpoint client and the online application whose traceroute information does not include the particular segment; and
causing, by the device, traffic for the online application to be routed along the bypass path.
2 . The method as in claim 1 , wherein the prediction model is trained using quality of experience metrics captured by the online application.
3 . The method as in claim 1 , wherein the traffic for the online application is routed along the bypass path via a tunnel.
4 . The method as in claim 1 , wherein causing the traffic for the online application to be routed along the bypass path comprises:
setting a proxy configuration of the endpoint client.
5 . The method as in claim 1 , further comprising:
identifying a new bypass point in the network, based on the additional traceroute information, when the additional traceroute information indicates that no bypass path exists; and
provisioning the new bypass point to form the bypass path in the network.
6 . The method as in claim 5 , further comprising:
deprovisioning the new bypass point, based on a prediction by the prediction model that routing traffic for the online application via the path will no longer degrade quality of experience for the online application.
7 . The method as in claim 1 , wherein the traceroute information for the path is captured by a probing agent executed by the endpoint client or an edge router associated with the endpoint client.
8 . The method as in claim 1 , wherein obtaining the additional traceroute information in the network comprises:
requesting that one or more probing agents in the network perform probing tests of additional paths in the network to the online application.
9 . The method as in claim 1 , wherein the device identifies the bypass path as an existing bypass path based on the additional traceroute information.
10 . The method as in claim 1 , wherein the network comprises a software-defined networking (SDN) overlay.
11 . An apparatus, comprising:
one or more network interfaces;
a processor coupled to the one or more network interfaces and configured to execute one or more processes; and
a memory configured to store a process that is executable by the processor, the process when executed configured to:
identify, based on traceroute information for a path in a network between an endpoint client and an online application, a particular segment of the path as most likely to cause degraded performance along the path, the particular segment being an oriented hop pair of the path inferred from the traceroute information;
make, using a prediction model, a prediction that routing traffic for the online application via the path will result in degraded quality of experience for the online application;
obtain, based on the prediction and prior to causing traffic for the online application to be routed along a bypass path, additional traceroute information for one or more candidate paths in the network, to identify, from among the one or more candidate paths, the bypass path between the endpoint client and the online application whose traceroute information does not include the particular segment; and
cause traffic for the online application to be routed along the bypass path.
12 . The apparatus as in claim 11 , wherein the prediction model is trained using quality of experience metrics captured by the online application.
13 . The apparatus as in claim 11 , wherein the traffic for the online application is routed along the bypass path via a tunnel.
14 . The apparatus as in claim 11 , wherein the apparatus causes the traffic for the online application to be routed along the bypass path by:
setting a proxy configuration of the endpoint client.
15 . The apparatus as in claim 11 , wherein the process when executed is further configured to:
identify a new bypass point in the network, based on the additional traceroute information, when the additional traceroute information indicates that no bypass path exists; and provision the new bypass point to form the bypass path in the network.
16 . The apparatus as in claim 15 , wherein the process when executed is further configured to:
deprovision the new bypass point, based on a prediction by the prediction model that routing traffic for the online application via the path will no longer degrade quality of experience for the online application.
17 . The apparatus as in claim 11 , wherein the traceroute information for the path is captured by a probing agent executed by the endpoint client or an edge router associated with the endpoint client.
18 . The apparatus as in claim 11 , wherein the apparatus obtains the additional traceroute information in the network by:
requesting that one or more probing agents in the network perform probing tests of additional paths in the network to the online application.
19 . The apparatus as in claim 11 , wherein the process when executed is configured to identify the particular segment by correlating data from traceroute records belonging to multiple source-destination pairs collected at the same point in time to identify the particular segment as most likely responsible for the degraded performance.
20 . A tangible, non-transitory, computer-readable medium storing program instructions that cause a device to execute a process comprising:
identifying, by a device and based on traceroute information for a path in a network between an endpoint client and an online application, a particular segment of the path as most likely to cause degraded performance along the path, the particular segment being an oriented hop pair of the path inferred from the traceroute information;
making, by the device and using a prediction model, a prediction that routing traffic for the online application via the path will result in degraded quality of experience for the online application;
obtaining, by the device and based on the prediction, and prior to causing traffic for the online application to be routed along a bypass path, additional traceroute information for one or more candidate paths in the network, to identify, from among the one or more candidate paths, the bypass path between the endpoint client and the online application whose traceroute information does not include the particular segment; and
causing, by the device, traffic for the online application to be routed along the bypass path.