目录

  • IP分片(网络层)
    • 1. 原因
    • 2. 缺陷
    • 3. 改进方式
  • TCP分段(传输层)
    • 优势
  • 备注

阅读目标

  1. 理解TCP/IP对报文的拆分逻辑

对IP协议还比较陌生的同学异步到IP协议报文详解

在TCP协议和IP协议中都有字段来对报文进行拆包和组装,为什么在网络层和传输层都有做拆分?在做分析之前,首先科普两个概念.

  1. 最大传输单元MTU(Maximum Transmission Unit): 为IP网络层的最大载荷上限
  2. 最大报文段长度MSS(Maximum Segment Size): 为TCP传输层的最大载荷上限
  3. 关系: MTU = MSS + TCP首部长度 + IP首部长度(不包含以太网头部)

IP分片(网络层)

1. 原因

当IP的报文长度大于MTU时会对该IP报文进行分片

2. 缺陷

因为IP协议没有超时重传机制,所以当IP的某个分片在传输过程中丢失后,会让整个IP报文重新发送。举个栗子:A为长度为2000字节的报文,但由于MTU最大为1500,所以被分成两片A1(1500)和A2(500),由于网络波动A2在传输过程中丢失,A1传输成功,那么根据IP协议没有超时重传的设定,会让A1和A2都重新发送,这样明显是浪费流量。

3. 改进方式

由于IP协议不可重传机制会造成流量的浪费,但我们可以考虑在可以重传的地方将包进行拆分,即TCP分段

TCP分段(传输层)

优势

为了避免IP协议不可重传机制造成的流量浪费,我们可以在TCP协议下先将大报文给分段。另外因为MTU = MSS + TCP首部长度 + IP首部长度,所以TCP分段后的每段肯定都小于MTU,这样就可以避免在网络层对报文分片,从而解决了IP分片带来的问题。

备注

  1. 因为报文经过路由MTU的值会有差异,所以报文在传输传输过中可能碰到某个路由的MTU小于发送端和接收端的两者的设定,因此在报文在路由转发过程中也可能会进行分片。此问题可以通过路径MTU发现解决,在此就不多说了
  2. 传输层的UDP协议是不可靠传输,所以UDP协议不可分段,只能在IP协议下分片了。

IP分片与TCP分段相关推荐

  1. IP分片、TCP分段

    服务器开发系列 文章目录 服务器开发系列 一.计算机网络传输基础知识 二.IP分片.TCP分段 1.MTU 定义 2. MSS 简述 3. udp 或 tcp 包的最佳大小 4. 如何测出当前网络最佳 ...

  2. IP分片和TCP分段的区别

    1.MTU(Maximum Transmission Unit,MTU),最大传输单元 (1)以太网和802.3对数据帧的长度都有一个限制,其最大值分别是1500和1492个字节.链路层的这个特性称作 ...

  3. 详解IP分片与TCP分段的区别

    首先注意:一般听到的TCP分片应该称为TCP分段.IP分片与TCP分片是两个不同概念,别把IP分片与TCP分片别弄混淆了, 接下来直接划重点,两者主要区别: 1.IP分片产生的原因是网络层的MTU:T ...

  4. IP分片和TCP分段解析--之IP分片

    本文目录 什么是IP分片 为什么会产生IP分片 为什么要避免IP分片 如何避免IP分片 什么是IP分片 IP协议栈将TCP/UDP传输层要求它发送的,但长度大于发送端口MTU的一个数据包,分割成多个I ...

  5. IP分片和TCP分片的区别

    前段时间要做一个关于网络嗅探的程序,里面要重组IP分片,TCP分片. 但做的时候忽视了一个很重要的东西:IP分片与TCP分片弄混淆了. 首先声明:TCP分片应该称为TCP分段. ----------- ...

  6. IP分片与TCP分包

      TCP/IP 协议栈中定义了MSS, 为的是提高网络的性能,因为如果让IP层分包的话,丢包后的重发没法控制,需要重传整个TCP包(浪费了网络资源).   MSS就是这个协商的结果,不能人为修改,这 ...

  7. 关于tcp分段和ip分片

    Maximum Segement Size (MSS) 最大分段长度 tcp会将应用层交付下来的数据分为tcp认为最适合发送的数据块(这里的最适合指的是用户可以自己配置mss长度),单位为字节,发送端 ...

  8. 学习笔记之IP分片抓包实验

    学习笔记之IP分片抓包实验 摘要 分片实验 identification字段 附:`MTU`和`MSS` 1,MTU(Maximum Transmission Unit,MTU),最大传输单元 2,M ...

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

    参考:https://www.cnblogs.com/xfgnongmin/p/10612647.html MTU前面已经说过了,是链路层中的网络对数据帧的一个限制.依旧以以太网为例,MTU为1500 ...

最新文章

  1. java8 同步队列_秋招之路8:JAVA锁体系和AQS抽象队列同步器
  2. 深入理解Redis的持久化机制和原理
  3. SpringBoot返回json和xml
  4. 面试官问:断网了,还能ping通 127.0.0.1 吗?为什么?
  5. UVA 10555 - Dead Fraction(数论+无限循环小数)
  6. 阿里云mysql不让锁表_MySQL中InnoDB锁不住表的原因
  7. Linux C函数之文件及目录函数
  8. 502 proxy error解决方法_老大说,网上这种获取真实IP地址的方法不对,我不信......
  9. bzoj 2131: 免费的馅饼(树状数组+DP)
  10. 【渝粤教育】国家开放大学2018年春季 0049-21T法律文书 参考试题
  11. 20145335郝昊《网络攻防》Exp4 Adobe阅读器漏洞攻击
  12. word图片另存为变黑色_Word的图片另存为图片格式的方法
  13. 车架号OCR识别算法
  14. LayUI分页查询展示数据(SSH框架)
  15. linux操作系统课程设计总结,操作系统课程设计心得+给老师的建议
  16. python实现中文数字转为阿拉伯数字
  17. 多档电位器换挡不准确问题
  18. Java 对象的构造和初始化
  19. 激光雷达鼻祖Velodyne谋求合并求生:高层动荡 亏损不止
  20. mysql易百_MySQL如何选择随机记录?

热门文章

  1. 基于jQuery实现幻灯片切换效果
  2. 安卓虚拟键盘_逍遥安卓模拟器工作室版下载-逍遥安卓模拟器工作室版PC版下载v7.2.8...
  3. 数据结构————倒置带头结点单链表操作讲解
  4. 2022-1-21 迭代器的适配器
  5. 空气动力学 惯性导航 四轴飞机
  6. 群晖安装GitServer
  7. 2021-12-09 Leetcode 941.有效的山脉
  8. 2021-09-05meituan -001小美的用户名
  9. 广联达2020写锁工具支持6.0.zip_The Unarchiver for Mac(苹果电脑解压缩工具)
  10. Ubuntu20.04服务器连接WIFI设置