如何:加速 Linux / Unix 下的 ping 和 traceroute 命令响应
Unix 网络考试中提出了以下问题:如何
加快 Unix 或 Linux 操作系统下的 ping 和 traceroute 命令响应?
互联网协议 (IP) 网络上数据包的延迟。
加快 Unix 或 Linux 操作系统下的 ping 和 traceroute 命令响应?
如何加快 Linux 上的 ping 或 traceroute 命令的速度?
命令ping行实用程序充当计算机网络工具。它用于测试特定主机是否可通过 IP 网络访问。该traceroute命令还可充当计算机网络诊断工具,用于显示路由(路径)和测量传输
教程详细信息 | |
---|---|
难度等级 | 中间的 |
Root 权限 | 是/否 |
要求 | Unix 下的ping / traceroute |
预计阅读时间 | 3 分钟 |
加速 ping 命令
语法是:
ping -n -W VALUE -i VALUE host
在哪里,
- -n:禁用 DNS 查找以加快查询速度。
- -W NUMBER:等待响应的时间,以秒为单位。该选项仅影响在没有任何响应的情况下的超时,否则 ping 将等待两个 RTT。
- -i SECONDS:发送每个数据包之间的等待间隔秒数。默认情况下,正常情况下每个数据包之间等待一秒,或者在泛洪模式下不等待。只有超级用户可以将间隔设置为小于 0.2 秒的值。
默认命令将产生如下输出:
$ ping -c 5 www.example.com
示例输出:
PING www.example.com (75.126.153.206) 56(84) bytes of data.
64 bytes from www.example.com (75.126.153.206): icmp_req=1 ttl=55 time=293 ms
64 bytes from www.example.com (75.126.153.206): icmp_req=2 ttl=55 time=295 ms
64 bytes from www.example.com (75.126.153.206): icmp_req=3 ttl=55 time=293 ms
64 bytes from www.example.com (75.126.153.206): icmp_req=4 ttl=55 time=294 ms
64 bytes from www.example.com (75.126.153.206): icmp_req=5 ttl=55 time=294 ms
--- www.example.com 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.example.com
示例输出:
PING www.example.com (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.example.com 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
下面是另一个显示两个命令行选项之间差异的输出:
加速 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.example.com
该-N选项指定同时发送的探测数据包数。同时发送多个探测可以大大加快跟踪路由的速度。默认值为 16:
$ traceroute -n -w 3 -q 1 -N 32 www.example.com
请注意,某些路由器和主机可以使用 ICMP 速率限制。在这种情况下,指定过大的数字可能会导致丢失一些响应。您还可以使用以下选项将放弃之前的最大跳数限制为 16(而不是默认值 30)-m:
$ traceroute -n -w 3 -q 1 -N 32 -m 16 www.example.com
示例输出:
参考:
- 手册页 ping 和 traceroute –