如何测量 TCP 延迟?

如何测量 TCP 延迟?

两台服务器上的操作系统都是 Debian。

我发现了一些示例,展示了如何使用 nmap 测量 TCP 延迟:

nmap --packet-trace -p 22 192.168.0.10

但我得到了一些关于延迟的负面结果。即,它将打印一些输出,例如:

Host is up (-0.0023s latency)

在最后。

nmap 在做什么?是测量SYN和SYN-ACK之间的时间差吗?如果是这样,为什么有时会得到负面结果?是否需要两台服务器之间的时钟非常精确地同步?

此外,我可以使用 ssh 作为良好的 TCP 测试服务器还是应该使用不同的服务?

我可以使用其他工具来测量 TCP 延迟吗?由于延迟测量的负面结果,我不知道我是否信任 nmap。

答案1

你对那些声称见证了时间旅行的事物的不信任是正确的。

这是事件混乱错误,在 Nmap 的更高版本中修复。您可能想使用更新的 nmap,但这肯定不利于信任。

但一般来说,“TCP 延迟”的含义也不太清楚。该术语没有规范定义;实际上,您需要用文字准确地写下您想要测量的具体时间、从在哪个逻辑层的哪个接口上发生的哪个事件到哪个其他事件。仅有的定义之后,您会选择一个工具来衡量它。

举个例子:对于任何我想称之为“TCP 引起的延迟”的东西,我需要能够确定内核/用户层接口以及驱动程序/硬件接口上的计时 - 所以在 Userland 中运行的程序(如 nmap)甚至无法满足我的需要。

这并不意味着这是真的想要测量,这只意味着您需要精确地了解您需要知道什么,以及您需要知道这些的目的。这基本上是物理研究,在设计实验来观察之前,您首先需要考虑要观察的内容,然后在实验设计过程中决定用于此目的的正确测量设备。不能只是把万用表扔进火山里就称之为科学!

相关内容