三次握手和四次挥手机制
三次握手
三次握手是TCP连接的建立过程。在握手之前,主动打开连接的客户端结束CLOSE阶段,被动打开的服务器也结束CLOSE阶段,并进入LISTEN阶段。随后进入三次握手阶段:
① 首先客户端向服务器发送一个SYN包,并等待服务器确认,其中:
- 标志位为SYN,表示请求建立连接;
- 序号为Seq=x (x 一般为1);
- 随后客户端进入SYN-SEND阶段。
② 服务器接收到客户端发来的SYN包后,对该包进行确认后结束LISTEN阶段,并返回一段TCP报文,其中:
- 标志位为SYN和ACK,表示确认客户端的报文Seq序号有效,服务器能正常接收客户端发送的数据,并同意创建新连接;
- 序号为Seq=y;
- 确认号为Ack = x +1,表示收到客户端的序号并将其值加1作为自己确认号Ack的值,随后服务器端进入SYN-RCVD阶段。
③ 客户端接收到发送的SYN+ACK包后,明确了从客户端到服务器的数据传输是正常的,从而结束SYN-SENT阶段。并返回最后一段报文。其中:
- 标志位为 ACK,表示确认收到服务器端同意连接的信号;
- 序号为 Seq = x + 1,表示收到服务器端的确认号 Ack,并将