加入收藏 | 设为首页 | 会员中心 | 我要投稿 广元站长网 (https://www.0839zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 动态 > 正文

TCP/IP 协议会拆分数据

发布时间:2021-03-03 12:52:17 所属栏目:动态 来源:互联网
导读:而数据的接收方收到的数据可能是分段的或者拼接的,所以它需要对接收的数据进行拆分或者重组。本文会分别从 IP 协议和 TCP 协议两个角度出发分析为什么应用层写入的数据包会被 TCP/IP 协议拆分发送: IP 协议会分片传输过大的数据包(Packet)避免物理设备的限

而数据的接收方收到的数据可能是分段的或者拼接的,所以它需要对接收的数据进行拆分或者重组。本文会分别从 IP 协议和 TCP 协议两个角度出发分析为什么应用层写入的数据包会被 TCP/IP 协议拆分发送:

  • IP 协议会分片传输过大的数据包(Packet)避免物理设备的限制;
  • TCP 协议会分段传输过大的数据段(Segment)保证传输的可靠性和顺序;

最大传输单元

IP 协议是用于传输数据包的协议,作为网络层协议,它能提供数据的路由和寻址功能,让数据通过网络到达目的地。不同设备之间传输数据前,需要先确定一个 IP 数据包的大小上限,即最大传输单元(Maximum transmission unit,即 MTU),MTU 是 IP 数据包能够传输的数据上限。

MTU 的值不是越大越好,更大的 MTU 意味着更低的额外开销,更小的 MTU 意味着更低的网络延迟。每一个物理设备都有自己的 MTU,两个主机之间的 MTU 依赖于底层的网络能力,它由整个链路上 MTU 最小的物理设备决定[^3],如下图所示,网络路径的 MTU 由 MTU 最小的红色物理设备决定,即 1000:



 

元发现(Path MTU Discovery,PMTUD)是用来确定两个主机传输路径 MTU 的机制,它的工作原理如下[^4]:

(1) 向目的主机发送 IP 头中 DF 控制位为 1 的数据包,DF 是不分片(Don't Fragment,DF)的缩写;

(2) 路径上的网络设备根据数据包的大小和自己的 MTU 做出不同的决定:

  • 如果数据包大于设备的 MTU,就会丢弃数据包并发回一个包含该设备 MTU 的 ICMP 消息;
  • 如果数据包小于设备的 MTU,就会继续向目的主机传递数据包;

(3) 源主机收到 ICMP 消息后,会不断使用新的 MTU 发送 IP 数据包,直到 IP 数据包达到目的主机;

ICMP 是互联网控制消息协议(Internet Control Messa

(编辑:广元站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读