三次握手
定义:
3次握手是TCP建立连接前进行3次通信,保证收发双方的通信稳定。
过程
- 客户端向服务器端发送SYNC(同步包)
- 服务端接收到SYNC包,并发送ASK(确认)包
- 客户端发送ASK包,代表已经接收到服务端发过来的信息,可以进行通信
四次挥手
定义:
4次挥手是TCP断开连接前4次通信,确认已经没有资源信息交互最后断开的过程。
过程
假如是客户端要求断开TCP连接
- 客户端发送FIN报文,代表已经没有资源需要传输了,即将关闭
- 服务端接收到报文,发送ASK,代表已经收到客户端要关闭的请求
- 服务端发送FIN报文,代表已经没有资源要向客户端进行发送了,即将关闭
- 客户端接收到FIN,发送ASK,代表已经接收到服务端要关闭的请求,可以进行关闭,断开TCP连接
为什么握手需要3次,而挥手需要4次呢?
因为关闭时需要双方都确认是否已经传输完所有数据,所以都有一次发送fin以及ask报文的请求。会多一次。