关于IP数据报分片也是一个比较喜欢在大题里出现的一类题型,其中也有需要注意的坑,在这里分享出来,有则改之,无则加勉。
通常题目里会给出一个数据的具体大小,让我们分片,同时题目会告诉我们MTU。
简单一点的MTU是1500B,有点难度的MTU比如是800B。
那么这两个MTU有什么区别呢?我们知道,IP数据报首部默认取20B,1500B下,首部20B数据1480B,数据大小正好能被8整除,但是800B下,首部20B数据780B,780不能被8整除。
规定分片的数据大小必须是8的整数倍,所以在800B下,数据最大只能是776B,这样才是8的倍数。
MTU只是上限,但是并不一定要达到上限。
以此类推,别的MTU计算思路也是一样的。明确了这点,剩下的按部就班算就完事了。