阅读:960回复:1
IP包分片问题
UDP包发送数据,我在miniport中更改了其源目的地址和目的地址,当不需要分片时传送正常,而需要分片时接受端接受不到数据,不知和原因?
不需要分片时:修改了其源目的地址和目的地址后重新计算了IP和UDP校验和。 需要分片时:对于第一分片修改了其源目的地址和目的地址后重新计算了IP和UDP校验和。其余分片修改了其源目的地址和目的地址后重新计算了IP校验和。可是还是手不到,不知道还要做那些工作?我看了TCP/IP协议IP分片部分,但没找到答案:( 我把包住下来看了看,发现第一个分片应该没问题,对于第二的分片(也是最后一个分片)的offset有疑问,这里是185,怎么会是185哪?应该是1472吧?(第一个分片的数据长度) [编辑 - 5/19/04 by flyhobo] |
|
|
沙发#
发布于:2004-05-19 21:16
具体解决措施我不会,但我建议你看看《Tcp/Ip详解》的一卷和二卷,一卷中讲的原理比较详细,二卷中有在UNIX下的实现源程序和讲解,应该会对你的问题有帮助的。
你说的分片应该是1472,那是指在以太网的环境下,如果这些数据包经过了一些其它带宽比较窄的网络,分片会小很多的。 :) |
|
|