关于UDP组包的问题

Zss 发表于:

今天在测试转口转发的性能的时候发现不管从lan侧到wan的吞吐量均会被限制在80Mbps,可以确认的是不是以太口速率为100Mbps的问题,

因为在两端的cpe所连接的电脑均是1Gbps,所以可以排除了以太口的速率的问题,再者中间的连接是使用的3*3的11ACHT80的模式,且连接速率可以达到1.3Gbps,

且实际跑流吞吐量可达700+Bps,再次排除无线的问题,中间使用的FTP来传输文件,FTP的速率上也没有做任何的限制,确实挺奇怪的,发现两端似乎均被限制住了,暂时还没有得到解决

所以尝试着使用发包来进行最大的转发性能测试,发送的是UDP,字节为1400即可,但是这个过程中再次出现了问题

问题是,从WAN侧发送出去的包,由AP转发到LAN侧后字data有丢失很大一部分,导致吞吐量无法上升,经过很久才发现一个小的细节问题,数据包的data部分修改了,但是网络层和传输层的字节长度没有做修改

导致长度一直处于最小的状态也就是64字节,64-18-20-8=18字节,所以才会只能够传输18个字节

所以在自己组包的时候一定需要计算数据各层的字节来填写每一层的长度大小,不然很容易出错

为什么抓包软件抓取到的数据包的最大为1514而不是1518?

抓包软件抓到的是去掉前导同步码、帧开始分界符、FCS之外的数据,其最大值是 6+6+2+1500=1514