Skip to content

丢包或网络不通排查方法

1. 测试流程

1

流程说明:

  1. 获取本地网络公网地址

    在客户端本地网络,通过访问 ip138.com 等网站获取本地ip

  2. 正向链路测试

    从客户端向目标服务器做ping和mtr链路测试。

    • ping:从客户端向目标服务器域名或IP地址做持续的ping测试时,建议至少测试100个数据包,记录测试结果。
    • mtr:根据客户端操作系统环境的不同,在Windows操作系统上使用WinMTR或在Linux操作系统上执行mtr命令,设置测试目的地址为目标服务器域名或IP地址,然后进行链路测试,记录测试结果。
  3. 反向链路测试

    • ping:从目标服务器向客户端IP地址做持续的ping测试时,建议至少测试100个数据包,记录测试结果。
    • mtr:根据目标服务器操作系统环境的不同,在Windows操作系统上使用WinMTR或在Linux操作系统上执行mtr命令,设置测试目的地址为客户端IP地址,然后进行链路测试,记录测试结果。

2. 进行链路测试

2.1. Windows

安装WinMTR软件进行测试,下载后双击打开即可

image

在Host中设置需要测试的域名或ip,点击start

image

测试返回案例如下

image

各项参数说明如下表

参数参数说明
Hostname节点IP地址和域名。
Nr节点编号。
Loss%节点丢包率。
Sent已发送的数据包数量。
Recv已成功接收的数据包数量。
Best节点延迟的最小值。
Avg节点延迟的平均值。
Worst节点延迟的最大值。
Last节点延迟的最后一次值。
StDev标准偏差。该值越大说明相应节点越不稳定。

2.2. Linux

安装mtr,根据不通的包管理器进行安装

shell
# apt install mtr

mtr -c 10 -t 目标ip​的格式进行测试,这里以1.1.1.1为测试案例

image

各项参数说明如下

参数参数说明
Host节点IP地址和域名。您可以按n​键切换显示。
Loss%节点丢包率。
Snt已发送数据包数。默认值是10,可以通过参数-c​指定。
Last最近一次的探测延迟值。
Avg探测延迟的平均值。
Best探测延迟的最小值。
Wrst探测延迟的最大值。
StDev标准偏差。该值越大说明相应节点越不稳定。

3. 常见链路异常场景

  1. 目标主机网络配置不当

    目标主机丢包率100%。可能是因为防火墙、安全组、iptables等规则限制,建议检查相关配置。

  2. ICMP限速

    测速结果在某一跳出现100%丢包,而后续节点正常。可能是防火墙、iptables 、运营商策略等禁用了ICMP所致,需要排查目标服务器的安全策略配置,或是进行反向MTR进行测试。

  3. 链路中存在环路

    如果数据包在某一跳后出现了循环跳转,导致无法到达服务器,属于环路情况,需要联系对应节点运营商处理。

  4. 链路中断

    数据包在某一跳后无任何反馈。该情况通常是对应节点中断导致,需要进行反向MTR检查,或是联系对应节点运营商处理。