Non-intrusive knowledge suite for evaluation of latencies in IP networks
AssigneeThe United States of America as represented by the Secretary of the Navy
InventorNikhil Davé
Life of this patent
Estimating the term…
Abstract
A determination of latency in IP networks is performed by sensing packets, determining a status of the sensed packets and comparing original packets with acknowledgements (ACKs). A packet header on a physical layer interface (e.g., int 0) is sensed. A determination is made of a sensed packet status. If the packet is sensed, a hashed record of the packet header is created, including a local clock time of when the packet was sensed. A determination is made as to whether the packet represents an ACK to a previously sensed TCP packet. If the packet represents an ACK to a previously sensed packet, a time delay between the previous sensing of the packet and the ACK is calculated. The time delay is the TCP ACK Round Trip Time (TCP RTT).
Claims14
A method for determining latency in IP networks, the method comprising:
- sensing a packet header on a first physical layer interface (e.g., int 0);
- determining a sensed packet status;
- in the case of a sensed packet, creating a hashed record of said packet header and the local clock time corresponding to sensing said packet;
- determining if said packet represents an acknowledgement (ACK) to a previously sensed TCP packet;
- in the case of said packet representing an ACK to a previously sensed packet, calculating a time delay between the previous sensing of said packet and said ACK;
- receiving sensed packet data from a second physical layer interface (e.g., int 1);
- identifying if said sensed packet data from said second physical layer interface corresponds to a packet in said hashed record of said first physical interface layer (e.g., int 0);
- and
- identifying a time difference between sensing said packet at said first physical interface layer and said second physical interface layer to determine the One-Way Flight Time between said first physical interface layer and said second physical interface layer.
A non-transitory computer-readable medium embodied a computer software for execution by a computer, the computer software comprising:
- a software instruction for causing said computer to sense a packet header on a physical layer interface (e.g., int 0);
- a software instruction for causing said computer to determine a sensed packet status;
- a software instruction which, in the case of a sensed packet, creates a hashed record of said packet header and the local clock time corresponding to sensing said packet;
- a software instruction for causing said computer to determine if said packet represents an acknowledgement (ACK) to a previously sensed TCP packet;
- a software instruction which, in the case of said packet representing an ACK to a previously sensed packet, causes said computer to calculate a time delay between the previous sensing of the packet and said ACK;
- a software instruction for causing said computer to receive said sensed packet data from a second physical layer interface (e.g., int 1), identify if said packet data from said second physical layer interface corresponds to a packet in a hashed record of another physical layer interface (e.g., int 0) and determine a time difference between sensing of said packet at said two interfaces, a second interface RTT for said packet data from said second physical layer interface;
- and
- a software instruction for causing said computer to use a time interval between the first interface RTT and the second interface RTT to determine a one-way latency, said time difference provided as the One-Way Flight Time of said packet, after properly accounting for clock offset between the two hosts housing said two interfaces.
Dependencies are inferred from the claim text.