tcp/ip具体解释--tcp的分段和ip的分片

jhcelue jhcelue     2022-09-04     741

关键词:

写在前面:

    分组能够发生在运输层和网络层。运输层中的TCP会分段,网络层中的IP会分片。IP层的分片很多其它的是为运输层的UDP服务的,因为TCP自己会避免IP的分片,所以使用TCP传输在IP层都不会发生分片的现象。

我们在学习TCP/IP协议时都知道。TCP报文段假设非常长的话,会在发送时发生分段。在接受时进行重组,相同IP数据报在长度超过一定值时也会发生分片,在接收端再将分片重组。

    我们先来看两个与TCP报文段分段和IP数据报分片密切相关的概念。

    MYU(最大传输单元)

    MTU前面已经说过了,是链路层中的网络对数据帧的一个限制,依旧以以太网为例。MTU为1500个字节。一个IP数据报在以太网中 传输,假设它的长度大于该MTU值,就要进行分片传输,使得每片数据报的长度小于MTU。

分片传输的IP数据报不一定按序到达。但IP首部中的信息能让这些数据报片按序组装。IP数据报的分片与重组是在网络层进完毕的。

    MSS(最大分段大小)

    MSS是TCP里的一个概念(首部的选项字段中)。MSS是TCP数据包每次可以传输的最大数据分段,TCP报文段的长度大于MSS时,要进行分段传输。

TCP协议在建立连接的时候通常要协商两方的MSS值,每一方都实用于通告它期望接收的MSS选项(MSS选项仅仅出如今SYN报文段中,即TCP三次握手的前两次)。MSS的值一般为MTU值减去两个首部大小(须要减去IP数据包包头的大小20Bytes和TCP数据段的包头20Bytes)所以假设用链路层以太网。MSS的值往往为1460。而Internet上标准的MTU(最小的MTU,链路层网络为x2.5时)为576,那么假设不设置,则MSS的默认值就为536个字节。非常多时候,MSS的值最好取512的倍数。TCP报文段的分段与重组是在运输层完毕的。

    到了这里有一个问题自然就明了了,TCP分段的原因是MSS,IP分片的原因是MTU,因为一直有MSS<=MTU。非常明显,分段后的每一段TCP报文段再加上IP首部后的长度不可能超过MTU,因此也就不须要在网络层进行IP分片了。因此TCP报文段非常少会发生IP分片的情况。

    再来看UDP数据报,因为UDP数据报不会自己进行分段,因此当长度超过了MTU时,会在网络层进行IP分片。相同。ICMP(在网络层中)相同会出现IP分片情况。

    总结:UDP不会分段,就由IP来分。

TCP会分段。当然就不用IP来分了!

    另外。IP数据报分片后,仅仅有第一片带有UDP首部或ICMP首部,其余的分片仅仅有IP头部,到了端点后依据IP头部中的信息再网络层进行重组。而TCP报文段的每一个分段中都有TCP首部,到了端点后依据TCP首部的信息在传输层进行重组。

IP数据报分片后,仅仅有到达目的地后才进行重组,而不是向其它网络协议,在下一站就要进行重组。

   最后一点,对IP分片的数据报来说。即使仅仅丢失一片数据也要又一次传整个数据报(既然有重传。说明运输层使用的是具有重传功能的协议,如TCP协议)。

这是由于IP层本身没有超时重传机制------由更高层(比方TCP)来负责超时和重传。当来自TCP报文段的某一段(在IP数据报的某一片中)丢失后,TCP在超时后会重发整个TCP报文段,该报文段相应于一份IP数据报(可能有多个IP分片)。没有办法仅仅重传数据报中的一个数据分片。


在IP层分片时,仅仅有第一个分片存在运输层协议头部,其余分片都不包括运输层协议的首部,这一点非常重要。然后TCP的分段,每个分段都包括TCP首部信息,。

再有就是IP分片时到达目的地之后再进行重组的,IP层的重组是发生在目的地的IP层,TCP的重组是发生在目的地的传输层中。

tcp/ip具体解释--udp数据报中的ip分片

1、UDP首部2、UDP分片在第二章,讲链路层是,提到过以太网。刨除数据帧帧头。最多传输的长度为1500。也就是说,假设一个ip数据报,长度大于1500,则须要分片。分片方法:在ip头中3位标志,13位片偏移,这俩东西就是用来分片... 查看详情

tcpudp分段ip分片

...客3次握手4次挥手链路层MTU最大传输单元1500 MISS最大分段TCP层  数据 tcp+DataTCP+MISS+id2D1<MISSip+TCP+D1+id2tcp+D1+id2tcp一段一段(D1)传传成功了在传第二段(D2) 数据编号id1包活计时器 2h  2h后没有对方确认收到... 查看详情

《tcp/ip具体解释卷2:实现》笔记--协议控制块

协议层使用协议控制块(PCB)存放各UDP和TCP插口所要求的多个信息片。Internet协议维护Internet协议控制块(internetprotocolcontrolblock)和TCP控制块(TCPcontrolblock)。由于UDP是无连接的。所以一个端结点须要的全部信息都在InternetPCB中... 查看详情

tcp/ip/icmp学习实践

