vps广告

VPS ping 丢包或不通时链路测试说明

五彩互联编辑部发布时间:2019-01-16 16:18:27浏览:0
摘要:   当客户端访问目标服务器出现 ping 丢包或 ping 不通时,可以通过 tracert 或 mtr 等工具进行链路测试来判断问题来源。本文先介绍了进行链路测试的相关工具,然后对测试结

   当客户端访问目标服务器出现 ping 丢包或 ping 不通时,可以通过 tracert 或 mtr 等工具进行链路测试来判断问题来源。本文先介绍了进行链路测试的相关工具,然后对测试结果分析及测试步骤进行了说明。

  Linux 环境下链路测试工具介绍

  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 数据包用于探测。

  用法说明:

  1. traceroute [-I] [ -m Max_ttl ] [ -n ] [ -p Port ] [ -q Nqueries ] [ -r ] [ -s SRC_Addr ] [ -t TypeOfService ] [ -f flow ] [ -v ] [ -w WaitTime ] Host [ PacketSize ]

  示例输出:

  1. [root@centos ~]# traceroute -I 223.5.5.5traceroute to 223.5.5.5 (223.5.5.5), 30 hops max, 60 byte packets 1 2 192.168.17.20 (192.168.17.20) 3.965 ms 4.252 ms 4.531 ms 3 111.1.20.41 (111.1.20.41) 6.109 ms 6.574 ms 6.996 ms 4 111.1.34.197 (111.1.34.197) 2.407 ms 2.451 ms 2.533 ms 5 211.138.114.25 (211.138.114.25) 1.321 ms 1.285 ms 1.304 ms 6 211.138.114.70 (211.138.114.70) 2.417 ms 211.138.114.66 (211.138.114.66) 1.857 ms 211.138.114.70 (211.138.114.70) 2.002 ms 7 42.120.244.194 (42.120.244.194) 2.570 ms 2.536 ms 42.120.244.186 (42.120.244.186) 1.585 ms 8 42.120.244.246 (42.120.244.246) 2.706 ms 2.666 ms 2.437 ms 9 10 public1.alidns.com (223.5.5.5) 2.817 ms 2.676 ms 2.401 ms

 

  常见可选参数说明:

  -d 使用Socket层级的排错功能。

  -f 设置第一个检测数据包的存活数值TTL的大小。

  -F 设置不要分段标识。

  -g 设置来源路由网关,最多可设置8个。

  -i 使用指定的网卡送出数据包。用于主机有多个网卡时。

  -I 使用ICMP数据包替代 UDP 数据包进行探测。

  -m 设置检测数据包的最大存活数值TTL的大小。

  -n 直接使用IP地址而非主机名称(禁用 DNS 反查)。

  -p 设置UDP传输协议的通信端口。

  -r 忽略普通的Routing Table,直接将数据包送到远端主机上。

  -s 设置本地主机送出数据包的IP地址。

  -t 设置检测数据包的TOS数值。

  -v 详细显示指令的执行过程。

  -w 设置等待远端主机回包时间。

 

  -x 开启或关闭数据包的正确性检验。

  mtr 命令行工具(建议优先使用)

  mtr (My traceroute)也是几乎所有 Linux 发行版本预装的网络测试工具。他把 ping和 traceroute 的功能并入了同一个工具中,所以功能更强大。

  mtr 默认发送 ICMP 数据包进行链路探测。可以通过 -u 参数来指定使用 UDP 数据包用于探测。

  相对于 traceroute 只会做一次链路跟踪测试,mtr 会对链路上的相关节点做持续探测并给出相应的统计信息。所以,mtr能避免节点波动对测试结果的影响,所以其测试结果更正确,建议优先使用。

 

  用法说明:

  1. mtr [-hvrctglspni46] [—help] [—version] [—report] [—report-cycles=COUNT] [—curses] [—gtk] [—raw] [—split] [—no-dns] [—address interface] [—psize=bytes/-s bytes] [—interval=SECONDS] HOSTNAME [PACKETSIZE]

 

  示例输出:

  1. [root@centos ~]# mtr 223.5.5.5 My traceroute [v0.75]mycentos6.6 (0.0.0.0) Wed Jun 15 23:16:27 2016Keys: Help Display mode Restart statistics Order of fields quit Packets Pings Host Loss% Snt Last Avg Best Wrst StDev 1. ??? 2. 192.168.17.20 0.0% 7 13.1 5.6 2.1 14.7 5.7 3. 111.1.20.41 0.0% 7 3.0 99.2 2.7 632.1 235.4 4. 111.1.34.197 0.0% 7 1.8 2.0 1.2 2.9 0.6 5. 211.138.114.25 0.0% 6 0.9 4.7 0.9 13.9 5.8 6. 211.138.114.70 0.0% 6 1.8 22.8 1.8 50.8 23.6 211.138.128.134 211.138.114.2 211.138.114.66 7. 42.120.244.186 0.0% 6 1.4 1.6 1.3 1.8 0.2 42.120.244.198 8. 42.120.244.246 0.0% 6 2.8 2.9 2.6 3.2 0.2 42.120.244.242 9. ???10. 223.5.5.5 0.0% 6 2.7 2.7 2.5 3.2 0.3

 

  常见可选参数说明:

  -r 或 —report:以报告模式显示输出。

  -p 或 —split:将每次追踪的结果分别列出来,而非如 —report统计整个结果。

  -s 或 —psize:指定ping数据包的大小。

  -n 或 —no-dns:不对IP地址做域名反解析。

  -a 或 —address:设置发送数据包的IP地址。用于主机有多个IP时。

  -4:只使用 IPv4 协议。

  -6:只使用 IPv6 协议。

  另外,也可以在 mtr 运行过程中,输入相应字母来快速切换模式,比如:

  ?或 h:显示帮助菜单。

  d:切换显示模式。

  n:切换启用或禁用 DNS 域名解析。

  u:切换使用 ICMP或 UDP 数据包进行探测。

  返回结果说明:

  默认配置下,返回结果中各数据列的说明:

  第一列(Host):节点IP地址和域名。如前面所示,按n键可以切换显示。

  第二列(Loss%):节点丢包率。

  第三列(Snt):每秒发送数据包数。默认值是10,可以通过参数 -c 指定。

  第四列(Last):最近一次的探测延迟值。

  第五、六、七列(Avg、Best、Wrst):分别是探测延迟的平均值、最小值和最大值。

 

  第八列(StDev):标准偏差。越大说明相应节点越不稳定。

