IP分片与TCP分片的考虑
刚刚终于想明白了关于TCP分片后,为什么抓包是从来没看到过IP分片,而在pingICMP报文的时候,很容易就出现IP分片。
之前考虑问题只考虑了一方面:作为接收方,TCP的mss字段和ip的MTU字段,在TCP连接的前两次握手时,沟通好了,以小的值为最大传输字节。(一般情况下MTU=40+MSS。具体参考其他博客)。
考虑到发送的过程就很容易明白为什么TCP分片后,IP一定不会分片?因为在发送数据打包的时候,TCP报文的长度一定是小于IP的MTU大小的,所以,一个TCP数据包只对应一个IP报文,所以在二层一下传输的时候就不会存在IP分片。
作者:first_semon
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如有问题,欢迎交流