TCP网络数据包的组成部分,数据包分片与重组功能

一个网络数据包包括哪些有了解吗?
网络数据包一般包括头部和数据部分,在TCP协议中,要发送的数据经过TCP模块添加TCP头部;然后IP模块添加IP头部和MAC头部;然后在最前面加上报头/起始帧分界符以及末尾假如FCS(帧校验序列),这样就构成了一个完成的数据包。
网络数据包的组成部分
UDP协议中就是UDP头部,各个头部都有其固定的格式,TCP头部最小20个字节,UDP头部最小8个字节。

TCP协议中的数据包分片与重组功能有了解吗?
当TCP传输的数据包比较大时,在接收方会进行分片,在接收方进行数据包的重组。

发送方:
将数据包分为多个TCP头部+数据包的组合,TCP头部中存着不同的数据序号;之后将多个组合交由IP模块,统一添加IP头部和MAC头部,IP头部的ID号设为统一的。

接收方:
IP模块具有分片重组的功能,如果接收到的包是经过分片的,那么IP模块会将它们还原成原始的包。

分片的包会在IP头部的标志字段中进行标记,当收到分片的包时,IP模块会将其暂时存在内部的内存空间中,然后等待IP头部中具有相同ID的包全部到达,因为同一个包的所有分片都具有相同的ID。此外,IP头部还有一个分片偏移量的字段,它表示当前分片在整个包中所处的位置。根据这些信息,在所有的分片全部收到之后,就可以将它们还原成原始的包。

解析:

数据包的分片和重组里边还涉及到了MTU和MSS的概念,介绍如下:

MTU: Maxitum Transmission Unit 最大传输单元
MSS: Maxitum Segment Size 最大分段大小,MSS就是TCP数据包每次能够传输的最大数据分段。
MTU和MSS

发布了72 篇原创文章 · 获赞 2 · 访问量 1024

猜你喜欢

转载自blog.csdn.net/baidu_41592938/article/details/104462451
今日推荐