通过路由器轻微丢包

通过路由器轻微丢包

我最近刚刚在办公室安装了一条光纤线路,除了遇到一些奇怪的小麻烦外,一切运行良好,网络响应非常棒。

我们遇到的问题是,我的路由器偶尔会出问题并丢包。问题不在于线路,也不在于交换机。问题在于路由器本身,我更换了硬件,两台设备都出现问题。我使用的设备是 Juniper Netscreen SSG5。症状如下:

我对“内部”接口进行 pingflood 攻击,

 ping -f -c 10000 <internal-ip>

我每次都会收到 10,000 条响应。然后,我会做同样的事情,只是针对外部接口的 IP 地址(但仍在同一设备上)。它会在 10,000 个数据包中丢弃 10 到 15 个数据包。我在公司的其他每个网关上都做过同样的测试,没有其他任何迹象表明这种行为。我感到很困惑。

我已经与光纤公司的支持人员进行了交谈,我们的两个接口都硬编码为 100Mb 和全双工,如果这甚至会导致问题的话。顺便说一句,当从路由器内部 ping 外部接口时,我从未丢失过数据包,这让我认为问题不在于接口本身。而且本地接口从未丢失过数据包,所以问题不在于交换机。

说实话,我不确定问题出在哪里,除非是硬件本身的设计。我看过图表,即使在 pingflood 期间,我也远没有将路由器上的 CPU 或内存最大化。

有什么建议么?

编辑

对于 Tom:光纤是 13Mb/s,但是当我 ping 接口时,它没有跨越到光纤。本地 LAN 以 100Mb/s 运行,内部接口响应每个数据包。我必须看看是否可以借用另一件硬件,但我在不同的站点有一些旧型号的 Junipers (5GT),没有出现相同的症状。

答案1

请记住两点:

  1. 尽管我对 SSG5 不是特别熟悉,但路由器可能会限制指向它的 ICMP 流量。
  2. 140MBit/秒的转发速率假设流量通过路由器;流量处理路由器将导致额外的性能损失,因为每个数据包都将传递到路由器自己的 IP 堆栈,并且需要生成响应数据包。

可以尝试以下几个测试:

  1. 尝试从你的 LAN 进行 ping 泛洪通过路由器;也许是 WAN 链路的远端?(如果它归您的服务提供商所有,我假设它将具有更强大的处理能力。)
  2. 跑步防火墙在您办公室中的节点与外部互联网上的某个节点之间,以便很好地了解您所受到的塑造。

答案2

只是一个想法。。但是光纤的速度是多少?路由器的背板真的能以这种速度传输数据包吗?我在 Cisco 857 上也遇到了类似的问题,因为交换机端口上的连接数太多,导致以太网缓冲区填满。

SSG5 是否运行最新版本的 ScreenOS?最新的固件更新?
规格声称它可以传输 140Mbit,即每秒 30k 个数据包。所以可能不是这样,但也许更强大的路由器可以应对流量?
你能从别人那里借一台更大的设备吗?也许是 Cisco 2811 或 Juniper J2320?

答案3

当我们迁移到光纤/城域以太网(AT&T)时也遇到了类似的问题。

路由器上的接口是否显示任何错误?我们使用 Cisco,我们会看到 CRC 或输入错误,具体取决于接口。

我们最终解决了这个问题,方法是在每个位置切换不同的协商方法,包括自动、10/半速和全速、100/半速和全速,直到自动或 100/全速“卡住”。您可能还想要求您的提供商暂时取消 13Mbps 的上限,看看这是否是他们的带宽限制问题。

AT&T 将此归咎于他们使用的交换机(也是思科),但不会将其换成其他型号。只要我们不再收到错误并且 100/full 可以正常工作(通过硬编码或自动协商),我们就不再关心。

直到今天,我们仍然有一些办公室自动系统和一些 100/全系统,只是因为它有效而且我们不想破坏它。

相关内容