Systems and methods for optimized tracing in IPV6 environments
AssigneeZscaler, Inc.
InventorPankaj Chhabra
Life of this patent
Estimating the term…
Abstract
Techniques for optimized tracing in IPV6 environments include sending a plurality of trace packets between a client and a destination in a service path; responsive to receiving a response from the plurality of trace packets, extracting trace information therefrom; and determining a corresponding router associated with each of the responses based on the trace information.
Claims11
A method of tracing a service path in a network, the method comprising steps of:
- sending a plurality of trace packets between a client and a destination in a service path, wherein the plurality of trace packets each include a Time-to-Live (TTL) value or hop limit value that is set to expire at different hops along the service path;
- responsive to receiving a response from the plurality of trace packets, extracting trace information therefrom, wherein the response comprises an Internet Control Message Protocol (ICMP) Time Exceeded message or an ICMPv6 Time Exceeded message that includes at least a portion of an original trace packet;
- and
- determining a corresponding router associated with each of the responses based on the trace information, wherein the trace information includes a hop number and a packet number usable to identify which hop and which one of the plurality of trace packets corresponds to the response without tracking a unique source port for each hop,
- wherein the plurality of trace packets each include a Transport Layer Security (TLS) Client Hello message, wherein sending the plurality of trace packets further comprises encoding the trace information within the TLS Client Hello message, wherein the TLS Client Hello message is sent after establishing a Transmission Control Protocol (TCP) connection with the destination via a port P, and wherein the plurality of trace packets reuse the same port P while the trace information identifies at least the hop number and the packet number, and
- wherein the encoding includes encoding the trace information within a random bytes portion of the TLS Client Hello message.
A non-transitory computer-readable medium comprising instructions that, when executed, cause one or more processors to perform steps of tracing a service path in a network, the steps comprising:
- sending a plurality of trace packets between a client and a destination in a service path, wherein the plurality of trace packets each include a Time-to-Live (TTL) value or hop limit value that is set to expire at different hops along the service path;
- responsive to receiving a response from the plurality of trace packets, extracting trace information therefrom, wherein the response comprises an Internet Control Message Protocol (ICMP) Time Exceeded message or an ICMPv6 Time Exceeded message that includes at least a portion of an original trace packet;
- and
- determining a corresponding router associated with each of the responses based on the trace information, wherein the trace information includes a hop number and a packet number usable to identify which hop and which one of the plurality of trace packets corresponds to the response without tracking a unique source port for each hop,
- wherein the plurality of trace packets each include a Transport Layer Security (TLS) Client Hello message, and wherein sending the plurality of trace packets further comprises encoding the trace information within the TLS Client Hello message, wherein the TLS Client Hello message is sent after establishing a Transmission Control Protocol (TCP) connection with the destination via a port P, and wherein the plurality of trace packets reuse the same port P while the trace information identifies at least the hop number and the packet number, and
- wherein the encoding includes encoding the trace information within a random bytes portion of the TLS Client Hello message.
An apparatus configured for tracing a service path in a network, the apparatus comprising:
- one or more processors and memory comprising instructions that, when executed, cause the one or more processors to;
- send a plurality of trace packets between a client and a destination in a service path, wherein the plurality of trace packets each include a Time-to-Live (TTL) value or hop limit value that is set to expire at different hops along the service path;
- responsive to receiving a response from the plurality of trace packets, extract trace information therefrom, wherein the response comprises an Internet Control Message Protocol (ICMP) Time Exceeded message or an ICMPv6 Time Exceeded message that includes at least a portion of an original trace packet;
- and
- determine a corresponding router associated with each of the responses based on the trace information, wherein the trace information includes a hop number and a packet number usable to identify which hop and which one of the plurality of trace packets corresponds to the response without tracking a unique source port for each hop,
- wherein the plurality of trace packets each include a Transport Layer Security (TLS) Client Hello message, and wherein sending the plurality of trace packets further comprises encoding the trace information within the TLS Client Hello message, wherein the TLS Client Hello message is sent after establishing a Transmission Control Protocol (TCP) connection with the destination via a port P, and wherein the plurality of trace packets reuse the same port P while the trace information identifies at least the hop number and the packet number,
- wherein the encoding includes encoding the trace information within a random bytes portion of the TLS Client Hello message.
Dependencies are inferred from the claim text.