我有一个问题,为什么我的机器的吞吐量与大小为1500字节的小数据包(即64字节)相比非常糟糕?我有一个千兆位网卡,可以以80 to /s的速度传输1500字节大小的数据包,但在64字节大小的数据包中,我很难分辨出大约25 to/s。我知道,在1500字节数据包的情况下,我需要发送大约80k个PPS才能达到线路速率,而对于64个字节,需要发送大约140万PPS。
但是为什么小数据包的吞吐量会有很大的差异呢?编辑:在linux中使用内存
我有一些pcaps,其中包含的数据包比标准以太网MTU大小为1500 B。我搜索了一下,找到了指向Jumbo框架的裁判。我现在明白了,由于我在一个支持发送Jumbo帧(高达9k)的GBE网络上,我的Debian派生程序上的TCP/IP堆栈将自动调整自身,并使用如此巨大的帧大小(PMTU发现)。这真是太棒了!但是,我想要对这个特性的自动启用有一些控制.具体来说,我想确保当我捕获一个pcap时,它被暂时禁用,因此所有捕获的数据包都在1500 B以下。Tcpreplay有一个增强请求,支持分段IP数据包> MTU