TCP 使用 3 次握手机制。我非常了解它的工作原理,但我想知道为什么不是 4 次,甚至 5 次?是不是因为开销太大而不需要?
答案1
TCP 连接的启动性能由往返时间决定,每次握手都会占用往返时间的一半。延迟越大,连接的初始性能越差。
如果 TCP 能够安全地通过单向握手完成,那么它就会这样做,因为这样会更快。因此,它是三向的,并不是因为 3 有什么特殊优点,而是因为这是有效运行所需的最少交换次数。
换句话说,是的,您的评估完全正确:握手中的步骤越多,开销就越大,而且是没有必要的。
比较一下谷歌 SSL 最近的“抢跑”努力缩短了 SSL 握手步骤,有人想出了一种方法,可以减少协议中一个步骤,而其他人认为这已经是最低限度了。
答案2
答案3
我们可以这样说吗,三方握手是两个对等体之间交换网络信息并获得确认的必需条件。示例:最大段大小 (MSS)
在其他情况下,如果客户端/服务器都发送 syn,则一次握手减少到两次。