1、客户端发送SYN包给服务器,序号为x,进入SYN_SENT状态,等待服务器应答。
SYN:同步序列编号
2、服务器收到SYN包,进行确认,服务器向客户端发送SYN+ACK包,SYN序号为y,ACK序号为x+1,此时服务器进入SYN_RECV状态。
3、客户端收到SYN+ACK包,向服务器发送ACK包,序号为y+1,此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
为什么不是两次:
如果两次,服务器端不能确认自己的消息客户端能收到,服务器端发送消息可能客户端都收不到。
为什么不是四次:
三次结束后已经可以确定客户端和服务器可以相互发送消息,如果四次会造成浪费。