Retracing routes of overlay packets
AssigneeArista Networks, Inc.
InventorsMichael Chih-Yen Wang, Prasanna Parthasarathy, Navdeep Bhatia
Life of this patent
Estimating the term…
Abstract
Techniques for tracing routes taken by data packets transmitted through an overlay network are disclosed. A system uses a first TTL value for selecting a number of hops in an underlay network and a second TTL value for selecting the number of hops in the overlay network. Initially, the system increments the first TTL value with each new probe packet while holding the second TTL value at zero or one. When an overlay network node is reached by one of the probe packets, the system increments the second TTL value with each new probe packet. While incrementing the second TTL, the system holds the first TTL value at a constant value higher than the first TTL value corresponding to when the overlay network node was reached.
Claims20
One or more non-transitory computer readable media comprising instructions which, when executed by one or more hardware processors, cause the one or more hardware processors to perform operations comprising:
- receiving a request to trace a route of a dataflow through a transport network, wherein:
- the transport network comprises an overlay network and an underlay network, and
- the dataflow comprises a data packet, the data packet comprising a data packet header identifying a first destination address for the data packet;
- transmitting a first set of probe packets along the route of the dataflow based at least in part on the data packet header;
- transmitting a second set of probe packets along the route of the dataflow based at least in part on the data packet header,
- wherein each probe packet of the first and second sets of probe packets comprises a probe packet header identifying a second destination address, the second destination address being identical to the first destination address for the data packet;
- and
- wherein each probe packet of the first and second sets of probe packets includes an underlay Time-To-Live (TTL) value and an overlay TTL value, the first set of probe packets comprising different underlay TTL values and the second set of probe packets comprising different overlay TTL values;
- receiving, from a first intermediate node at which a first probe packet of the first set of probe packets is dropped along the route of the dataflow based on the underlay TTL value of the first probe packet expiring, a first response message corresponding to the first probe packet being dropped at the first intermediate node;
- receiving, from a second intermediate node at which a second probe packet of the second set of probe packets is dropped along the route of the dataflow based on the overlay TTL value of the second probe packet expiring, a second response message corresponding to the second probe packet being dropped at the second intermediate node;
- and
- based at least on the first response message and the second response message:
- determining at least a portion of the route of the dataflow through the transport network, the portion of the route comprising the first intermediate node and the second intermediate node.
A system comprising a hardware processor and computer-readable program instructions that, when executed by the hardware processor, control the system to perform operations, the operations comprising:
- receiving a request to trace a route of a dataflow through a transport network, wherein:
- the transport network comprises an overlay network and an underlay network, and
- the dataflow comprises a data packet, the data packet comprising a data packet header identifying a first source address for the data packet and a first destination address for the data packet;
- constructing a plurality of probe packets based at least in part on the data packet header,
- wherein each probe packet of the plurality of probe packets comprises a probe packet header identifying a second destination address, the second destination address being identical to the first destination address for the data packet;
- wherein each probe packet of the plurality of probe packets is constructed with an underlay Time-To-Live (TTL) value in an underlay header and an overlay TTL value in an overlay header;
- and
- wherein each probe packet of the plurality of probe packets is constructed with a second source address, the second source address of each probe packet of the plurality of probe packets being different than the first source address for the data packet;
- transmitting a first probe packet of the plurality of probe packets, wherein the first probe packet is routed along the route of the dataflow until a first TTL value corresponding to the first probe packet expires;
- receiving, from a first intermediate node at which the first probe packet is dropped along the route of the dataflow, a first response message corresponding to the first probe packet being dropped at the first intermediate node;
- transmitting a second probe packet of the plurality of probe packets, wherein the second probe packet is routed along the route of the dataflow until a second TTL value corresponding to the second probe packet expires;
- receiving, from a second intermediate node at which the second probe packet is dropped along the route of the dataflow, a second response message corresponding to the second probe packet being dropped at the second intermediate node;
- and
- based at least on the first response message and the second response message:
- determining at least a portion of the route of the dataflow through the transport network, the portion of the route comprising the first intermediate node and the second intermediate node.
A method comprising:
- receiving a request to trace a route of a dataflow through a transport network, wherein:
- the transport network comprises an overlay network and an underlay network, and
- the dataflow comprises a data packet, the data packet comprising a data packet header identifying a first destination address for the data packet;
- transmitting a first set of probe packets through the underlay network based at least in part on the data packet;
- transmitting a second set of probe packets through the overlay network based at least in part on the data packet,
- wherein each probe packet of the first and second sets of probe packets comprises a probe packet header identifying a second destination address, the second destination address being identical to the first destination address for the data packet;
- and
- wherein each probe packet of the first and second sets of probe packets includes an underlay Time-To-Live (TTL) value and an overlay TTL value, the first set of probe packets comprising different underlay TTL values and constant overlay TTL values and the second set of probe packets comprising different overlay TTL values and constant underlay TTL values;
- receiving, from a first intermediate node at which a first probe packet of the first set of probe packets is dropped along the route of the dataflow, a first response message from corresponding to the first probe packet being dropped at the first intermediate node;
- receiving, from a second intermediate node at which a second probe packet of the second set of probe packets is dropped along the route of the dataflow, a second response message corresponding to the second probe packet being dropped at the second intermediate node;
- and
- based at least on the first response message and the second response message:
- determining at least a portion of the route of the dataflow through the transport network, the portion of the route comprising the first intermediate node and the second intermediate node.
Dependencies are inferred from the claim text.