当 WAN 上有流量时,什么会导致高延迟?

网络工程 潜伏 拥塞
2021-07-17 15:22:58

我有一个网速一直很慢的网络。经过大量故障排除后,我确定任何流媒体内容/下载都会导致 WAN 流量的延迟激增。

例如,在空载情况下,我在大约 30ms 时 ping 8.8.8.8。如果我在同一台计算机上开始流式传输 YouTube,延迟会跃升至 500 毫秒左右,差异约为 400 毫秒。如果我关闭视频,延迟会恢复到 30 毫秒。但是,如果我在同一个局域网上有一个用户开始流式传输潘多拉,问题又会回来。

我的网络运行在单个 10/100 交换机上。交换机直接连接到 DSL 路由器。我通常有一个 6Mb 的连接。

在故障排除中,我已完成以下操作:

  • 从多个工作站使用wireshark 扫描以查找错误数据包。(我会包括但扫描有机密信息)。甚至没有什么不寻常的地方。
  • 将路由器更换为升级型号,然后升级固件。
  • ISP 提高了在 speedtest.net 上正确测量的速度(下降 10,上升 1.5)。问题完全一样。
  • 让 ISP 在他们的一端换掉卡,以防万一他们的硬件/端口坏了。
  • 在另一个具有完全相同的 ISP/包的办公室进行了测试。有多台计算机在不影响延迟的情况下流式传输 YouTube @ 1080p 和 pandora。
  • 关闭除一台计算机之外的所有计算机,然后在没有用户的情况下在晚上运行。
  • 受监控的 LAN 流量,永远不会遇到延迟问题。

我知道,如果我达到带宽限制或某些硬件的速度出现瓶颈,则会导致此问题。然而,似乎完全不是这样。几乎所有 WAN 上的流量都会增加延迟。即使我的连接速度几乎翻了一番,问题还是一样。当我在 pandora 上有两个用户和几个冲浪时,互联网变得一无所有(丢包,页面无法加载)。我在家里有一半的连接,我们同时进行的 netflix/youtube/pandora 流媒体甚至没有触及我的 5 Mb。

问题:当流量通过 WAN 时,什么会导致高延迟?

4个回答

这听起来像是某种形式的“缓冲膨胀”,可能是执行 6Mb 速率限制的 DSLAM/LNS 的一部分。

它可能是您的 CPE 盒,但可能性较小。

我会验证发生延迟的位置。使用诸如MTR 之类的工具来检查每一跳的延迟。MTR 将每跳的 ping 统计信息与跟踪路由相结合,可以极大地帮助缩小此类问题的范围。

在 linux 机器上,命令是mtr 8.8.8.8,还有这个工具Windows 版本

输出将显示延迟开始的位置。如果它在 ISP 网络上,您可以将输出转发给 ISP 并帮助他们使用它来解决网络问题。

如果延迟开始于您的网络内部,您也可以自己缩小问题的范围。

检查 DSL 线路统计信息。(交错与快速路径、错误计数器等)

在不同位置的测试测试了不同的线路,可能在不同的 DSLAM 上。这表明 ISP 基础设施不应该受到指责。它强烈表明您的 DSL 线路有问题。可能 DSLAM 本身很拥挤,但您极不可能是可预见地反复将其推过线路的人。

如果 ATM 信元被损坏(大多数 DSL 的传输),您会看到像这样的显着减速,因为必须重新发送整个帧。

每当我遇到客户遇到网络延迟的情况时,首先要做的是检查网络中的每个单独连接。通常有一个设备出现瓶颈。

如果它的网络使用率低,我将完全禁用除 Internet 连接设备之外的所有设备的 QoS(因为 QoS 会降低交换环境中的流量)。

在您的数据包捕获中,我会进行 I/O 分析,看看您是否在任何地方都处于停滞状态。这可以指示会导致排队的突发流量,这将延迟数据包的传送或完全摆脱数据包。

当您遇到问题时,我还会检查每个设备的 CPU。如果您看到 CPU 跳动,那么这可能是您的问题设备。还要检查日志以查看是否有任何错误。

另外,我可以确定所有连接都在全速协商(速度 100 全双工)。

还可以尝试禁用任何防火墙或安全服务。