很多人经常建议你使用ping
命令来找出你的网络延迟。但这是错误的,是您经常在 Internet 上的文章中找到的神话。ICMP ping 从来没有被设计为找出延迟,因为它被赋予非常低的路由优先级,并且 ICMP 数据包可能会通过与 TCP/UDP 数据包发送的路径完全不同的路径进行路由。选择用于发送 ICMP 数据包的路由可能更长,并且被其他流量占用很高,因此它们永远不会给你真正的结果。ICMPping
旨在检查与服务器的连接。我想找到 TCP/UDP 路由的延迟。是否可以?
如何找出网络的 TCP/UDP 延迟?
网络工程
通讯协议
UDP
潜伏
国际会议
2021-07-13 22:38:12
2个回答
如果您问是否可以使用 TCP 或 UDP 数据包测量延迟,答案是肯定的。您可以在服务器上安装一些软件来生成 TCP/UDP 流,您可以从中测量延迟。如果您有更新的 Cisco 路由器,您可以使用称为 IP SLA 的功能,路由器将在其中生成流量。
所有这些都假设您可以在目标服务器上安装软件,或者您可以访问路由器。Ping 的优点是不需要额外的软件。
您还可以使用 Wireshark 或类似工具捕获实时流量并分析数据包流以计算延迟。
@ronmaupin 提到的所有警告仍然适用——延迟随着交通状况的变化而不断变化。除非您使用的服务器专门用于此目的,否则它们不断变化的负载会影响您的结果。
在实践中,您的担忧通常不是一个重要因素。但这里有一种方法可以确认:
须藤 nmap --packet-trace -p 80 主机名
发送 (0.4506s) [..] RCVD (0.4990s) [..]
这显示了同步和同步确认之间的 49 毫秒延迟。当然,这包括客户端和服务器上的 CPU 时间,但在进行主动测量时这是不可避免的。
其它你可能感兴趣的问题