如何在Linux/Unix下加速ping和traceroute命令响应

时间:2020-01-09 10:45:55  来源:igfitidea点击:

如何在Unix或者Linux操作系统下加快ping和traceroute命令的响应速度?

如何在Linux上加快ping或者traceroute命令的速度?

" ping"命令行实用程序充当计算机网络工具。
它用于测试特定主机是否可以通过IP网络访问。

traceroute命令还可以用作计算机网络诊断工具,用于显示路线(路径)和测量运输
在Unix下ping/traceroute用于查看Internet协议(IP)网络上的数据包延迟。

加速ping命令

语法为:

ping -n -W VALUE -i VALUE host

其中:

  • -n:禁用DNS查找以加快查询速度。
  • -W NUMBER:等待响应的时间,以秒为单位。该选项仅在没有任何响应的情况下影响超时,否则ping将等待两个RTT。
  • -i SECONDS:发送每个数据包之间的等待间隔秒数。默认设置是在每个数据包之间正常等待一秒钟,或者不以泛洪模式等待。仅超级用户可以将间隔设置为小于0.2秒的值。

默认命令将产生如下输出:

$ ping -c 5 www.theitroad.local

输出示例:

PING www.theitroad.local (75.126.153.206) 56(84) bytes of data.
64 bytes from www.theitroad.local (75.126.153.206): icmp_req=1 ttl=55 time=293 ms
64 bytes from www.theitroad.local (75.126.153.206): icmp_req=2 ttl=55 time=295 ms
64 bytes from www.theitroad.local (75.126.153.206): icmp_req=3 ttl=55 time=293 ms
64 bytes from www.theitroad.local (75.126.153.206): icmp_req=4 ttl=55 time=294 ms
64 bytes from www.theitroad.local (75.126.153.206): icmp_req=5 ttl=55 time=294 ms

--- www.theitroad.local ping statistics --
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 293.571/294.170/295.158/0.869 ms

现在优化ping命令:

$ ping -c 5 -n -i 0.2 -W1 www.theitroad.local

输出示例:

PING www.theitroad.local (75.126.153.206) 56(84) bytes of data.
64 bytes from 75.126.153.206: icmp_req=1 ttl=55 time=293 ms
64 bytes from 75.126.153.206: icmp_req=2 ttl=55 time=294 ms
64 bytes from 75.126.153.206: icmp_req=3 ttl=55 time=293 ms
64 bytes from 75.126.153.206: icmp_req=4 ttl=55 time=293 ms
64 bytes from 75.126.153.206: icmp_req=5 ttl=55 time=294 ms

--- www.theitroad.local ping statistics --
5 packets transmitted, 5 received, 0% packet loss, time 810ms
rtt min/avg/max/mdev = 293.279/293.955/294.522/0.799 ms, pipe 2

这是另一个显示两个命令行选项之间差异的输出:
Unix和Linux speedping命令

加速traceroute命令

语法为:

traceroute -n -w SECONDS -q NUMBER host

其中:

  • -n:禁用DNS查找以加快查询速度。
  • -w seconds:设置等待探测响应的时间(以秒为单位)(默认为5.0秒)。
  • -q NUMBER:设置每跳的探测包数。预设值为3。

以下示例将浪费3秒(而不是5秒),仅向每个跃点发送1个查询(不增加3个):

$ traceroute -n -w 3 -q 1 www.theitroad.local

-N选项指定同时发送的探测包的数量。
同时发送多个探针可以大大提高跟踪路由的速度。
默认值为16。

$ traceroute -n -w 3 -q 1 -N 32 www.theitroad.local

请注意,某些路由器和主机可以使用ICMP速率限制。
在这种情况下,指定太大的数字可能会导致某些响应丢失。
您还可以使用-m选项在放弃之前将最大跳数限制为16(而不是默认的30):

$ traceroute -n -w 3 -q 1 -N 32 -m 16 www.theitroad.local