Windows 环境下链路测试工具介绍

  WinMTR 工具(建议优先使用)

  WinMTR 是 mtr 工具在 Windows 环境下的图形化实现,但进行了功能简化,只支持 mtr部分参数的调整设置。WinMTR 默认发送ICMP 数据包进行探测,无法切换。

  WinMTR 可以从其官方网站下载获取。

  和 mtr 一样,相比 tracert,WinMTR 能避免节点波动对测试结果的影响,所以测试结果更正确。所以,在 WinMTR 可用的情况下,建议优先使用 WinMTR 进行链路测试。

  用法说明:

  WinMTR 无需安装,直接解压运行即可。操作方法非常简单,说明如下:

  如下图所示,运行程序后,在 Host 字段输入目标服务器域名或 IP(注意前面不要包含空格)。

  点击 Start 开始测试(开始测试后,相应按钮变成了 Stop)。

  运行一段时间后,点击 Stop 停止测试。

  其它选项说明:

  Copy Text to clipboard:将测试结果以文本格式复制到粘贴板。

  Copy HTML to clipboard:将测试结果以 HTML 格式复制到粘贴板。

  Export TEXT:将测试结果以文本格式导出到指定文件。

  Export HTML:将测试结果以 HTML 格式导出到指定文件。

  Options:可选参数,包括:

  Interval(sec):每次探测的间隔(过期)时间。默认为 1 秒。

  Ping size(bytes): ping 探测所使用的数据包大小,默认为 64 字节。、

  Max hosts in LRU list: LRU 列表支持的最大主机数,默认值为 128。

  Resolve names:通过反查 IP 以域名显示相关节点。

  返回结果说明:

  默认配置下,返回结果中各数据列的说明:

  第一列(Hostname):节点 IP 或域名。

  第二列(Nr):节点编号。

  第三列(Loss%):节点丢包率。

  第四列(Sent):已发送的数据包数量。

  第五列(Recv):已成功接收的数据包数量。

  第六、七、八、九列(Best 、Avg、Worst、Last):分别是到相应节点延迟的最小值、平均值、最大值和最后一次值。

  第八列(StDev):标准偏差。越大说明相应节点越不稳定。

链路测试结果分析简要说明

  由于 mtr(WinMTR)有更高的准确性。本文以其测试结果为例,对链路测试结果的分析进行简要说明。

  后续说明,以如下

链路测试结果示例图为基础进行阐述:

 

对链路测试结果进行分析时,需要关注如下

 

 

    联系我们