美文网首页
TCP/IP中的分段分片问题

TCP/IP中的分段分片问题

作者: 今天不想掉头发 | 来源:发表于2019-08-28 20:08 被阅读0次

MTU是用来限制数据链路层的数据帧的长度大小(可以视作对IP层的限制),以以太网为例,以太网MTU长度为46字节~1500字节(不足46要进行字节填充),因此,当数据帧长度大于1500字节的时候(比如IP头部+TCP头部+应用层数据的长度),需要进行IP分片处理(会根据分片标志和偏移量大小进行重组,相同分片的IP Header ID相同)。

MSS是用来限制TCP的报文段的大小(可以视作对应用层的限制),以太网下MSS最大为1460字节(1500 - 20字节IP头部 - 20字节TCP头部),一般在连接建立的时候,连接双方会通告各自的MSS。而通信双方在发送数据的数据段MSS需要满足min(对方通告的MSS,本机系统限制的MSS)。

所以IP分片的原因是MTU,TCP分段的原因是MSS。

那么为什么即要IP分片,又要TCP分段呢,可不可以不要IP分片呢?对于UDP来说,是没有分段的机制的,那么UDP还要自己再实现一遍分段机制,对于每一种传输层协议,都需要自己再实现一遍分段机制,所以我猜测为了通用性和方便,那么统一对IP进行分片,对于已经有自己分段机制的就不需要IP的分片机制,对于没有自己分段的机制,就使用IP的分片机制。于是对于TCP来说,只要超过了MSS,就会自己进行分段操作了,而不需要IP再进行分片操作,所以一般来说,对于TCP协议,IP分片操作是很少发生的,UDP发生的IP分片操作会比较多。

可以参考如下连接:https://www.zhihu.com/question/48454744
https://blog.csdn.net/yusiguyuan/article/details/22782943

相关文章

  • TCP/IP中的分段分片问题

    MTU是用来限制数据链路层的数据帧的长度大小(可以视作对IP层的限制),以以太网为例,以太网MTU长度为46字节~...

  • TCP分段 & IP分片

    链路层具有最大传输单元MTU这个特性,限制了数据帧的最大长度,不同的网络类型都有一个上限值。如以太网Etherne...

  • TCP UDP 分段 IP分片

    udp ip学习博客 3次握手4次挥手 链路层 MTU 最大传输单元 1500MISS最大分段 TCP 层 数...

  • TCP分段与IP分片

    转载:原文转载 我们在学习TCP/IP协议时都知道,TCP报文段如果很长的话,会在发送时发生分段,在接受时进行重组...

  • DPDK编程指南(翻译)( 十八)

    18.IP分片及重组库 IP分段和重组库实现IPv4和IPv6报文的分片和重组。 18.1.报文分片 报文分段例程...

  • 【网络协议】TCP分段与IP分片

    转自:https://blog.csdn.net/ns_code/article/details/30109789...

  • 动图图解!既然IP层会分片,为什么TCP层也还要分段?

    什么是TCP分段和IP分片 我们知道网络就像一根管子,而管子吧,就会有粗细。 一个数据包想从管子的一端到另一端,得...

  • tcp分片和ip分片的区别

    ip分片 我们在计算机网络上所看到的分片一般是指ip分片,ip分片是指在网络传输过程中若遇到链路MTU比自己报文小...

  • 理解 TCP/IP 的正确姿势

    TCP/IP 是在编程中遇到网络问题时,经常听到的一个词语,那么该如何准确理解 TCP/IP 呢?TCP/IP 是...

  • 2018-07-08-连接管理总结

    总结一下连接的一些要点:1.tcp为http提供了一条可靠的比特传输管道2.tcp流是分段的,有ip分组传输ip分...

网友评论

      本文标题:TCP/IP中的分段分片问题

      本文链接:https://www.haomeiwen.com/subject/jeamectx.html