设置:
数据包生成器(计算机 A)——> cat 5 ——> 路由器(GB/s LAN 端口)——> 2.4 Ghz 网络 ——> wireshark(计算机 B)
我使用 Ostinato for mac 生成数据包。我为数据包提供了计算机 A 的源 MAC 地址和接收计算机 (B) 的单播目标 MAC 地址。较低层(IPv4、UDP/TCP、原始数据)似乎对吞吐量没有任何影响,因此到目前为止,出于测试目的,我的数据包仅由 MAC 协议层和一些任意填充数据组成。
路由器:netgear nighthawk R7000(库存固件,几乎是 DD-WRT)
在低带宽(1 mbps 及以下)下,一切正常。发送和接收行为符合预期。
问题: 我的带宽上限似乎约为 4 mbps。无论我将数据包生成器速率设置得多高,接收端 mbps 图表都会趋于平稳。此外,路由器的 GUI 崩溃(我甚至无法远程登录)。LAN 端口能够达到 GB/s,2.4 Ghz 网络能够达到 600 mbps,接收 wifi 卡至少能够达到 54 mbps。那么为什么当我尝试以接近 6 mbps 的带宽发送数据包时会遇到问题呢?
附加信息:我检查了所有路由器设置。QoS 已禁用,任何地方都没有防火墙。我尝试了 4 种不同的路由器(buffalo、netgear、linksys、starry)——所有 AC“gb/s”路由器。我也尝试了不同的数据包生成软件,但都无济于事。我觉得路由器中一定有一些缓冲区被填满了,但似乎不是缓冲区膨胀。我测试了文件传输——轻松获得了 60 mbps,所以我不明白这个问题可能是什么。显然路由器有能力,wifi 卡有能力……所有硬件都应该有能力。是否可能存在一些固件问题,导致数据包生成器的数据流被识别为 DoS 攻击并被自动阻止?
答案1
从原始数据包截图来看,您的数据包似乎基本上没有有效载荷。我猜想您的 PC 正在发送大量微小数据包,这会损坏您的网络设备,并将速度限制在 4mbps。
您应该发送具有真实 TCP/UDP 负载的数据包,以准确测量网络吞吐量。我知道您有特定要求,但是防火墙通常用于绩效衡量。