Performance 使用TCP确认来测量服务器的延迟?

Performance 使用TCP确认来测量服务器的延迟?,performance,tcp,latency,low-latency,Performance,Tcp,Latency,Low Latency,我试图测量一个我无法控制的服务器的延迟。这是在同一个环境中,因此延迟大约为500 us(.5 ms) 我知道Cisco gear经常对ICMP流量进行非优先级处理,使得ping时间不可靠。有没有办法告诉我,在我所穿过的齿轮上是否存在这种情况 我可以使用TCP确认来确定远程服务器的最小延迟吗?要做到这一点,我需要强制远程服务器在接收到我的数据时立即发送TCP ack 您可以尝试使用,它使用ARP进行ping。尝试hping。您可以发送ACK并测量延迟: hping -A -p 80 host 或

我试图测量一个我无法控制的服务器的延迟。这是在同一个环境中,因此延迟大约为500 us(.5 ms)

我知道Cisco gear经常对ICMP流量进行非优先级处理,使得ping时间不可靠。有没有办法告诉我,在我所穿过的齿轮上是否存在这种情况


我可以使用TCP确认来确定远程服务器的最小延迟吗?要做到这一点,我需要强制远程服务器在接收到我的数据时立即发送TCP ack

您可以尝试使用,它使用ARP进行ping。

尝试hping。您可以发送ACK并测量延迟:

hping -A -p 80 host
或使用SYN:

hping -S -p 80 host
还要注意的是,第2层链路上的去优先级化不太可能(但可能)。此外,看到ARP比ICMP慢并不一定意味着ICMP没有去优先级化——这可能意味着带宽不足以达到限制阈值


ARP几乎总是比较慢,因为它会广播,并且可能会在交换机上出现端口排队。您可以单播ARP,但如果有人在寻找它,这可能看起来很可疑。

我发现ARP报告的时间比ping报告的时间高约100 us。你会期待吗?这是否表明ICMP ping没有被解除优先级?这可能只是表明ARP应答在本地内核中引起的额外处理。无论如何,显然ICMP ping没有被解除优先级。在任何情况下,如果Cisco路由器正在解除ping数据包的优先级,那么您的TCP延迟肯定是使用ACK测量延迟。