📜  TCP 3 次握手过程(1)

📅  最后修改于: 2023-12-03 14:47:52.390000             🧑  作者: Mango

TCP 3 次握手过程

TCP (Transmission Control Protocol) 是一种面向连接的协议,它在传输数据之前需要建立连接。TCP 3 次握手是建立 TCP 连接的过程。

TCP 3 次握手过程

TCP 3 次握手过程的步骤如下:

  1. 第一次握手,客户端发送连接请求报文,将 SYN(同步)位置为 1,Sequence Number (序列号) 设置为一个随机数 A。

  2. 第二次握手,服务器收到请求报文后,如果同意连接,则发送确认报文,将 SYN 和 ACK(确认) 位置为 1,Sequence Number 设置为一个随机数 B,Acknowledgment Number (确认号) 等于 A+1。

  3. 第三次握手,客户端收到确认报文后,还需要向服务器发送确认报文,将 ACK 位置为 1,Sequence Number 设置为 A+1,Acknowledgment Number 设置为 B+1。

以上三个步骤完成后,TCP 连接建立成功,可以进行数据传输。

图示说明

下面是 TCP 3 次握手过程的图示说明:

  客户端                                          服务器
    |                                                 |
    |      SYN=1,seq=X     -------------------->       |
    |                                                 |
    |                                                 |
    |      SYN=1, ACK=1, seq=Y ack=X+1     <--------      |
    |                                                 |
    |                                                 |
    |      ACK=1, seq=X+1, ack=Y+1      -------------------->   |
为什么需要 3 次握手?

TCP 3 次握手的主要目的是为了确保双方的通信能力和可靠性。具体来说,目的有以下几点:

  1. 防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。

  2. 防止客户端发送完连接请求后,服务端没收到而重复发送请求的情况。

  3. 防止因为网络延迟,导致的客户端和服务端产生了多次连接请求和响应,从而产生不可预知的错误。

总结

TCP 3 次握手是建立 TCP 连接的过程,主要是为了确保双方的通信能力和可靠性。这个过程虽然看起来很简单,但却是网络通信中必不可少的。在实际应用中,需要根据实际需求进行优化,以提高传输效率和可靠性。