弹性云主机

ping不通或丢包时如何进行链路测试?

2025-10-29 02:24:34

问题描述

云主机对外访问网络资源时出现网络卡顿的情况。通过执行ping命令,发现网络存在丢包或时延较高的情况。

原因分析

出现网络访问丢包或时延较高的问题,可能存在多方面原因,比如链路拥塞、链路节点故障、服务器负载高、系统设置问题等。

解决方法

在出现访问丢包或者时延高的情况下,可以优先对云主机自身原因进行排查。

如果云主机运行状态正常(如不存在负载异常等情况),可以使用Tracert或MTR工具进行进一步诊断。

Tracert和MTR工具使用方式

Windows操作系统使用Tracert命令方式

tracert是路由跟踪命令,用来跟踪数据包到达目的地址过程中的跳转路径,以及每一跳消耗的时间。tracert命令功能与ping命令类似,但可以获得更详细的路径信息,包括数据包所走的全部路径、节点IP以及消耗时间。

1.      登录Windows云主机。

2.      打开cmd命令窗,执行命令 tracert IP地址/域名 跟踪路径,例如:tracert https://www.esurfingcloud.com/

3.      可以根据回显信息,对数据节点进行分析:

1)tracert默认最大跳数30,第1列为起跳顺序号。s

2)tracert每次会发送三个数据包,第2、3、4列为对应三个数据包的返回时间,如果包丢失则返显为“*” 。

3)第5列为跳转的目标IP节点,如果某一行的此列出现了“请求超时”或“request timed out”,请您根据实际情况对该节点问题进行排查。

Windows操作系统使用WinMTR工具介绍

1.      登录Windows云主机,WinMTR需要访问公网下载,因此请确认云主机可访问公网。

2.      请您通过浏览器寻找正规途径搜索并下载WinMTR软件包。此软件无需安装,解压即可运行。

3.      双击WinMTR.exe,运行WinMTR。

4.      在WinMTR窗口的Host处,输入目的地址,可以为IP地址或者域名。完成后单击“Start”。

5.      根据链路情况不同,运行时间不同,如果一段时间未运行完成可单击“Stop”以结束测试。结果如下图所示。

6.      测试结果的主要信息如下:

1)第一列-Hostname:到目的地址经过的每个节点IP或域名。

2)第二列-Nr:经过的节点数量。

3)第三列-Loss%:对应节点的丢包率。

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

5)第五列-Recv:已接收到的响应数量。

6)第六列-Best:最短响应时间。

7)第七列-Avrg:平均响应时间。

8)第八列-Worst:最长响应时间。

9)第九列-Last:最近一次响应时间。

Linux操作系统MTR介绍和使用

1.      您可以执行以下命令进行安装MTR,安装前请确保您的云主机可访问公网。如果已安装可跳过此步骤。

1)CentOS 操作系统执行以下命令安装:

      yum install mtr


2)Ubuntu 操作系统执行以下命令安装:

      sudo apt-get install mtr


2.      MTR相关参数说明,请根据您的实际情况选择参数使用:

-h/--help:显示帮助菜单。

-v/--version:显示MTR版本信息。

-r/--report:结果以报告形式输出。

-p/--split:与 --report相对,分别列出每次追踪的结果。

-c/--report-cycles:指定每次探测发送的数据包数量,默认值是10。

-s/--psize:设置数据包的大小。

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

-a/--address:用户设置发送数据包的IP地址,主要用户单一主机多个IP地址的场景。

-4:IPv4。

-6:IPv6。

3.      以本机到目的地址https://www.esurfingcloud.com/为例,执行以下命令,以报告形式输出MTR的诊断结果。

     mtr www.ctyun.cn --report


4.      回显信息如下:

5.      主要输出的信息如下:

1)第一列-HOST:到目的地址经过的每个节点IP或域名。

2)第二列-Loss%:对应节点的丢包率。

3)第三列-Snt:已发送的数据包数量。

4)第四列-Last:最近一次响应时间。

5)第五列-Avg:平均响应时间。

6)第六列-Best:最短响应时间。

7)第七列-Wrst:最长响应时间。

8)第八列-StDev:标准偏差。偏差值越高,说明各个数据包在该节点的响应时间相差越大。

WinMTR和MTR的报告分析处理

以下图为例,对MTR报告进行分析。

  1. 客户端本地网络:即图中A区域,代表本地局域网和本地网络提供商网络。
         1)如果客户端本地网络中的节点出现异常,则需要对本地网络进行相应的排查分析。
         2)如果本地网络提供商网络出现异常,则需要向当地运营商反馈问题。

  2. 运营商骨干网络:即图中B区域,如果该区域出现异常,可以根据异常节点的IP查询其所属的运营商,向对应运营商进行反馈。

  3. 目标服务器本地网络:即图中C区域,即目标服务器所属提供商的网络。
         1)如果丢包发生在目标服务器,则可能是目标服务器的网络配置原因,请检查目的服务器的防火墙配置。
         2)如果丢包发生在接近目标服务器的几跳,则可能是目标服务器所属提供商的网络问题。

  4. 链路负载均衡:即图中的D区域,如果中间链路某些部分启用了链路负载均衡,则mtr命令只会对首尾节点进行编号和探测统计,中间节点只会显示相应的IP或域名信息。

常见的链路异常案例

1.      目标主机配置不当。

如下示例所示,数据包在第5条的目标地址出现了80%的丢包,问题可能是目标服务器网络配置原因,需检查目标服务器的访问配置。

2.      ICMP限速。

如下图所示,在第6、7跳出现丢包,但后续节点均未见异常。推断是该节点ICMP限速所致。该场景对最终客户端到目标服务器的数据传输不会有影响,分析时可以忽略此种场景。

3.      环路.

如下图所示,数据包在第5跳之后出现了循环跳转,导致最终无法到达目标服务器。出现此场景是由于运营商相关节点路由配置异常所致,需联系相应节点归属运营商处理。

4.      链路中断。

如下图所示,数据包在第4跳之后就无法收到任何反馈。这通常是由于相应节点中断所致。建议结合反向链路测试做进一步确认。该场景需要联系相应节点归属运营商处理。


9Z7cCuiY15wH