关于IP数据包分片重组问题
最近看了一下IP数据包分片与重组的过程
有个问题不明白
当到达IP层的数据包超过数据链路的MTU时就要分片
分片后的IP数据包包头中的标记字段中MF位被设为1(代表后面还有分段)或0(代表这是最后一个段)
数据包在重组的时候,我不明白哪个标记代表所有分片后的包都到达目的地了
难道通过MF=0这个去判断
但是每个分片后的包是不按序到达的,也就是说MF=0的分片并不一定是最后一个到达
那么怎么去判断分片后的包都已经完整到达目的端?
[解决办法]
IP分片与重组主要用三个域:Identification, More Fragments(你说的MF位)和 Fragment Offset
Identification可以标识小包属于哪个大包。
MF位可以看出是不是最后一个分片小包。
每隔分片的小包都有Fragment Offset域,代表它在原始大包中的位置。
由MF可以找到最后一个分片,然后由它的Fragment Offset域就可以知道前面需要什么分片。或者说,由其他小包的Fragment Offset和长度就可以算出是不是所有小包都到了。
- 千里孤行
[解决办法]
先暂存起来啊。
[解决办法]