TCP三次握手四次挥手

来源:互联网 发布:java 生成流程图 编辑:程序博客网 时间:2024/06/06 01:44

TCP是一种面向连接的协议。连接建立和连接关闭都需要保证可靠,所以要连接和关闭分别要经过三次握手和四次挥手过程。

连接建立

连接建立要经过三次握手

  • 首先,客户端发送连接请求报文
  • 然后,服务器端接收这次请求,发送给客户端ACK表示确认,并为这次连接分配资源。
  • 客户端收到ACK报文后,也向服务器发送ACK,并开始分配资源,准备发送消息。

连接关闭

关闭连接要经过四次挥手过程

  • 首先,客户端发送完消息后,发送FIN报文,表示客户端已经发送完毕
  • 然后,服务器收到FIN后,向客户端发送一个ACK,表示收到了之前的FIN。但是服务器此时有可能还有消息没法送给客户端,所以此时不一定发送FIN。
  • 服务器发送完所有消息后,向客户端发送FIN,表示也已经发送完毕。
  • 客户端收到FIN,发送给服务器ACK,表示已经收到FIN。
    服务器收到ACK之后,就可以关闭连接了。客户端等待2MSL之后,也关闭连接了。
原创粉丝点击