简述TCP协议中三次握手协议工作原理。
TCP协议中的三次握手是一种连接建立过程,主要目的是初始化、同步双方的序列号与确认号,并交换双方TCP窗口大小信息。其工作原理如下:
1. 发送方向接收方发送建立连接的请求,发送一个同步标志信号SYN,表示请求建立连接,并进入SYN_SENT状态,等待B端的确认。
2. 接收方向发送方回送一个对请求报文的确认报文,发送“SYN+ACK”包,表示确认收到客户端的序号Seq并将其值加1作为自己的确认号Ack,并进入SYN_RECV状态。
3. 发送方向接收方发送一个对确认报文的再确认报文,发送“SYN+ACK”包,表示确认收到服务器端同意连接的信号,并进入Established状态。至此完成三次握手,连接建立。
需要注意,在握手之前,主动打开连接的客户端结束CLOSE阶段,被动打开的服务器也结束CLOSE阶段,并进入LISTEN阶段。