.NET面试题系列(27)网络

序言

为什么握手只有三次,而挥手却要四次

这是因为 TCP 不允许连接处于半打开状态时就单向传输数据,所以在三次握手建立连接时,服务器会把 ACK 和 SYN 放在一起发给客户端,其中,ACK 用来打开客户端的发送通道,SYN 用来打开服务器的发送通道。这样,原本的四次握手就降为三次握手了。

但是当连接处于半关闭状态时,TCP 是允许单向传输数据的。当主动方关闭连接时,被动方仍然可以在不调用 close 函数的状态下,长时间发送数据,此时连接处于半关闭状态。这一特性是 TCP 的双向通道互相独立所致,却也使得关闭连接必须通过四次挥手才能做到。

https://zhuanlan.zhihu.com/p/599912694

资料

深入分析四层/七层网关

posted @ 2024-08-15 11:54  ~沐风  阅读(9)  评论(0编辑  收藏  举报