TCP层的分段跟IP层的分片之间的关系

TCP 层的分段跟IP 层的分片之间的关系 MTU 和MSS 存在的关系

TCP 层的分段和IP 层的分片之间的关系 MTU 和MSS 存在的关系

首先说明:数据报的分段和分片确实发生,分段发生在传输层,分片发生在网络层。但是对于分段来说,这是经常发生在UDP 传输层协议上的情况,对于传输层使用TCP 协议的通道来说,这种事情很少发生。

1,MTU (Maximum Transmission Unit ,MTU ),最大传输单元

(1)以太网和802.3对数据帧的长度都有一个限制,其最大值分别是1500和1492个字节。链路层的这个特性称作MTU 。不同类型的网络大多数都有一个上限。如果IP 层有一个数据要传,且数据的长度比链路层的 MTU 还大,那么IP 层就要进行分片(fragmentation ),把数据报分成若干片,这样每一个分片都小于MTU 。

(2)把一份IP 数据报进行分片以后,由到达目的端的IP 层来进行重新组装,其目的是使分片和重新组装过程对运输层(TCP/UDP)是透明的。由于每一分片都是一个独立的包,当这些数据报的片到达目的端时有可能会失序,但是在IP 首部中有足够的信息让接收端能正确组装这些数据报片。

(3)尽管IP 分片过程看起来透明的,但有一点让人不想使用它:即使只丢失一片数据也要重新传整个数据报。why ?因为IP 层本身没有超时重传机制------由更高层(比如TCP )来负责超时和重传。当来自TCP 报文段的某一片丢失后,TCP 在超时后会重发整个TCP 报文段,该报文段对应于一份IP 数据报(而不是一个分片),没有办法只重传数据报中的一个数据分片。

(4)使用UDP 很容易导致IP 分片,TCP 试图避免IP 分片。那么TCP 是如何试图避免I P 分片的呢?其实说白了,采用TCP 协议进行数据传输是不会造成IP 分片的,因为一旦T CP 数据过大,超过了MSS ,则在传输层会对TCP 包进行分段(如何分,见下文!),自然到了IP 层的数据报肯定不会超过MTU ,当然也就不用分片了。而对于UDP 数据报,如果U DP 组成的 IP 数据报长度超过了1500,那么IP 数据报显然就要进行分片,因为UDP 不能像TCP 一样自己进行分段。总结:UDP 不会分段,就由我IP 来分。TCP 会分段,当然也就不用我IP 来分了!

2,MSS (Maxitum Segment Size )最大分段大小的缩写,是TCP 协议里面的一个概念

(1)MSS 就是TCP 数据包每次能够传输的最大数据分段。为了达到最佳的传输效能TCP 协议在建立连接的时候通常要协商双方的MSS 值,这个值TCP 协议在实现的时候往往用M TU 值代替(需要减去IP 数据包包头的大小20Bytes 和TCP 数据段的包头20Bytes )所以往往MSS 为1460。通讯双方会根据双方提供的MSS 值得最小值确定为这次连接的最大MS S 值。

(2)相信看到这里,还有最后一个问题:TCP 是如何实现分段的呢?其实TCP 无所谓分段,因为每个TCP 数据报在组成前其大小就已经被MSS 限制了,所以TCP 数据报的长度是不可能大于MSS 的,当然由它形成的IP 包的长度也就不会大于MTU ,自然也就不用IP 分片了。

简而言之:

1.IP 分片产生的原因是网络层的MTU ;TCP 分段产生原因是MSS.

2.IP 分片由网络层完成,也在网络层进行重组;TCP 分段是在传输层完成,并在传输层进行重组. //透明性

3. 对于以太网,MSS 为1460字节,而MUT 往往会大于MSS.

故采用TCP 协议进行数据传输,是不会造成IP 分片的。若数据过大,只会在传输层进行数据分段,到了IP 层就不用分片。

所以可以看成是这种情况:传输层协议想发送一个超过了MTI 的数据报,这个时候网络层就需要对其进行分片,一般UDP 和ICMP 会出现分片情况,但是TCP 不会出现这种情况!因为TCP 使用了MSS 来避免分片!

IP 分片只有第一个带有传输层或ICMP 首部,其余的分片只有IP 头。至于怎么重组就是到对端以后IP 层的事情了。

若TCP 报文非常长那么在IP 层传输时就有可能要分解成多个短数据报片。(计算机网络谢希仁)

TCP 分段每个都有完整首部。

