为什么是三次握手而不是更多次?

为什么是三次握手而不是更多次?

TCP 使用 3 次握手机制。我非常了解它的工作原理,但我想知道为什么不是 4 次,甚至 5 次?是不是因为开销太大而不需要?

答案1

TCP 连接的启动性能由往返时间决定,每次握手都会占用往返时间的一半。延迟越大,连接的初始性能越差。

如果 TCP 能够安全地通过单向握手完成,那么它就会这样做,因为这样会更快。因此,它是三向的,并不是因为 3 有什么特殊优点,而是因为这是有效运行所需的最少交换次数。

换句话说,是的,您的评估完全正确:握手中的步骤越多,开销就越大,而且是没有必要的。

比较一下谷歌 SSL 最近的“抢跑”努力缩短了 SSL 握手步骤,有人想出了一种方法,可以减少协议中一个步骤,而其他人认为这已经是最低限度了。

答案2

丹尼尔在他的回答中很好地解释了为什么三次握手是建立 TCP 连接的最常用方法,但它并不是建立 TCP 连接的唯一方法。

“同时打开”连接实际上是每个客户端进行双向握手。以及分离握手去年,该攻击引起了轰动,因为它可以用作绕过传入防火墙规则和 IPS 的攻击媒介。也称为潜行攻击。

答案3

我们可以这样说吗,三方握手是两个对等体之间交换网络信息并获得确认的必需条件。示例:最大段大小 (MSS)

在其他情况下,如果客户端/服务器都发送 syn,则一次握手减少到两次。

相关内容