Unix 网络考试中提出了以下问题:
如何在 Unix 或 Linux 操作系统下加快 ping 和 traceroute 命令响应速度?
如何在 Linux 上加快 ping 或 traceroute 命令的速度?
命令ping行实用程序充当计算机网络工具。它用于测试特定主机是否可以通过 IP 网络访问。该traceroute命令还充当计算机网络诊断工具,用于显示路线(路径)和测量传输
教程详情 | |
---|---|
难度级别 | 中间的 |
根权限 | 是/否 |
要求 | Unix 下ping/traceroute |
美东时间。阅读时间 | 3分钟 |
数据包通过互联网协议 (IP) 网络的延迟。
加速 ping 命令
语法是:
ping -n -W值-i值主机
在哪里,
- -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) 字节数据。
来自 www.example.com (75.126.153.206) 的 64 字节:icmp_req=1 ttl=55 time=293 ms
来自 www.example.com (75.126.153.206) 的 64 字节:icmp_req=2 ttl=55 time=295 ms
来自 www.example.com (75.126.153.206) 的 64 字节:icmp_req=3 ttl=55 time=293 ms
来自 www.example.com (75.126.153.206) 的 64 字节:icmp_req=4 ttl=55 time=294 ms
来自 www.example.com (75.126.153.206) 的 64 字节:icmp_req=5 ttl=55 time=294 ms
--- www.example.com ping 统计数据 ---
发送 5 个数据包,接收 5 个数据包,0% 数据包丢失,时间 4005ms
rtt 最小值/平均值/最大值/mdev = 293.571/294.170/295.158/0.869 毫秒
现在优化 ping 命令:
$ ping -c 5 -n -i 0.2 -W1 www.example.com
示例输出:
PING www.example.com (75.126.153.206) 56(84) 字节数据。
来自 75.126.153.206 的 64 字节:icmp_req=1 ttl=55 时间=293 ms
来自 75.126.153.206 的 64 字节:icmp_req=2 ttl=55 时间=294 ms
来自 75.126.153.206 的 64 字节:icmp_req=3 ttl=55 时间=293 ms
来自 75.126.153.206 的 64 字节:icmp_req=4 ttl=55 时间=293 ms
来自 75.126.153.206 的 64 字节:icmp_req=5 ttl=55 时间=294 ms
--- www.example.com ping 统计数据 ---
发送 5 个数据包,接收 5 个数据包,0% 数据包丢失,时间 810ms
rtt 最小值/平均值/最大值/mdev = 293.279/293.955/294.522/0.799 毫秒,管道 2
这是另一个输出,显示两个命令行选项之间的差异:
加速traceroute命令
语法是:
Traceroute -n -w SECONDS -q NUMBER 主机
在哪里,
- -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 –