【发布时间】:2017-12-01 07:50:51
【问题描述】:
我正在阅读 Tanenbaum 写的一本关于计算机网络的书,专门关于握手。在那里,他解释说,考虑到这种情况,两次握手是不够的:
A 想给 B 转账,所以 A 向 B 发送一个 SYN,然后 B 向 A 发送一个 ACK。连接建立,然后 A 可以发送他的钱,然后在连接完成后断开连接。如果从 A 到 B 有延迟的重复 SYN,B 将再次发送它的 ACK,A 将再次转移它的钱。
如果我理解正确的话,那是基于 Tanenbaum 写的书的双向握手的弱点之一。书上说三次握手可以解决这个问题。
由于来自 A 的延迟重复 SYN,B 发送一个被 A 拒绝的 ACK 和 SYN。这是我不明白的地方,就好像“嘿 B,你为什么给我发送一个 SYN 和 ACK?哦我知道,这是来自延迟的 SYN,我应该放弃它。”。为什么不,在两次握手中,A 不知道 ACK 是由延迟的重复 SYN 发出的?
谢谢。
【问题讨论】:
-
一本书?哪本书?章节?诗句?
标签: networking