《计算机网络》中的例子是这样的,“已失效的连接请求报文段”的产生在这样一种情况:客户发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的某个时间才到达
服务
。
本来这是一个早已失效的报文段。但服务收到此失效的连接请求报文段后,就误认为是
客户
再次发出的一个新的连接请求。于是就向
客户
发出确认报文段,同意建立连接。
假设不采用“三次握手”,那么只要服务发出确认,新的连接就建立了。由于现在
客户
并没有发出建立连接的请求,因此不会理睬服务的确认,也不会向服务发送数据。但服务却以为新的运输连接已经建立,并一直等待
客户
发来数据。这样,服务的很多资源就白白浪费掉了。采用“三次握手”的办法可以防止上述现象发生。
例如刚才那种情况,
客户
不会向服务的确认发出确认。服务由于收不到确认,就知道
客户
并没有要求建立连接。”清晰的阐释了“三次握手”对于建立可靠连接的意义
确定双通道通畅,必须使用三个包的发送接收,也就是三次握手
为了满足"在不可靠信道上可靠地传输信息"这一需求导致的
防止失效的连接请求报文段被服务端接收,从而产生错误。2次握手
可以这样来说明
让双方都证实对方能发收。
知道对方能收是因为收到对方的因为收到而发的回应。
具体:
1:A发,B收, B知道A能发
2:B发,A收, A知道B能发收
3:A发,B收, B知道A能收