TCP/IP协议 结构图说明

目录

    • 一、TCP 报文结构图(TCP Header)
    • 二、TCP 三次握手流程图
    • 三、TCP 四次挥手流程图
    • 四、TCP 状态迁移图(附加)
    • 五、TCP 拥塞控制阶段图(慢开始等)

一、TCP 报文结构图(TCP Header)

  0                   1                   2                   3  
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +---------------------------------------------------------------+
 |        Source Port          |     Destination Port            |
 +---------------------------------------------------------------+
 |                      Sequence Number                          |
 +---------------------------------------------------------------+
 |                  Acknowledgment Number                        |
 +---------------------------------------------------------------+
 | Data |       |U|A|P|R|S|F|                                     |
 |Offset| Rsrvd |R|C|S|S|Y|I|           Window Size              |
 +---------------------------------------------------------------+
 |          Checksum            |       Urgent Pointer           |
 +---------------------------------------------------------------+
 |                  (Optional TCP Options)                       |
 +---------------------------------------------------------------+

字段含义简要:

  • Source/Destination Port:源/目标端口号

  • Sequence/Acknowledgment Number:保证数据有序与确认机制

  • Flags:控制位(URG、ACK、PSH、RST、SYN、FIN)

  • Window Size:接收端通告的接收能力

  • Checksum:完整性校验

  • Options:窗口缩放、时间戳等(可选)

二、TCP 三次握手流程图

客户端                                           服务器
  |                                                |
  | ----------- SYN seq=X -----------------------> |   第一次握手
  |                                                |
  | <-------- SYN+ACK seq=Y ack=X+1 ------------- |   第二次握手
  |                                                |
  | ----------- ACK ack=Y+1 ---------------------> |   第三次握手
  |                                                |

说明:

  • 客户端发送 SYN 请求,表示希望建立连接

  • 服务器回应 SYN+ACK,表示接受连接请求并同步自己的初始序号

  • 客户端发送 ACK 表示连接建立完毕

三、TCP 四次挥手流程图

客户端                                           服务器
  |                                                |
  | ----------- FIN seq=U -----------------------> |   第一次挥手
  |                                                |
  | <----------- ACK ack=U+1 --------------------- |   第二次挥手
  |                                                |
  | <----------- FIN seq=V ---------------------- |   第三次挥手
  |                                                |
  | ----------- ACK ack=V+1 ---------------------> |   第四次挥手
  |                                                |

说明:

  • 连接的关闭是双向的,客户端与服务器都要发送 FIN 和 ACK

  • 服务端在 ACK 后并不会立即发送 FIN,而是等数据传输完后再发

四、TCP 状态迁移图(附加)

                        +---------+  
                        |  CLOSED |  
                        +----+----+  
                             |  
                             | Active OPEN
                             V  
                      +------------+  
                      |   SYN_SENT |<---------------------------+  
                      +------+-----+                            |  
                             |                                  |  
                             | SYN+ACK                          |  
                             V                                  |  
      Passive OPEN   +-------------+                            |  
     --------------->|  SYN_RCVD   |                            |  
                     +------+------|                            |  
                             |                                  |  
                             | ACK                              |  
                             V                                  |  
                      +-------------+                           |  
                      |   ESTABLISHED|<-------------------------+  
                      +------+-------+  
                             |  
                             | FIN  
                             V  
                      +--------------+  
                      | FIN_WAIT_1   |  
                      +--------------+  

(该图简化展示 TCP 连接的状态迁移逻辑,详细状态可加入 TIME_WAIT、CLOSING、LAST_ACK 等状态)

五、TCP 拥塞控制阶段图(慢开始等)

        |
窗口大小|               /~~~~~ 拥塞避免
        |             /
        |           /
        |         /
        |       /
        |     /
        |   /  <--- 慢开始阶段
        |  |
        +--+-----------------------------> 时间
           |            |
         阈值         丢包发生

你可能感兴趣的:(TCP/IP协议 结构图说明)