文档平台 云服务器 故障处理 网络相关故障 云服务器网络延迟和丢包

云服务器网络延迟和丢包

最近更新时间:2018-10-10 14:30:58

查看pdf

本地访问云服务器或云服务器访问其他网络资源卡顿,Ping 发现存在丢包或时延较高,可能是骨干链路拥塞、链路节点故障、服务器负载高,系统设置问题等原因引起。在排除云服务器自身原因后,可以使用 MTR 进行进一步诊断。
MTR 是一款强大的网络诊断工具,其报告可以帮助确认网络问题的症结所在。下面将详细介绍 Linux 和 Windows 系统下 MTR 的使用方法以及如何对报告结果进行分析,其余操作系统请自行搜索。
在文章中,运行 MTR 的主机称为源主机,被查询的称为目的主机,可以针对源主机的操作系统查看相关的章节。

WinMTR 介绍和使用方法(Windows)

WinMTR:适用于 Windows 系统的免费网络诊断工具,集成了 Ping 和 tracert 的功能,具有图形界面,可以直观地看到各个节点的响应时间和丢包情况。
官方下载地址:http://winmtr.net/download-winmtr/(请登录腾讯云云服务器,并通过云服务器中的浏览器进行访问。)

WinMTR 的安装和使用

  1. 根据操作系统类型下载对应的安装包,解压,双击运行其中 WinMTR.exe,界面如下图。
  2. 在 Host 处输入目的服务器 IP 或域名,然后单击 Start,进行测试。
  3. 运行一段时间后,单击 Stop 结束测试。
  4. 查看测试结果。

    结果各项数据简介:
    Hostname:到目的服务器要经过的每个主机 IP 或名称。
    Nr:经过节点的数量。
    Loss%:对应节点的丢包率。
    Sent:发送的数据包数量。
    Recv:接收到响应的数量。
    Best:最短的响应时间。
    Avrg:平均响应时间。
    Worst:最长的响应时间。
    Last:最近一次的响应时间。

MTR 介绍和使用方法(Linux)

MTR:Linux 平台上诊断网络状态的工具,继承了 Ping、traceroute、nslookup 的功能,默认使用 ICMP 包测试两个节点之前的网络连接情况。

MTR 安装

几乎所有的 Linux 发行版本都预装了 MTR,如果没有可以通过以下命令进行安装:

  • CentOS:
    yum install mtr
    
  • Ubuntu:
    sudo apt-get install mtr
    

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。

下面是一份从本机到服务器(119.28.98.39)的 MTR 报告,以此为示例,对返回结果进行说明。

Host:节点的 IP 地址或域名。
Loss%:丢包率。
Snt:每秒发送的数量包的数量。
Last:最近一次的响应时间。
Avg:平均响应时间。
Best:最短的响应时间。
Wrst:最长的响应时间。
StDev:标准偏差,偏差值越高,说明各个数据包在该节点的响应时间相差越大。

报告结果分析及处理

上面已经介绍了不同操作系统下,网络诊断工具的使用。下面介绍如何对报告进行分析。
由于网络状况的非对称性,遇到本地到服务器的网络问题时,建议收集双向的 MTR 数据(从本地到云服务器以及云服务器到本地)。

MTR 结果分析步骤

  1. 查看目的地 IP 是否丢包,目的地没有丢包基本证明网络正常。中间节点丢包可能是链路节点的 ICMP 限制或其他策略引起,但事实上并未丢包。因此查看 WinMTR/MTR 的结果时,首先查看最后的目的地是否有丢包,如果没有丢包,这证明网络没有问题。
  2. 目的地发生丢包,这继续往上看,定位出第一次丢包的节点。
  3. 如果丢包发生在目的服务器,则可能是目的服务器网络配置不当引起,请检查目的服务器的防火墙配置。
    如果丢包开始于前三跳,一般为本地运营商网络问题,建议检查访问其他网址是否存在相同情况,存在则反馈给您的运营商进行处理。相反如果丢包发生在接近目的服务器的几跳,则可能为目的服务器运营商的网络问题,请 提交工单 进行反馈处理,工单上请附上本地到目的服务器,以及目的服务器到本地的 MTR 测试截图,以便工程师进行定位。