第一次握手:服务端发送请求报文给服务端
第二次握手:服务端收到请求报文后发送确认报文给客户端
第三次握手:客户端对确认报文进行确认再发送给服务端
为什么两次不行:前两次只能保证双方可以进行正常收发但不能确定可以正常通信;
其次如果存在请求报文中的某个数据包延迟,过了一会才发送到服务端,服务端以为这是一个新的请求报文,发送确认报文给服务端之后。如果只进行两次握手,发送确认报文出去的服务器认为连接已经建立,为客户端分配资源,但是客户端此时并没有发送请求报文,对于发送过来的请求报文不予回应,一直如此,就会导致服务端的资源浪费甚至崩溃
为什么四次五次不行:三次握手之后可以保证原先所有通信正常,三次之后如果服务端再发送确认报文给客户端一直循环下去,就会造成资源浪费
例:
尔康:紫薇,是你吗?
紫薇:是我!
尔康:太好了,真的是你!
说完(是我!)过后不再确认一句多尴尬,要是紫薇听成了(嘴是你吗?)就回答说(是我,傻b!)怕是尔康也不想回应了
要是这些都说完再多说一句(是我,尔康!)然后一直说,又不是演琼瑶剧啊喂!不要浪费时间浪费资源了好吗
emmmmmm……大概就是这么个意思吧