干网工这么多年,居然还不知道有这款神器可以诊断网络丢包,网络延迟?( 二 )


最后一列StDev提供了数据包在每个主机的标准偏差 。 如果标准偏差越高 , 说明数据包在这个节点的延时越不相同 。 标准偏差会让您了解到平均延时是否是真的延时时间的中心点 , 或者测量数据受到某些问题的干扰 。
例如 , 如果标准偏差很大 , 说明数据包的延迟是不确定的 。 一些数据包延迟很小(例如:25ms) , 另一些数据包延迟很大(例如:350ms) 。 当10个数据包全部发出后 , 得到的平均延迟可能是正常的 , 但是平均延迟是不能很好的反应实际情况的 。 如果标准偏差很高 , 使用最好和最坏的延迟来确定平均延迟是一个较好的方案 。
在大多数情况下 , 您可以把MTR的输出分成三大块 。 根据配置 , 第二或第三跳一般都是您的本地ISP , 倒数第二或第三跳一般为您目的主机的ISP 。 中间的节点是数据包经过的路由器 。
当分析MTR的输出时 , 您需要注意两点:loss和latency 。
网络丢包
如果在任何一跳上看到loss的百分比 , 这就说明这一跳上可能有问题了 。 当然 , 很多服务提供商人为限制ICMP发送的速率 , 这也会导致此问题 。 那么如何才能指定是人为的限制ICMP传输还是确定有丢包的现象?此时需要查看下一跳 。 如果下一跳没有丢包现象 , 说明上一条是人为限制的 。 如下示例:
干网工这么多年,居然还不知道有这款神器可以诊断网络丢包,网络延迟?
文章图片
人为限制MTR丢包
在此例中 , 第4跳发生了丢包现象 , 但是接下来几条都没任何丢包现象 , 说明第二跳的丢包是人为限制的 。 如果在接下来的几条中都有丢包 , 那就可能是第二跳有问题了 。 请记住 , ICMP包的速率限制和丢失可能会同时发生 。
干网工这么多年,居然还不知道有这款神器可以诊断网络丢包,网络延迟?
文章图片
MTR丢包截图
从上面的图中 , 您可以看从第13跳和第17跳都有10%的丢包率 , 从接下来的几跳都有丢包现象 , 但是最后15、16跳都是100%的丢包率 , 我们可以猜测到100%的丢包率除了网络糟糕的原因之外还有人为限制ICMP 。 所以 , 当我们看到不同的丢包率时 , 通常要以最后几跳为准 。
还有很多时候问题是在数据包返回途中发生的 。 数据包可以成功的到达目的主机 , 但是返回过程中遇到“困难”了 。 所以 , 当问题发生后 , 我们通常需要收集反方向的MTR报告 。 (公众号:网络工程师阿龙)
此外 , 互联网设施的维护或短暂的网络拥挤可能会带来短暂的丢包率 , 当出现短暂的10%丢包率时候 , 不必担心 , 应用层的程序会弥补这点损失 。
网络延迟
除了可以通过MTR报告查看丢包率 , 我们也还可以看到本地到目的地之间的时延 。 因为是不通的位置 , 延迟通常会随着条数的增加而增加 。 所以 , 延迟通常取决于节点之间的物理距离和线路质量 。
干网工这么多年,居然还不知道有这款神器可以诊断网络丢包,网络延迟?
文章图片
MTR查看网络延迟
从上面的MTR报告截图中 , 我们可以看到从第11跳到12跳的延迟猛增 , 直接导致了后面的延迟也很大 , 一般有可能是11跳到12跳属于不同地域 , 物理距离导致时延猛增 , 也有可能是第12条的路由器配置不当 , 或者是线路拥塞 。 需要具体问题进行具体的分析 。 (公众号:网络工程师阿龙)
然而 , 高延迟并不一定意味着当前路由器有问题 。 延迟很大的原因也有可能是在返回过程中引发的 。 从这份报告的截图看不到返回的路径 , 返回的路径可能是完全不同的线路 , 所以一般需要进行双向MTR测试 。
注:ICMP速率限制也可能会增加延迟 , 但是一般可以查看最后一条的时间延迟来判断是否是上述情况 。