TCP三次握手和四次挥手
面向连接的,安全可靠的连接。
客户端:你在线吗?
服务器:我在,你在线吗?
客户端:我在
客户端:我数据传完了,我要下线了
服务器:知道了,我还有点数据,你等下
一段时间后...
服务器:我数据发完了,你可以下线了
客户端:好的
为什么要进行3次握手
在第二次服务器给客户端发送ACK位致1,ack=seq+1后,客户端收到了,但是服务端不知道客户端是否收到数据,需要客户端再次握手,达到双工的效果。
为什么要进行4次挥手
首先注意一点,seq不是随机生成的,是在发报文过程中慢慢增长上来的;由于客户端主动发送断开请求,此时服务端还有部分数据没有发送,所以只回复了ACK位,剩余数据发送完毕后后才可断开连接。
回复了ACK位,剩余数据发送完毕后后才可断开连接。