使用 ISP 的全带宽时丢包的原因是什么?

网络工程 路由 潜伏 互联网服务供应商 数据包丢失 广告
2021-07-21 03:59:25

我们有一个小型的本地 ISP,它遇到了一些网络问题,我正在尝试了解原因以更好地与他们的网络人员进行沟通。我使用他们的服务 (dsl) 与许多具有不同网络/路由器配置的公司合作。

我们遇到了一系列问题,但最可重复的问题是在使用大量带宽时会丢弃数据包。例如,当我运行速度测试并且同时运行几个 ping 时,我看到数据包丢失率达到 50%,延迟达到原来的 10 倍。无论客户的配置如何,都会发生这种情况。

例如,当有人将专辑上传到 facebook 时,我看到过同样的事情发生。所有其他广域网流量变得不稳定,具有高延迟和大量丢弃的数据包。然而,即使我们没有使用太多带宽,我们仍然会看到间歇性的数据包丢失,并且客户网络上的延迟通常出乎意料地高。

  • 对于试图了解该问题的新手网络管理员来说,最有可能的罪魁祸首是 DSL 设备问题还是路由器处理流量不足?
  • 我如何进行测试以更好地了解正在发生的事情?
  • 向他们展示问题的最佳方式是什么(并且所有客户都在发生这种情况),以便为他们的网络人员提供解决问题的必要信息?
3个回答

这里有许多可能性,不限于,但包括:

  1. CPE 的 CPU 已用尽。(CPE=客户预置设备)

    检查您使用的路由器的规格,以确保它可以支持您尝试推送的流量级别。如果您不确定,请尝试绘制 CPE 的 CPU 图表。

  2. ISP 中的缓冲膨胀

    如果您的 ISP 为 DSL 尾部配置了流量整形(以避免尾部丢弃数据包) - 他们可能将其缓冲区大小配置得过大。一个很好的判断方法是在下游(下载)方向最大化您的连接。如果您的延迟增加了 200 毫秒或更多,这可能是您的 ISP 的 DSL 尾部整形配置存在问题,您应该投诉。他们应该减少他们的缓冲深度。

    我建议 >50ms 的缓冲区是有害的。

  3. 您的 xDSL 的上游已达到最大值。

    请记住,在大多数 DSL 技术中,带宽是不对称的。因此,在大多数 DSL 技术上,使上行(上传)拥塞所需的流量比下行要少得多。确保你没有在上游拥挤。

  4. 请记住图形链接通常是平均样本的工具。

    像 rrdtool(以及 cacti 和 NMIS 和...)这样的工具通常会向您显示链接的 5 分钟样本平均值。这使得它们无法识别用户阻塞链接 10 秒左右的情况。这只会在 5 分钟采样图上显示为一个小凸起。寻找可以为您提供链接“高水位”以及滚动平均值的工具。

请注意,ICMP 是底层流量。在高利用率期间,您应该预期 ICMP 会下降。它被设置为在几乎每个场景中首先被删除,为真实数据让路。

那么如何测试呢?

TCPing是一种方式。这会发送 TCP SYN 数据包以及获取 ACK 所需的时间。您确实需要知道 TCPing 另一端的开放端口,但这可以让您很好地了解实际 TCP 流量的执行情况。

TCPing 应该告诉您端到端的性能,但您已经知道存在某种麻烦。你如何隔离它?

WinMTR来救援!这基本上是不断运行跟踪路由,并收集每一跳的延迟数据。当您看到延迟突然增加时,您可能找到了罪魁祸首……尤其是如果它是持久的。

这是我经常使用的 2 个工具来帮助隔离存在问题的地方。

如果您将问题隔离到您有 SNMP 访问权限但没有 CLI/GUI 访问权限的设备,您可以使用SNMPWalk 和 SNMPGet进行更深入的挖掘。我建议将此作为最后的努力,因为“SNMP”中的“S”代表的不仅仅是凡人:简单。但是哦,你最终可以从中哄骗出来的信息。

网络节点拥塞