IP数据报分片问题
为什么要分片?
很多时候,由于单个数据太大,超过了MTU的限定值,就要对数据包进行分组,即切割并分别发送。
我们要解决以下几个问题:
1.顺序问题。接收方可以按照原来的顺序重组这些分片,并能知道这些分片的开始和结束位置。
2.同一分组标示。不能将数据包与其他分组混淆。
分片过程
首先,我们来了解一下ip数据包头
其中:
标识符(16位):用来标示同一分组。不同分组分别进行分片
标记(3位):第1位不用。
第2位:若置1则表示不能对此分组进行分片,否则置0。
第3位:MF标志位,若分片,则除了最后一个分片,其他分片的这一位置1。
分片偏移(13位):此分片在原数据的起始位置÷8,用于组装分片。
读者可以参考《TCP/IP路由技术》第一卷,里边讲得非常详细。