为什么TCP3次握手,4次挥手?
三次握手的原因
- TCP是双工的,所以对于IP层面上的TCP内核协议栈需要确认两件事情
- 我是否可以写
- 我是否可以读
从上图来看 1 2 完成之后 ,client 可以确认自己是可以写的,也可以确认自己是可以读的,但是server 只能确认自己是可以读的,server并不知道它是可以写的,
接下来第3步完成之后,server就知道他自己的是可以写成功的
四次挥手的原因
- TCP可以双工,也可以单工,也就是TCP可以维持一个 client 只写不读,server 只读不写的状态
- client 发送 FIN 到server
- server 发送 ACK 到 client
以上两步就关闭了client的写通道跟server的读通道,但是server的写通道跟client的读通道并没有关闭,因此可以保持单工状态
此时重复上面的步骤
3.server 发送FIN 到client
4.client 发送 ACK 到server
此时双工的通道就此全部彻底关闭

浙公网安备 33010602011771号