TCP报文详解

TCP报文详解目录 今日良言 但尽全力 且让心安 一 TCP 协议特点 二 TCP 协议段格式 三 TCP 的 10 个核心机制 四 三次握手和四次挥手 今日良言 但尽全力 且让心安 一 TCP 协议特点 TCP

大家好,我是讯享网,很高兴认识大家。

目录

🐇今日良言:但尽全力,且让心安

     🐼一、TCP协议特点

     🐳二、TCP协议段格式

🐯三、TCP的10个核心机制

🐝四、三次握手和四次挥手


🐇今日良言:但尽全力,且让心安


讯享网

🐼一、TCP协议特点

TCP :Transmission Control Protocol,传输控制协议.

在之前已经介绍过了TCP协议的特点,简单回顾一下:

有连接 可靠传输 面向字节流 全双工

有连接:TCP类似于打电话,需要建立连接,才可以发送消息.

可靠传输:发送方发送的数据,并不是百分百发送给接收方,而是尽力而为,尽可能的把数据传输过去,同时,如果还是传输不过去,至少能知道.

面向字节流:数据传输与文件读写类似,是"流式"的(一次可以读一个字节或者十个字节或者一百个字节)

全双工:一个通信通道,可以双向传输.(既可以发送,也可以接收)


🐳二、TCP协议段格式

首先来看一下TCP协议段格式

和UDP一样,都是表示源端口和目的端口

 

任何一条数据都是有序号的,但是确认序号只有应答报文有. (序号和确认序号已经应答报文后面会详细介绍)

 4位首部长度:

一个TCP报头长度是可变的,并不是像UDP的报头一样固定8个字节.

因此,首部长度就描述了TCP报头具体多长,另外,选项部分之前的固定是20个字节.

首部长度-20字节 = 选项长度

注:首部长度这里的单位不是字节,而是4字节.

     如果首部长度的值是5,此时表示整个TCP报头的长度是 4*5 = 20字节(此时相当于没有选项)

    如果首部长度的值是15,此时表示整个TCP报头的长度是4*15 = 60字节(此时相当于选项是40个字节)

保留(6位)

在进行程序开发的时候,其中一个重点考虑的事情就是可扩展性(有些功能现在不需要,以后可能用得到).此处,TCP的保留6位,也是为了以后的扩展来考虑的.

为什么要有保留位呢?

这是因为,对于网络协议来说,扩展升级是一件成本极高的事情.以UDP为例,UDP报文长度是2个字节,因此一个包最大是64kb,现在想要升级一下UDP协议,让它支持更大的长度,比如使用4个字节表示报文长度,理论上是可行的,但是实际操作成本极高.

比如:全世界上百亿能上网的计算机/路由器等等..此时这个设备的操作系统里,就是支持2个字节的UDP,要想进行升级,就需要让这些设备的操作系统都升级为能够支持4个字节的UDP.显然,这样做的成本极高.

如果引入了"保留位",此时升级操作成本就会降低不少,如果后续TCP引入了一些新的功能,就可以使用这些保留位字段,此时,对于原来TCP的报头结构的影响是最小的,老的设备即使不升级也更容易兼容.

6位标志位:

URG :紧急指针是否有效
小讯
上一篇 2025-03-29 17:05
下一篇 2025-01-05 14:36

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/33942.html