为什么TCP建立连接需要三次握手,断开连接需要四次挥手?
为什么TCP建立连接需要三次握手,拆除连接需要四次挥手?
TCP 的建立,三次握手
由于TCP是双向连接,所以客户端在和服务器沟通的时候,其实是需要四次通信。
- 客户端:我要和你通信
- 服务器:好的
- 服务器:我也要和你通信
- 客户端:好的
聪明的你也看到了,其实这里是步骤2和3可以合并成一次通信。
所以通信过程变为了:
- 客户端:我要和你通信
- 服务器:好的,我也要和你通信
- 客户端:好的
TCP 的断开,四次挥手
话接上文
- 客户端:咱们断开连接吧
- 服务器:好的,但是我还有数据没和你传完
- 服务器:传完了,咱们断开吧
- 客户端:好的
其实这里多了一次通信,是因为服务器有些时候数据还没有传输完。
这里很明显可以知道,挥手有时候也会是三次,就是服务器在回复客户端的时候,刚好也传完了数据,所以这里步骤2和3也会合成一步。