三次握手的通俗理解如下:客户端向服务端发起连接请求(第一次),服务端收到客户端的信息并加验证发给客户端(第二次),客户端收到并确认验证发给服务端(第三次) 连接请求成功;
专业三次握手文字解析如下: 第一次: 客户端向服务端发起SYN连接申请并带上自己的序列端口号(如Seq=x),大概传送的有SYN=1,Seq=x; 第二次: 服务端收到客户端连接申请,发送SYN+ACK(确认),分别传送给客户端的为SYN=1,Seq=y(服务端自身的序列号),ACK=1,ack=x+1; 第三次: 客户端收到服务端发来的信息并返还给客户端ACK,传给服务端的为ACK=1,Seq=x+1,ack=y+1;建立连接;
四次挥手通俗理解如下:客户端完成任务向服务端发起断开请求(第一次),服务端收到申请但是还没有准备好并此时发送消息给客户端让客户端等待(第二次),服务端 已经完全准备好发送给客户端消息同意断开申请(第三次),客户端收到服务端的断开验证申请后断开连接(第四次);
专业四次挥手文字解析如下: 第一次: 客户端向服务端发送断开申请FIN并带上自己的序列号(如Seq=u),大概传送的有FIN=1,Seq=u; 第二次: 服务端收到客户端的断开申请,但是此时可能还没有完全处理完毕数据,所以先暂时发一个ACK确认发给客服务端让其处于等待关闭的状态,传输的数据大概有:ACK=1, Seq=v(此时服务端状态下的端口号),ack=u+1; 第三次: 服务端数据处理完毕,正式向客户端发送FIN+ACK通知,大概有FIN=1,ACK=1,Seq=w(此时服务端状态下的端口号),ack=u+1: 第四次: 客户端收到服务端的消息之后发送给服务端ACK通知,断开连接;传送给服务端的有:ACK=1,Seq=u+1,ack=w+1;
|