笔试题:TCP协议三次握手和四次挥手

来源:互联网 发布:襄阳seo排名优化 编辑:程序博客网 时间:2024/05/22 05:21

三次握手:

第一次握手:客户端(client)发送SYN包到服务器(server),客户端(client)状态机进入SYN_SEND状态,等待服务器确认;

第二次握手:服务器(server)接收到SYN包,必须发送ACK包到客户端,同时自己也发送一个SYN包,即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端(client)接收到服务器发送的SYN+ACK包,必须向服务器发送确认包ACK,此包发送成功,则客户端和服务器同时进入ESTABLISHED状态。

 

四次挥手:

假设客户端发起断开连接请求,

第一次挥手:客户端(client)发送FIN报文到Server端

第二次挥手:服务器(server)收到客户端发送的FIN包之后,发送ACK包到客户端,客户端收到服务器发送的ACK之后,进入FIN_WAIT状态,等待server端发送FIN报文

第三次挥手:服务器(server)发送FIN报文到客户端

第四次挥手:客户端收到服务器发送的FIN报文之后,发送ACK包到服务器,服务器收到ACK之后即断开连接,等待一段时间TIME_WAIT之后,客户端发现服务器没有再发FIN过来,就知道服务器已经断开连接,此时客户端也进入断开连接状态。

 

0 0
原创粉丝点击