📜  为 TCP 标志保留了多少位?

📅  最后修改于: 2022-05-13 01:57:01.576000             🧑  作者: Mango

为 TCP 标志保留了多少位?

传输控制协议 (TCP) 是一种传输层协议。 TCP 使数据包从源到目的地的传输更加顺畅。它是一种面向连接的端到端协议。每个数据包由 TCP 包裹在一个标头中,该标头由 10 个强制字段共 20 个字节和一个 0 到 40 个字节的可选数据字段组成。

在这里,我们将更详细地查看 TCP 标头字段和这些字段所需的位,包括标志位。

TCP 标头

TCP 标头

1. Source Port(16位):该字段标识Sender应用程序的端口号。

2 、目的端口(16位):该字段标识接收方应用程序的端口号。

3. 序列号(32 位):在连接建立(3 次握手)之后,该字段包含一个 32 位随机初始序列号/起始数据位,该位随后增加传输的字节数。

4.确认号(32 位):接收方使用这个 32 位参数来请求下一个 TCP 段。它是下一个预测的 TCP 段的序列号。

5、报头长度字段(4位):该字段表示TCP报头的大小,但是是按比例缩小的版本。

6.保留位(6位):该字段的位设置为零。这些位保留供以后使用。

7. 标志位(6 位):一组六个字段,每个字段长一位。它可用于控制特定场景中的数据流。

  1. URG 标志(紧急标志):当设置此 1 位值时,数据优先于其他数据。
  2. ACK 标志(确认标志):这个 1 位字段在连接建立(3 次握手)和数据传输期间使用。
  3. PSH 标志(推送标志):这个 1 位字段告诉应用程序应该立即发送数据。
  4. RST 标志(重置标志):为了重置 TCP 连接,设置了这个 1 位字段。
  5. SYN 标志(同步标志):这个 1 位标志用于设置初始序列号。
  6. FIN 标志(完成标志):这个 1 位字段表示 TCP 连接的结束。

8. Window Size(16 bits):该参数表示接收端的缓存容量。窗口的大小用于管理数据流。

9.校验和(16位):发送方计算循环冗余校验(CRC)校验和,并在数据传输前将其添加到该字段中,以防止数据错误。接收设备可以使用校验和来检查接收到的报头和有效负载中的缺陷。

10、紧急指针(16位):紧急指针指向段中紧急数据的结尾。但是,仅当设置了 URG 标志时才会出现此字段。

11.选项/可选数据(0-40 字节):该字段包含可选的信息,例如最大段大小、时间戳、窗口大小扩展、填充等。