PS:所以我觉得是这样的,TCP 的分段是针对应用层的数据来说的,比如使用TCP 发送10K B 的数据,这个时候就需要将70KB 分成若干个MSS ,到了网络层就不需要分片了。MSS 的存在就避免了网络层分片的发生,

IP 层的分片是针对传输层中使用UDP 协议来说的,如果使用UDP 发送数据,UDP 并不知道如何分段,那么到了IP 层就需要进行分片,分片的原则根据MTU ,那么分UDP 最大的数据负载就是1500-8=1472

TCP 层的分段跟IP 层的分片之间的关系 MTU 和MSS 存在的关系

TCP 层的分段和IP 层的分片之间的关系 MTU 和MSS 存在的关系

首先说明:数据报的分段和分片确实发生,分段发生在传输层,分片发生在网络层。但是对于分段来说,这是经常发生在UDP 传输层协议上的情况,对于传输层使用TCP 协议的通道来说,这种事情很少发生。

1,MTU (Maximum Transmission Unit ,MTU ),最大传输单元

(1)以太网和802.3对数据帧的长度都有一个限制,其最大值分别是1500和1492个字节。链路层的这个特性称作MTU 。不同类型的网络大多数都有一个上限。如果IP 层有一个数据要传,且数据的长度比链路层的 MTU 还大,那么IP 层就要进行分片(fragmentation ),把数据报分成若干片,这样每一个分片都小于MTU 。

(2)把一份IP 数据报进行分片以后,由到达目的端的IP 层来进行重新组装,其目的是使分片和重新组装过程对运输层(TCP/UDP)是透明的。由于每一分片都是一个独立的包,当这些数据报的片到达目的端时有可能会失序,但是在IP 首部中有足够的信息让接收端能正确组装这些数据报片。

(3)尽管IP 分片过程看起来透明的,但有一点让人不想使用它:即使只丢失一片数据也要重新传整个数据报。why ?因为IP 层本身没有超时重传机制------由更高层(比如TCP )来负责超时和重传。当来自TCP 报文段的某一片丢失后,TCP 在超时后会重发整个TCP 报文段,该报文段对应于一份IP 数据报(而不是一个分片),没有办法只重传数据报中的一个数据分片。

(4)使用UDP 很容易导致IP 分片,TCP 试图避免IP 分片。那么TCP 是如何试图避免I P 分片的呢?其实说白了,采用TCP 协议进行数据传输是不会造成IP 分片的,因为一旦T CP 数据过大,超过了MSS ,则在传输层会对TCP 包进行分段(如何分,见下文!),自然到了IP 层的数据报肯定不会超过MTU ,当然也就不用分片了。而对于UDP 数据报,如果U DP 组成的 IP 数据报长度超过了1500,那么IP 数据报显然就要进行分片,因为UDP 不能像TCP 一样自己进行分段。总结:UDP 不会分段,就由我IP 来分。TCP 会分段,当然也就不用我IP 来分了!

2,MSS (Maxitum Segment Size )最大分段大小的缩写,是TCP 协议里面的一个概念

(1)MSS 就是TCP 数据包每次能够传输的最大数据分段。为了达到最佳的传输效能TCP 协议在建立连接的时候通常要协商双方的MSS 值,这个值TCP 协议在实现的时候往往用M TU 值代替(需要减去IP 数据包包头的大小20Bytes 和TCP 数据段的包头20Bytes )所以往往MSS 为1460。通讯双方会根据双方提供的MSS 值得最小值确定为这次连接的最大MS S 值。

(2)相信看到这里,还有最后一个问题:TCP 是如何实现分段的呢?其实TCP 无所谓分段,因为每个TCP 数据报在组成前其大小就已经被MSS 限制了,所以TCP 数据报的长度是不可能大于MSS 的,当然由它形成的IP 包的长度也就不会大于MTU ,自然也就不用IP 分片了。

简而言之:

1.IP 分片产生的原因是网络层的MTU ;TCP 分段产生原因是MSS.

2.IP 分片由网络层完成,也在网络层进行重组;TCP 分段是在传输层完成,并在传输层进行重组. //透明性

3. 对于以太网,MSS 为1460字节,而MUT 往往会大于MSS.

故采用TCP 协议进行数据传输,是不会造成IP 分片的。若数据过大,只会在传输层进行数据分段,到了IP 层就不用分片。

所以可以看成是这种情况:传输层协议想发送一个超过了MTI 的数据报,这个时候网络层就需要对其进行分片,一般UDP 和ICMP 会出现分片情况,但是TCP 不会出现这种情况!因为TCP 使用了MSS 来避免分片!

