ECMP-aware TWAMP performance measurements
Techniques for determine latency, loss, and liveness performance metrics associated with ECMP routes. The techniques may include determining that a TWAMP probe is to be sent from a first node to a second node along an equal-cost multipath ECMP route. In some examples, the first node may generate a packet for sending the TWAMP probe to the second node. The packet may include information specifying a forward path and reverse path to be traversed by the packet. In examples, the first node may send the packet to the second node along the ECMP route and subsequently receive the packet including telemetry data associated with the second node and a midpoint node of the ECMP route. Based at least in part on the telemetry data, the first node may determine a metric indicative of a performance measurement associated with the ECMP route.
1 . A method performed at least partially by a first node of a network, the method comprising:
determining that a Two-Way Active Measurement Protocol (TWAMP) probe is to be sent to a second node along an equal-cost multipath (ECMP) route between the first node and the second node;
generating a packet for sending the TWAMP probe to the second node along the ECMP route, the packet including first address information associated with the ECMP route and second address information for the packet to be returned to the first node from the second node, the packet further comprising:
a transmit timestamp indicating a time at which the packet is transmitted; and
a hop-by-hop option field configured to record Midpoint Compressed Data (MCD) at a midpoint node along the ECMP route;
sending the packet to the second node along the ECMP route;
receiving, from the second node and at the first node, the packet including telemetry data associated with the second node and the midpoint node of the ECMP route;
identifying, at the first node and from the hop-by-hop option field, a portion of the telemetry data representing a performance measurement associated with the midpoint node, the hop-by-hop option field being populated with the portion of the telemetry data by the midpoint node; and
determining, at the first node and based at least in part on the telemetry data, a metric indicative of the performance measurement associated with the midpoint node.
2 . The method of claim 1 , wherein the performance measurement comprises at least one of a latency, a loss, or a liveness associated with the ECMP route.
3 . The method of claim 1 , wherein the telemetry data is included in a hop-by-hop field of the packet, the telemetry data including a portion of a timestamp, an interface identifier, and an interface load associated with each one of the second node and the midpoint node.
4 . The method of claim 1 , further comprising sending the metric to a measurement analytics system associated with the network, the metric comprising a histogram indicative of a performance associated with the ECMP route relative to another ECMP route through the network.
5 . The method of claim 1 , wherein the ECMP route is a first ECMP route and the metric is determined based at least in part on additional telemetry data received from sending a second TWAMP probe along a second ECMP route, the metric indicative of a difference in performance between the first ECMP route and the second ECMP route.
6 . The method of claim 1 , wherein the ECMP route is one of multiple ECMP routes through the network between the first node and the second node.
7 . The method of claim 1 , wherein the telemetry data is associated with a forwarding path of the packet along the ECMP route between the first node and the second node, the second node configured to modify a hop-by-hop option type of the packet to prevent collection of telemetry data associated with a return path from the second node to the first node.
8 . The method of claim 1 , wherein a format of the packet is a same format as customer traffic traversing the ECMP route, the packet further including an indicator for the second node to distinguish the packet from the customer traffic.
9 . A system associated with a first node of a network, the system comprising:
one or more processors; and
one or more non-transitory computer-readable media storing instructions that, when executed, cause the one or more processors to perform operations comprising:
determining that a Two-Way Active Measurement Protocol (TWAMP) probe is to be sent to a second node along an equal-cost multipath (ECMP) route between the first node and the second node;
generating a packet for sending the TWAMP probe to the second node along the ECMP route, the packet including first address information associated with the ECMP route and second address information for the packet to be returned to the first node from the second node, the packet further comprising:
a transmit timestamp indicating a time at which the packet is transmitted; and
a hop-by-hop option field configured to record Midpoint Compressed Data (MCD) at a midpoint node along the ECMP route;
sending the packet to the second node along the ECMP route;
receiving, from the second node and at the first node, the packet including telemetry data associated with the second node and the midpoint node of the ECMP route;
identifying, at the first node and from the hop-by-hop option field, a portion of the telemetry data representing a performance measurement associated with the midpoint node, the hop-by-hop option field being populated with the portion of the telemetry data by the midpoint node; and
determining, at the first node and based at least in part on the telemetry data, a metric indicative of the performance measurement associated with the midpoint node.
10 . The system of claim 9 , wherein the performance measurement comprises at least one of a latency, a loss, or a liveness associated with the ECMP route.
11 . The system of claim 9 , wherein the telemetry data is included in a hop-by-hop field of the packet, the telemetry data including a portion of a timestamp, an interface identifier, and an interface load associated with each one of the second node and the midpoint node.
12 . The system of claim 9 , the operations further comprising sending the metric to a measurement analytics system associated with the network, the metric comprising a histogram indicative of a performance associated with the ECMP route relative to another ECMP route through the network.
13 . The system of claim 9 , wherein the ECMP route is a first ECMP route and the metric is determined based at least in part on additional telemetry data received from sending a second TWAMP probe along a second ECMP route, the metric indicative of a difference in performance between the first ECMP route and the second ECMP route.
14 . The system of claim 9 , wherein the ECMP route is one of multiple ECMP routes through the network between the first node and the second node.
15 . The system of claim 9 , wherein the telemetry data is associated with a forwarding path of the packet along the ECMP route between the first node and the second node, the second node configured to modify a hop-by-hop option type of the packet to prevent collection of telemetry data associated with a return path from the second node to the first node.
16 . The system of claim 9 , wherein a format of the packet is a same format as customer traffic traversing the ECMP route, the packet further including an indicator for the second node to distinguish the packet from the customer traffic.
17 . One or more non-transitory computer-readable media storing instructions that, when executed, cause one or more processors associated with a first node of a network to perform operations comprising:
determining that a Two-Way Active Measurement Protocol (TWAMP) probe is to be sent to a second node along an equal-cost multipath (ECMP) route between the first node and the second node;
generating a packet for sending the TWAMP probe to the second node along the ECMP route, the packet including first address information associated with the ECMP route and second address information for the packet to be returned to the first node from the second node the packet further comprising:
a transmit timestamp indicating a time at which the packet is transmitted; and
a hop-by-hop option field configured to record Midpoint Compressed Data (MCD) at a midpoint node along the ECMP route;
sending the packet to the second node along the ECMP route;
receiving, from the second node and at the first node, the packet including telemetry data associated with the second node and the midpoint node of the ECMP route;
identifying, at the first node and from the hop-by-hop option field, a portion of the telemetry data representing a performance measurement associated with the midpoint node, the hop-by-hop option field being populated with the portion of the telemetry data by the midpoint node; and
determining, at the first node and based at least in part on the telemetry data, a metric indicative of the performance measurement associated with the midpoint node.
18 . The one or more non-transitory computer-readable media of claim 17 , wherein the performance measurement comprises at least one of a latency, a loss, or a liveness associated with the ECMP route.
19 . The one or more non-transitory computer-readable media of claim 17 , wherein the telemetry data is included in a hop-by-hop field of the packet, the telemetry data including a portion of a timestamp, an interface identifier, and an interface load associated with each one of the second node and the midpoint node.
20 . The one or more non-transitory computer-readable media of claim 17 , the operations further comprising sending the metric to a measurement analytics system associated with the network, the metric comprising a histogram indicative of a performance associated with the ECMP route relative to another ECMP route through the network.