Bootstrap

详解tcp三次握手

TCP(Transmission Control Protocol)是传输层的一种面向连接的协议,确保数据的可靠传输。TCP 三次握手用于建立客户端和服务器之间的连接。

三次握手的过程
  1. 第一次握手:客户端发送 SYN 报文

    • 客户端向服务器发送一个 SYN(同步序列编号)报文。此报文包含一个初始序列号(Sequence Number),如 SYN=1, seq=x
    • 此步骤的意义是客户端请求建立连接,并发送初始序列号以供数据传输时使用。
  2. 第二次握手:服务器发送 SYN-ACK 报文

    • 服务器收到客户端的 SYN 报文后,向客户端发送一个 SYN-ACK(同步-确认)报文。报文包含服务器的初始序列号和对客户端 SYN 报文的确认号,如 SYN=1, ACK=1, seq=y, ack=x+1
    • 此步骤的意义是服务器确认收到了客户端的连接请求,并同意建立连接,同时发送自己的初始序列号。
  3. 第三次握手:客户端发送 ACK 报文

    • 客户端收到服务器的 SYN-ACK 报文后,向服务器发送一个 ACK(确认)报文。报文确认收到了服务器的 SYN 报文,如 ACK=1, seq=x+1, ack=y+1
    • 此步骤的意义是客户端确认收到了服务器的回应,握手结束,双方正式建立连接,可以进行数据传输。
每次握手的意义和作用
  1. 第一次握手:

    • 意义:客户端向服务器表明自己的意图,开始连接请求。
    • 作用:建立初始序列号,告知服务器有意建立连接。
  2. 第二次握手:

    • 意义:服务器回应客户端的请求,同意建立连接。
    • 作用:确认收到了客户端的连接请求,并发送服务器的初始序列号。
  3. 第三次握手:

    • 意义:客户端确认收到了服务器的响应。
    • 作用:确认双方都同意建立连接,握手完成,连接建立。

总结

TCP 三次握手的过程确保了连接的可靠性。每次握手都有明确的意义和作用,确保双方都能正确接收到对方的报文,从而保证了连接的可靠建立。这种机制不仅保证了数据传输的顺序和完整性,还提供了连接管理和流量控制功能。

;