原因:为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。
分析,假如有这样一种场景:
客户端给服务器端发送请求报文,结果由于网络问题,迟迟没有到达。
客户端迟迟没有收到服务器端的确认,于是进行N次请求,发送N条报文,但均迟迟未到达。
服务器端突然收到N+1条报文请求,于是给服务器端返回N+1条确认报文。
如果只有两次握手,岂不是会建立N+1条连接?那就很浪费资源了。
而如果三次握手,那么客户端知道自己只需要请求一次,所以只会再发一条确认报文,最终只会建立一条连接。
原因:为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。
分析,假如有这样一种场景:
客户端给服务器端发送请求报文,结果由于网络问题,迟迟没有到达。
客户端迟迟没有收到服务器端的确认,于是进行N次请求,发送N条报文,但均迟迟未到达。
服务器端突然收到N+1条报文请求,于是给服务器端返回N+1条确认报文。
如果只有两次握手,岂不是会建立N+1条连接?那就很浪费资源了。
而如果三次握手,那么客户端知道自己只需要请求一次,所以只会再发一条确认报文,最终只会建立一条连接。
本文标题:TCP建立连接要进行三次握手,为什么不是两次就建立连接?
本文链接:https://www.haomeiwen.com/subject/emhqhqtx.html
网友评论