数据通信——传输层TCP(TCP报文格式)

前引

嗨害嗨!从出差回来了,继续更新!

之前讲了TCP的机制,下面看看TCP报文字段

字段含义

我们之前说过源目端口号、序号以及确认号的含义了。现在说一下其余的字段

(1)"数据偏移"(Data Offset)字段:一共4位。表示数据字段开始的地方离TCP报文段的起始处有多远。这实际上就是TCP报文段首部的长度。首部长度是不固定的,数据偏移字段是必要的。

(2)"紧急指针有效" URG(Urgent Pointer)字段:一共1位。用来标识字段Urgent Pointer字段有意义。

(2)"ACK"字段,共一位,表示确认号有意义

(3)PSH(Push)字段:共一位。PUSH标志,在接收方缓冲中,如果发现包含PUSH标志的数据,将其立刻从缓冲中提交给上层,而不用管缓冲是否己满。一般也是发送端如果急需报文到达接收端上层。

(4)**RST(Reset)**字段:共一位。它是用来复位TCP,一般它用于异常关闭连接。当发送rst段关闭连接时,无需等待缓冲区中的所有数据都被发送出去,可以直接丢弃

解释一下,比如A正向B发送数据,这时A掉线了。这时B就会认为A断掉了,B在端口上也不会监听A了,结果A又上线了,又开始向B发送数据,B发现自己的端口上莫名其妙连接了一个A,直接发送RST报文强行断掉连接并丢弃发送端缓存内容。

这个字段看着很小,但是有巨大的风险,网络攻击可用通过此方法断掉连接,后续会细说

(5)SYN字段:共一位。在建立TCP连接的时候使用(建立TCP连接的时候使用),不细说了

(6)FIN 字段:共一位。表示没有数据需要发送了(关闭TCP连接的时候使用)

(7)"窗口"字段:共16位。表示接收缓存区的空闲空间,用来告诉TCP连接对端自己能够接收的最大数据长度

(8)"检验和"(Checksum)字段:共16位。为了检验数据的完整性和差错的,不多说了。

(9)**"紧急指针"(Urgent Pointers)**字段: 共16位。上面(2)是紧急指针标志位,只有标志位有效时,这个字段才会生效。紧急指针的作用是在TCP连接中提供紧急数据的机制。如果发送端发送一些紧急数据时,紧急指针可以来指示接收端,在接收端到该指针之后尽快处理这些数据。紧急指针的值是一个相对于当前序列号的偏移量,用于指示紧急数据在整个数据流中的位置。一旦处理完紧急数据,接收端会恢复正常的数据流处理。紧急指针需要双方协商和支持,因此用的少。在使用中,它通常用于传递一些重要的控制信息或紧急指令,而并非数据。

**上述报文加在一起构成了20字节的固定首部,这是TCP报文基本构成,不可缺少的。**但是TCP报文一共60字节,32位。很显然还剩下两个字段=选项和填充字段。

常用的选项字段:

"MSS"字段:它是来表示最大报文长度的,也就是IP层不分片情况下允许传送的最大TCP报文的数据大小。一般默认为536B

"RTT"字段:计算RTT,指数据从发送端发送到接收端并返回的时间,Timestamp(时间戳)选项可以记录发送和接收数据的时间戳,从而可以更精确地计算RTT。

填充字段

填充字段基本上是用来进行后续额外的字段引入的,毕竟随着协议的发展,以及各厂商开发人员为客户需求化的定制,这些填充位用来补充一些额外的信息。

后续

基本上也常用的就是这些了,后期会针对每一个进行更细致地讲解。选项字段还有个很多kind的字段,实在懒得弄,打算后期单独弄成一篇文章了。

相关推荐
weixin_4573402123 分钟前
ssh 本地链接服务器地址和服务器查看本地地址
运维·服务器·ssh
MXsoft6181 小时前
在大型混合云网络环境中,如何高效实现自动化运维?
运维·网络·自动化
海阔天空任鸟飞~8 小时前
Linux 权限 777
linux·运维·服务器
Kina_C11 小时前
Linux iptables 防火墙原理与实操——从四表五链到 NAT 配置
linux·运维·服务器·iptables
xian_wwq15 小时前
【案例分析】Hugging Face生产基础设施入侵攻击分析
网络·安全
灵机一物16 小时前
企业选型参考:2026 CXL 内存扩展方案六强测评与落地指南
服务器·网络·数据库·人工智能
Web极客码16 小时前
如何用三段式确定性剪枝,为 LLM Agent 砍掉 35% 的 Token 成本?
服务器·人工智能·算法·机器学习
yeflx16 小时前
速腾Airy雷达使用记录
java·服务器·网络
CPETW16 小时前
企业版配套软件介绍 ---- USB TO SPI 3.0-Slave
网络·科技·单片机·嵌入式硬件·电子
公众号:fuwuqiBMC16 小时前
(转自“服务器BMC”)服务器BMC芯片——多Die(芯片)封装
运维·服务器·人工智能