📅  最后修改于: 2023-12-03 14:47:52.390000             🧑  作者: Mango
TCP (Transmission Control Protocol) 是一种面向连接的协议,它在传输数据之前需要建立连接。TCP 3 次握手是建立 TCP 连接的过程。
TCP 3 次握手过程的步骤如下:
第一次握手,客户端发送连接请求报文,将 SYN(同步)位置为 1,Sequence Number (序列号) 设置为一个随机数 A。
第二次握手,服务器收到请求报文后,如果同意连接,则发送确认报文,将 SYN 和 ACK(确认) 位置为 1,Sequence Number 设置为一个随机数 B,Acknowledgment Number (确认号) 等于 A+1。
第三次握手,客户端收到确认报文后,还需要向服务器发送确认报文,将 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 --------------------> |
TCP 3 次握手的主要目的是为了确保双方的通信能力和可靠性。具体来说,目的有以下几点:
防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。
防止客户端发送完连接请求后,服务端没收到而重复发送请求的情况。
防止因为网络延迟,导致的客户端和服务端产生了多次连接请求和响应,从而产生不可预知的错误。
TCP 3 次握手是建立 TCP 连接的过程,主要是为了确保双方的通信能力和可靠性。这个过程虽然看起来很简单,但却是网络通信中必不可少的。在实际应用中,需要根据实际需求进行优化,以提高传输效率和可靠性。