我想知道为什么我们要进行3次握手,为什么我们只是与双向握手联系。
答案 0 :(得分:0)
来自Ans:
ACK伴随着序列号。 RFC在握手时非常清楚:
1)A - > B SYN我的序列号是X
2)A< -B ACK你的序列号是X
3)A< -B SYN我的序列号是Y
4)A - > B确认你的序列号是Y
步骤2和3合并为一个数据包。
关于它的事情是步骤4也是用于移动TCP窗口的内容 通过包含该步骤,您将使用常规协议 初始化过程。它基本上只是将传输窗口归零。
您不会被阻止与第4步一起发送数据。
如果您愿意,您可以使用您的第一个ACK发送数据,基本上可以说 “我收到的数据包最多为Y,这里有一些数据”。
正如我们在上面的图像中看到的,客户端连接在客户端从服务器接收到ACK但服务器端连接仍然处于不完整状态时完成,直到服务器没有从客户端收到ACK。
作为@EJP,在上面的评论中说我们需要两个序列号,因为常见的序列号会导致许多不一致。
答案 1 :(得分:0)
“因为,如果服务器B永远不会从客户端A回来,那么服务器B如何知道客户端A可以”听到“它所说的内容?”