【唠嗑】TCP的三次握手又为何
我们常听到TCP要三次握手,那么为什么客户端和服务端非要进行3次握手才能进行连接?
难道就不能2次,4次甚至一次吗?有必要吗?有必要吗?有必要吗?
这么想的你你看就是老ETC了呢
===============================三次握手的本质===============================
TCP是可靠传输协议,所谓的三次握手本质上就是要确定【客户端】和【服务端】他们的【发送】和【接收】能力有没有问题,【客户端】要考察服务端的接收和发送能力,而【服务端】也要考察客户端的接收和发送能力
——【第一次握手】
第一次握手,[客户端] 向 [服务端] 发送数据包,在 [服务端] 接收到数据包后确认 [客户端] 的发送能力没有问题。完成第一次握手
——【第二次握手】
第二次握手,[服务端] 在接收了 [客户端] 发来的数据包后,[服务端] 向 [客户端] 返回了一个数据包,在 [客户端] 确认接收到的是 [服务端] 对应自己发送而返回的数据包后,确认了 [服务端] 的接收和发送能力都没有问题,完成第二次握手
——【第三次握手】
第一第二次握手后,[客户端] 已经确认了 [服务端] 的接收和发送能力,而 [服务端] 却只确认了 [客户端] 的发送能力,为此,我们要进行第三次握手来让 [服务端] 确认 [客户端] 的接收能力
第三次握手,[服务端] 通过接收 [客户端] 对应自己发送所返回的数据包后,确认 [客户端] 的接受能力没有问题,完成了我们TCP的三次握手协议
结论:
不黑不吹,TCP通过三次握手,保证了客户端与服务端的【发送】和【接收】能力,为可靠传输提供了验证,所以2次不行4次没必要,握手3次刚刚好