IP 分片只有第一个带有传输层或ICMP 首部,其余的分片只有IP 头。至于怎么重组就是到对端以后IP 层的事情了。

若TCP 报文非常长那么在IP 层传输时就有可能要分解成多个短数据报片。(计算机网络谢希仁)

TCP 分段每个都有完整首部。

PS:所以我觉得是这样的,TCP 的分段是针对应用层的数据来说的,比如使用TCP 发送10K B 的数据,这个时候就需要将70KB 分成若干个MSS ,到了网络层就不需要分片了。MSS 的存在就避免了网络层分片的发生,

IP 层的分片是针对传输层中使用UDP 协议来说的,如果使用UDP 发送数据,UDP 并不知道如何分段,那么到了IP 层就需要进行分片,分片的原则根据MTU ,那么分UDP 最大的数据负载就是1500-8=1472


相关内容

  • 2015年下半年网络规划设计师考试上午试题及解析
  • 2015下半年网络规划设计师上午试题分析与解答 [深圳市盐田区盐田高级中学 信息技术组 李发成] 试题(1)(2) 一个大型软件系统的需求总是有变化的.为了降低项目开发的风险,需要一个好的变更控制过程.如下图所示的需求变更管理过程中,①②③处对应的内容应是(1):自动化工具能够帮助变更控制过程更有效 ...

  • 计算机总结
  • ⏹ ⏹ ⏹ ⏹ 网络是指"三网",即电信网络.有线电视网络和计算机网络. 计算机网络向用户提供的最重要的功能有两个,即连通性和共享. 网络的组成,网络是由若干结点和连接这些结点的链路组成. 网络把许多计算机连接在一起,而因特网则把许多网络连接在一起. 因特网是由边缘部分和核心部分 ...

  • 网络攻击技术原理与防范措施
  • 网络攻击技术原理与防范措施 班级:网络0902 学号:[1**********]4 姓名:刘建波 随着网络技术和Internet 的飞速发展,网络环境变得越来越复杂,网络安全问题显得越来越重要,网络易受如木马.恶意代码.蠕虫.DDOS 攻击等攻击, 黑客攻击事件数量的不断上升,如2011年6月发生的 ...

  • 计算机网络面试题(全)
  • 计算机网络面试题 一.什么是互联网OSI 模型? OSI (Open System Interconnection)是指开放式系统互联参考模型.在我们的平常使用的计算机网络中存在众多体系结构, 如IBM 公司的SNA(系统网络体系结构) 和DEC 公司的DNA(Digital Network Arc ...

  • 2015中级通信工程师互联网技术试题及答案
  • 全国通信专业技术人员职业水平考试 2015年中级通信工程师通信专业实务(互联网技术)真题 试题一(14分) 回答下列关于网络操作系统的问题 1.(4分) Linux操作系统是目前最流行的操作系统之一,特点包括:易于移植,用户界面良好,请写出Linux系统的其他4个主要特点. 2.(2分) 在常用的台 ...

  • 计算机网络基础第三版习题答案
  • 计算机网络基础第三版习题答案 习 题一 一. 选择题 1. 下列哪些设备不属于通信子网(C ) A. 交换机 B. 路由器 C. 主机 D. 调制解调器 2.计算机网络的主要功能或目标是. A )数据通信 B )电子邮件 C )资源共享 D )Internet 3.计算机网络拓扑是通过网中结点与通信 ...

  • 华为认证考试重点
  • 1.一个完整的数据通信系统由报文.发送方.接收方.介质和协议五个部分组 成. 2.单工(键盘.显示器) .半双工(对讲机) .全双工(电话网络) 3.常见的网络拓扑结构:总线.星型.树型.环型和网型. 4.局域网的特点:距离短.延迟小.数据速率高.传输可靠. 5.局域网的常用网络设备:线缆.网卡.集 ...

  • 计算机网络实验报告
  • <计算机网络实验> 指导书(V1) 设计:林亚平 廖鑫 编写:廖鑫.吕方等 湖南大学信息科学与工程学院 2015年3月 目 录 一. 实验教学目标 ...................................................................... ...

  • mac包,ip包,tcp包格式说明
  • mac包,ip包,tcp包 格式说明(1) 2007年12月08日 星期六 下午 09:00这个文章是转载的.还繁体的.我给汉化了..嘿嘿. mac包,ip包,tcp包 格式说明 图三.以太网络的 MAC 讯框 在这个 MAC 当中,最重要的就是那个 6 Bytes 的目的与来源位址了! 事实上,在 ...