标签:可靠传输 serve 效率 技术 目的 资源 server 请求 nbsp
目的:为了防止 已失效的连接请求报文段 突然又传送到了服务端,因而产生错误。主要防止资源的浪费。
额外补充:TCP作为一种可靠传输控制协议,其核心思想:既要保证数据可靠传输,又要提高传输的效率,而用三次恰恰可以满足以上两方面的需求!两次无法保证数据可靠,四次及以上无法保证效率。
详解过程:
当客户端发出第一个连接请求报文段时并没有丢失,而是在某个网络节点出现了长时间的滞留,以至于延误了连接请求,然后在某个时间之后才到达服务器。
这应该是一个早已失效的报文段。
但是服务器在收到此失效的连接请求报文段后,以为是客户端的一个新请求,于是就响应客户端发出了确认报文段,同意建立连接。
假设不采用三次握手,那么只要服务器发出确认后,新的连接就可以建立了。但是由于客户端没有发出建立连接的请求,因此不会管服务器的确认,也不会向服务器发送数据,但服务器却以为新的运输连接已经建立,一直在等待,所以,服务器的资源就白白浪费掉了。
采用 “三次握手” 的办法可以防止上述现象发生,例如上面提到的这种情况,client 不会像 server 的确认发出确认。server 由于收不到确认,就知道 client 并没有要求建立连接。
目的:防止 “已失效的连接请求报文” 出现在连接中,在释放连接的过程中会有一些无效的滞留报文,这些报文在经过2MSL的时间内就可以发送到目的地,不会滞留在网络中。这样就可以避免在下一个连接中出现上一个连接的滞留报文了。
详解过程:
为了保证在最后断开的时候,客户端能够发送最后一个ACK报文段能够被服务器接收到。
如果客户端在收到服务器给它的断开连接的请求之后,回应完服务器就直接断开连接的话,若服务器没有收到回应就无法进入CLOSE状态,所以客户端要等待两个最长报文段寿命的时间,以便于服务器没有收到请求之后重新发送请求。
标签:可靠传输 serve 效率 技术 目的 资源 server 请求 nbsp
原文地址:https://www.cnblogs.com/liang1101/p/13202738.html