一、三次握手机制
三次握手(Three-way Handshake),是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。 三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方的顺序号和确认号并交换 TCP信息
1.1第一次握手
客户端请求建立连接,向服务端发送一个同步报文(SYN=1),同时选择一个随机
数seq=x作为初始序列号,并进入SYN_SENT状态,等待服务器确认。
1.2第二次握手
服务端收到连接请求报文后,如果同意建立连接,则向客户端发送同步确认报文(SYN=1,ACK=1),确认号为ack=x+1,同时选择一个随机数seq=y作为初始序列号,此时服务器进入SYN_RECV状态
1.3第三次握手
客户端收到服务端的确认后,向服务端发送一个确认报文(ACK=1),确认号为ack
=y+1,序列号为seq=x+1,客户端和服务器进入ESTABLISHED状态,完成三次握手