从更加自然化的通讯模型出发,二次握手是更加合理的。
即
1:client 告知 server,我要和你通讯
2:server应答client,表示可以通讯
至此,连接建立完毕,正式开始通讯。
但是,在计算机网络中,server并不能保障及时收到client的请求报文,考虑如下情景。
1:client发送请求连接报文给server
2:报文在网络传输中超时,很晚才到达server,这是client已经认为server拒绝了这一此连接,同时关掉了自己的通讯进程。
3:而server对此却一无所知,因此遵守二次握手,继续给client发送数据。
在这样的一种异常场景下,二次握手的弊端开始显现!
三次握手的本质在于:告知server,client请求的时效性。提高了网络通讯销量,避免了对无效请求连接的应答。