前言在学习TCP分段与IP分片时、心有所感想把之前学习过的知识串联起来。数据分段发生在传输层、分片发生在网络层。相关术语:MTU(MaximumTransmissionUnit,MTU),最大传输单元     以太网和802.3对数据帧的长度... 查看详情

《tcp/ip具体解释》读书笔记(21章)-tcp的超时与重传

TCP提供可靠的运输层。它使用的方法之中的一个就是确认从还有一端收到的数据。但数据和确认都有可能会丢失。TCP通过在发送时设置一个定时器来解决这样的问题。假设当定时器溢出时还没有收到确认,它就重传该数据。对于... 查看详情

tcp/ip具体解释学习笔记--tcp的坚持和保活定时器

TCP的坚持定时器1.基本概念TCP的接收方指名希望从发送方接收的数据字节(窗体大小)来进行流量控制,假设窗体大小为0。那么放送方就会阻止发送数据,直到接收方发来一个已跟新窗体大小的ACK为止,那么假设接收方发送的这... 查看详情

tcp/ip具体解释--icmp报文分析

一.概述:1.   ICMP同意主机或路由报告差错情况和提供有关异常情况。ICMP是因特网的标准协议,但ICMP不是高层协议,而是IP层的协议。通常ICMP报文被IP层或更高层协议(TCP或UDP)使用。一些ICMP报文把差错报文返回给用... 查看详情

《tcp/ip具体解释》读书笔记(19章)-tcp的交互数据流

在TCP进行传输数据时。能够分为成块数据流和交互数据流两种。假设按字节计算。成块数据与交互数据的比例约为90%和10%,TCP须要同一时候处理这两类数据,且处理的算法不同。书籍本章中以Rlogin应用为例观察交互数据的传输过... 查看详情

tcp/ip--ip分片

IP分片我们知道链路层通常对可传输的每个帧的最大长度有一个上限。为了保持IP数据报抽象与链路层细节的一致和分离,IP引入了分片与重组。当IP层接受到一个要发送的IP数据报时,它会判断该数据报应该从哪个本地接... 查看详情

tcp/ip具体解释学习笔记--tcp数据流

1.TCP的交互数据流(1)基本概念所谓交互数据流,其对TCP而言,就是他们所产生的大多数的TCP报文段中所包括的数据不超过10个字节。比如聊天等telnet的软件的TCP数据流就属于TCP交互数据流(2)经受时延的确认TCP收到数据时并不会立... 查看详情

《tcp/ip具体解释卷2:实现》笔记--接口层

接口层包含在本地网上发送和接收分组的硬件与软件。我们用设备驱动程序来表示与硬件及网络接口通信的软件,网络接口是指在一个特定网络上硬件与设备驱动器之间的接口。Net/3接口层试图在网络协议和连接到一个系统的网... 查看详情

《tcp/ip具体解释》读书笔记(22章)-tcp的坚持定时器

TCP通过让接收方指明希望从发送方接收的数据字节数(即窗体大小)来进行流量控制。假设窗体大小为0会发生什么情况呢?这将有效阻止发送方传送数据,直到窗体变为非0为止。ACK的传输并不可靠,也就是说,TCP不正确ACK报文... 查看详情

tcp/ip名词解释

协议族TCP/IP是基于TCP和IP这两个最初的协议之上的不同的通信协议的大集合。TCP-传输控制协议TCP用于从应用程序到网络的数据传输控制。TCP负责在数据传送之前将它们分割为IP包,然后在它们到达的时候将它们重组。IP-网际协议... 查看详情

《tcp/ip具体解释》读书笔记(20章)-tcp的成块数据流

眼下建立在TCP协议上的网络协议特别多,有telnet。ssh,有ftp。有http等等。这些协议又能够依据数据吞吐量来大致分成两大类:(1)交互数据类型,比如telnet,ssh。这样的类型的协议在大多数情况下仅仅是做小流量的数据交换,比... 查看详情

《tcp/ip具体解释卷2:实现》笔记--选路请求和选路消息

内核的各种协议并不直接使用前面提供的函数来訪问选路树,而是调用几个函数:rtalloc和rtallocl是完毕路由表查询的两个函数;rtrequest函数用于加入和删除路由表项;另外大多数接口在接口连接或断开时都会调用函数rtinit。选路... 查看详情

tcp/ip具体解释学习笔记——地址解析协议arp

一概述我们知道,IP协议是用来在不同的物理网络之间数据传输的。要在不同的网络之间数据传输,至少须要将IP协议所用的地址转换成特定网络所使用的物理地址。一般来说。就是将IPv4地址转换为mac地址。要想与一个特定的设... 查看详情

tcp/ip协议簇之网络层

文章目录网络层IP协议基本概念协议头格式IP中的分片分片与组装的需求如何分片与组装路径MTU发现网段划分特殊的IP地址IP地址的数量限制私有IP地址和公网IP地址路由NAT技术NAT技术背景NATIP转换过程NAPTNAT技术的缺陷NAT和代理服务... 查看详情

mtu和mss

...多,使得一个以太帧超过了1514字节,那么IP报文就必须要分片传输,到达目的主机或目的路由器之后由其重组分片。 MSSMSS(Maximum SegmentSize,最大报文段大小,指的是TCP报文(一种IP协议的上层协议)的最大数据报长度,... 查看详情