对于有效载荷小于1470的UDP数据包,是否可以实现1Gbit吞吐量?由于数据包大小较小,实现此类吞吐量(I/O,OS,网络等)应该存在一些瓶颈.我想可能必须将驱动程序和硬件调整为小数据包/高吞吐量.是否有人尝试使用小型UDP数据包成功实现1Gbit吞吐量?
我之前已经在相对标准的PC硬件上进行了千兆链路上的吞吐量试验,虽然只是传输(通过tcpreplay),而不是udp.
我发现的最大瓶颈就是将数据包发送到NIC本身.通过使用高速总线连接到NIC(例如,4x pci-express NIC),可以显着提高这一点.但即使有这个,也有一个非常明确的数据包/秒限制.显然,增加数据包大小可以让您在减少处理器负载的同时充分利用带宽.
与Steve Moyer的评论一样,对任何网络的利用都存在理论上的限制.在我的实验中(这是在一个完全安静的网络上完成的)我看到的最大值(并且仅在我的记忆顶部)900Mb/s.这是因为cpu负载为30%到40%.
你的系统硬件(即PC)比网络基础设施更有可能限制 - 任何有价值的网络交换机应该能够通过小数据包维持全速网络接入 - 当然要比大多数PC都可以应付.