TCP 4次挥手
2014-02-28 12:31
169 查看
TCP 4次挥手
先由客户端向服务器端发送一个FIN,请求关闭数据传输。
当服务器接收到客户端的FIN时,向客户端发送一个ACK,其中ack的值等于FIN+SEQ
然后服务器向客户端发送一个FIN,告诉客户端应用程序关闭。
当客户端收到服务器端的FIN是,回复一个ACK给服务器端。其中ack的值等于FIN+SEQ
![](http://blog.chinaunix.net/attachment/201209/19/26413552_1348019351fi7w.png)
为什么要4次挥手?
确保数据能够完成传输。
但关闭连接时,当收到对方的FIN报文通知时,它仅仅表示对方没有数据发送给你了;但未必你所有的数据都全部发送给对方了,所以你可以未必会马上会关闭SOCKET,也即你可能还需要发送一些数据给对方之后,再发送FIN报文给对方来表示你同意现在可以关闭连接了,所以它这里的ACK报文和FIN报文多数情况下都是分开发送的。
先由客户端向服务器端发送一个FIN,请求关闭数据传输。
当服务器接收到客户端的FIN时,向客户端发送一个ACK,其中ack的值等于FIN+SEQ
然后服务器向客户端发送一个FIN,告诉客户端应用程序关闭。
当客户端收到服务器端的FIN是,回复一个ACK给服务器端。其中ack的值等于FIN+SEQ
![](http://blog.chinaunix.net/attachment/201209/19/26413552_1348019351fi7w.png)
为什么要4次挥手?
确保数据能够完成传输。
但关闭连接时,当收到对方的FIN报文通知时,它仅仅表示对方没有数据发送给你了;但未必你所有的数据都全部发送给对方了,所以你可以未必会马上会关闭SOCKET,也即你可能还需要发送一些数据给对方之后,再发送FIN报文给对方来表示你同意现在可以关闭连接了,所以它这里的ACK报文和FIN报文多数情况下都是分开发送的。
相关文章推荐
- TCP建立(3次握手)与终止(4次挥手)
- TCP为什么需要3次握手与4次挥手
- TCP/UDP区别、TCP/IP3次握手和4次挥手
- Tcp-ip的4次挥手中的TIME_WAIT
- 理论经典:TCP协议的3次握手与4次挥手过程详解
- TCP协议的3次握手与4次挥手过程详解
- TCP为什么需要3次握手与4次挥手
- TCP3次握手和4次挥手具体状态
- TCP : 3次握手与4次挥手
- TCP为什么需要3次握手与4次挥手
- TCP为什么需要3次握手与4次挥手
- TCP的3次握手与4次挥手
- TCP3次握手4次挥手 待续
- TCP3次握手/4次挥手
- 【转】TCP为什么需要3次握手与4次挥手
- tcp的三次握手和4次挥手
- TCP协议的3次握手与4次挥手过程详解
- TCP协议的3次握手和4次挥手
- tcp4次挥手总结
- 3次握手协议4次挥手协议和tcp状态跃迁