一、三次握手
首先我们知道TCP使面向连接的可靠传输协议,它的三次握手就是为了确保客户端和服务端传输的可靠性。而要想知道客户端和服务端是否可靠,我们就需要知道客户端和服务端双方的接收数据功能和发送数据功能是否是正常的。
第一次握手:首先由客户端给服务端发送一条消息,如果服务端能够接受到客户端所发的消息,那么服务端就能确定客户端的发送数据是正常的。
第二次握手:服务端接收到信息之后,将原本的信息加工后发送给客户端,如果客户端能够收到服务端所发的信息,那么客户端就能确定服务端的接受数据和发送数据是没有问题,是可靠的。
第三次握手:此时因为客户端知道服务端的接受和发送是没问题的,但是服务端只知道客户端的发送没问题,接受功能却不知道,所以客户端需要把接受到的信息进行加工在发给服务端,让服务端确定客户端的接受功能是没问题的。这样就保障了TCP传输数据的可靠性,也就是TCP的三次握手。
二、四次断开
四次断开的目的是为了确保连接双方发送完整的数据之后在进行断开连接,以此来保障数据传输的完整性。
第一次断开:客户端向服务端发出断开连接请求(此时客户端不会向服务端发送数据但是可以接收数据)
第二次断开:服务端接受到请求之后立马向客户端做出响应(表示已经知道对方不会在发送数据)
第三次断开:服务端向客户端发送断开连接的请求(其目的是告知客户端自己不会在发送数据)
第四次断开:客户端向服务端做最后的响应 (表示已经知道对方不会在发送数据)
然后服务端在接受到客户端的信息之后 会断开连接,而客户端则等待一段时间之手进行断开。