- 三次握手
TCP/IP协议是传输层的一个面向连接的安全可靠的传输协议。三次握手机制是为了保证能够建立一个安全可靠的连接,首先第一次握手由客户端发起,在客户端向服务器端发送的报文中,SYN标志为1,表示发起新的连接,当服务器端收到这个报文后,就知道是客户端要和服务器端发起连接,于是服务器端就会向客户端发送确认消息包,SYN为1,ack标志为1,表示确认客户端发起的第一个连接,并且要和客户端发起连接。以上两次握手后,对客户端而言已经明确,我即能成功向服务器端发送请求,也能成功接收服务器端的请求,但是对服务器端而言,服务器只知道它能接收客户端发来的消息,但是不知道客户端是否能够接收它的消息,所以两次握手是不够的。第三次握手就是客户端收到服务端发送的确认报文后,还要向服务端继续去给服务器端响应,也是一个ack为1的确认消息。通过三次握手,客户端服务端都可以相互发送消息,并且互相发送消息
- 四次挥手
第一次客户端向服务端发送请求报文,FIN=1,告诉服务端连接要断开了。然后服务端接收消息后会返回一个确认报文ack=1的消息报文给客户端,因为此时的服务端可能还有一些消息没有处理完成,就会等到处理完成在给客户端一个请求FIN=1(意思是我还没准备好断开你稍等一下,过后就是我ok了,可以断开了),由于此时服务端不知道客户端是否收到请求,所以当客户端收到断开的请求后,响应给服务端一个确认报文ack=1,从而保证了连接的安全性。