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

TCP使用3路握手机制。 我明白它是如何工作的很好,但我想知道为什么它不是4,甚至5路? 是因为这是太多的开销,不需要?

TCP连接的启动性能取决于往返时间,握手的每个阶段占用一半的时间。 延迟越多,连接的初始性能越差。

如果TCP可以通过单向握手安全和安全地完成,那将是,因为那样会更快。 所以三方不是因为三中有什么特别的美德,而是因为那是有效去往所需的最less数量的交换。

换句话说,是的,你的评估是完全正确的:握手中更多的步骤是更多的开销,并不是必需的。

比较一下, 最近的SSL SSL“虚假开始”的努力,削减了SSL握手的一步 ,在那里有人想出了一个方法,在一个已经认为是最低限度的协议中less了一步。

Daniel在他的回答中做了很好的解释,为什么三次握手是build立tcp连接最常用的方法,但它不是唯一的方法来build立tcp连接。

有“同时打开”的连接,实际上是每个客户端进行双向握手。 以及去年发布新闻的分裂握手 ,因为它可以作为一个攻击媒介来旁路传入的防火墙规则和IPS。 也被称为偷袭攻击。

如果我们这样说,三方握手是强制性的,在两个同伴之间交换networking信息并得到承认。 示例:最大段大小(MSS)

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