服务器网络故障处理——ping丢包或不通时链路测试说明
前言
当客户端访问目标服务器出现 ping 丢包或 ping 不通时,可以通过 tracert 或 mtr 等工具进行链路测试来判断问题来源。本文先介绍了进行链路测试的相关工具,然后对测试结果分析及测试步骤进行了说明。
链路测试工具介绍
根据操作系统类型的不同,链路测试所使用的工具也有所不同。分别简要介绍如下。
- Linux 环境下链路测试工具介绍
- Windows 环境下链路测试工具介绍
Linux 环境下链路测试工具介绍
traceroute 命令行工具
mtr 命令行工具(建议优先使用)
traceroute 命令行工具
traceroute 是几乎所有 Linux 发行版本预装的网络测试工具,用于跟踪 Internet 协议(IP)数据包传送到目标地址时经过的路径。
traceroute 先发送具有小的最大存活时间值(Max_TTL)的 UDP 探测数据包,然后侦听从网关开始的整个链路上的 ICMP TIME_EXCEEDED 响应。探测从 TTL=1 开始,TTL 值逐步增加,直至接收到ICMP PORT_UNREACHABLE 消息。ICMP PORT_UNREACHABLE 消息用于标识目标主机已经被定位,或命令已经达到允许跟踪的最大 TTL 值。
traceroute 默认发送 UDP 数据包进行链路探测。可以通过 -I 参数来指定发送 ICMP 数据包用于探测。
用法说明:
traceroute [-I] [ -m Max_ttl ] [ -n ] [ -p Port ] [ -q Nqueries ] [ -r ] [ -s SRC_Addr ] [ -t TypeOfService ] [ -f flow ] [ -v ] [ -w WaitTime ] Host [ PacketSize ]
示例输出:
[root@haiyuan ~]# traceroute -I 122.112.248.206
traceroute to 122.112.248.206 (122.112.248.206), 30 hops max, 60 byte packets
1 * * *
2 * * *
3 100.80.0.1 (100.80.0.1) 11.044 ms 10.834 ms 16.801 ms
4 10.39.3.129 (10.39.3.129) 8.574 ms 9.014 ms 23.937 ms
5 192.168.10.2 (192.168.10.2) 9.062 ms 9.004 ms 8.572 ms
6 * * *
7 10.44.2.130 (10.44.2.130) 2.521 ms 2.530 ms 2.494 ms
8 10.44.2.18 (10.44.2.18) 6.319 ms 6.192 ms 5.826 ms
9 10.1.0.146 (10.1.0.146) 2.346 ms 2.391 ms 1.988 ms
10 10.1.0.126 (10.1.0.126) 127.950 ms 126.041 ms 125.266 ms
11 10.1.0.133 (10.1.0.133) 3.891 ms 3.814 ms 3.675 ms
12 106.39.255.77 (106.39.255.77) 66.390 ms 66.165 ms 66.187 ms
13 * * *
14 220.181.0.210 (220.181.0.210) 5.114 ms 5.102 ms *
15 220.181.0.197 (220.181.0.197) 7.653 ms 7.641 ms 7.526 ms
16 * * *
17 * * *
18 * * *
19 101.95.192.5 (101.95.192.5) 34.033 ms 34.029 ms 34.165 ms
20 101.95.192.5 (101.95.192.5)