📜  TCP 标志(1)

📅  最后修改于: 2023-12-03 15:20:31.460000             🧑  作者: Mango

TCP 标志

在 TCP 协议中,每个 TCP 报文都包含一个字段称为 TCP 标志位。这些标志位用来控制 TCP 连接的建立、维护和拆除等过程,是 TCP 协议中非常重要的组成部分。

TCP 标志位总共占用 6 个比特位,即 6 个二进制位,按照不同的组合代表不同的标志。以下是 TCP 标志的六种组合及其含义:

| 标志位 | 标志名 | 含义 | | ------ | ------ | ------ | | 000001 | URG | 紧急指针有效 | | 000010 | ACK | 确认序号有效 | | 000100 | PSH | 接收方应该尽快将数据交给应用层 | | 001000 | RST | 连接重置 | | 010000 | SYN | 同步序号用于建立连接 | | 100000 | FIN | 发送方已经没有数据要发送了 |

其中,SYN、ACK 和 FIN 是 TCP 协议中最常用的三个标志位。

TCP 三次握手

TCP 三次握手是建立 TCP 连接的过程,通过 SYN 和 ACK 两个标志位的组合来完成:

  1. 主机 A 向主机 B 发送一个带 SYN 标志的 TCP 报文段,请求建立连接;
  2. 主机 B 接收到后,如果同意建立连接,应该发送一个带 SYN/ACK 标志的报文段作为回应;
  3. 主机 A 收到主机 B 的回应后,发送一个带 ACK 标志的报文段,确认连接建立。

这样,主机 A 和主机 B 之间的 TCP 连接就建立成功了。

TCP 四次挥手

TCP 四次挥手是关闭 TCP 连接的过程,通过 FIN 和 ACK 两个标志位的组合来完成:

  1. 发送方 A 向接收方 B 发送一个 FIN 标志的报文,表示自己已经没有数据要发送了;
  2. 接收方 B 收到后,会发送一个 ACK 标志的报文,表示已经收到了关闭请求;
  3. 当接收方 B 也准备好关闭连接时,会发送一个带 FIN 标志的报文;
  4. 发送方 A 收到后,也会发送一个 ACK 标志的报文,表示已经收到了关闭请求。

这样,TCP 连接就被彻底关闭了。

参考链接