我的问题是:TCP段本身就会对数据分成很多块在交给IP,能保证数据包不大于MTU值,那IP层为什么还需要分片呢?
4 个解决方案
#1
ip分片也不完全是因为mtu,也可能是其他原因
#2
IP层上的不仅有TCP啊,超过MTU的UDP包就需要IP层的分片。并且与很多协议的设计一样,它提供了这个功能,但并不推荐你去依赖这个功能。所以在你写基于UDP的网络应用时,也得注意尽量不要使UDP包超过MTU。
#3
同意楼上说的。
每一层都会有自己的工作要做,IP层不仅仅是为了TCP的,要不然专门来个IP层就没有意义了。
每一层都会有自己的工作要做,IP层不仅仅是为了TCP的,要不然专门来个IP层就没有意义了。
#4
在我印象中不会,是否分片好像就是和包大小相关的。楼主还是差差书,一般的计算机网络书上都有。记不清了。
#1
ip分片也不完全是因为mtu,也可能是其他原因
#2
IP层上的不仅有TCP啊,超过MTU的UDP包就需要IP层的分片。并且与很多协议的设计一样,它提供了这个功能,但并不推荐你去依赖这个功能。所以在你写基于UDP的网络应用时,也得注意尽量不要使UDP包超过MTU。
#3
同意楼上说的。
每一层都会有自己的工作要做,IP层不仅仅是为了TCP的,要不然专门来个IP层就没有意义了。
每一层都会有自己的工作要做,IP层不仅仅是为了TCP的,要不然专门来个IP层就没有意义了。
#4
在我印象中不会,是否分片好像就是和包大小相关的。楼主还是差差书,一般的计算机网络书上都有。记不清了。