什么是 TCP 连接的三次握手

第一次握手:客户端发送syn(syn=j)包到服务器;并进入SYN_SEND状态,等待服务器确认
第二次握手:服务器收到syn包,确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

注意:三次握手中发送的包不包含数据,三次握手完毕,客户端和服务器才正式开始传送数据。
TCP连接一旦建立,在通信双方的任何一方主动关闭连接之前,TCP连接都将被一直保持下去。