gpt4 book ai didi

tcp - 二 通用协议(protocol)与TCP握手

转载 作者:可可西里 更新时间:2023-11-01 02:32:32 26 4
gpt4 key购买 nike

因此,这两个普遍问题表明,没有确定的方法可以知道我们通过不可靠 channel 与之通信的另一方是否收到了我们的消息。这非常类似于我们发送 syn syn ack ack 并建立连接的 TCP 握手。这不是反对两个普遍问题的主张吗?

最佳答案

这两个普遍问题确实是 TCP 的异步模型,这就是为什么(如理论结果所示)两个端点不能同时对连接状态有共同了解的原因。

每个分布式协议(protocol)协议(protocol)处理这个问题的方式是始终 promise 安全(不会发生任何坏事),但不能保证 active (最终会取得进展)。活力不在你手中。顺境时,可以努力做到最好,并希望取得进步。

在 TCP 中,这意味着一个端点可以在不确定知道对方状态的情况下做出假设(例如“已建立连接”)。但是,做出这样的假设并不是不安全的;在最坏的情况下,这是一个良性的误解。超时后,它将改变其意见。这与在长途电话的一端并继续通话并认为连接仍然存在没有什么不同;过了一会儿,你可能不得不问“你好,你还在吗?”,然后超时。现实世界的协议(protocol)必须始终有超时(不同于异步正式模型),因为它们在堆栈的某个地方服务于某些人类功能,而人类的耐心是有限的。在实践中,有足够好的时间段可以取得进展,所以我们只需要选择适当的超时时间,不要太早超时。

也就是说,即使是良性的误解也会产生不良后果。例如,服务器响应syn后,为连接分配资源,希望客户端完成协议(protocol)。这是典型的拒绝服务攻击,因为流氓客户端可以简单地开始握手序列但永远不会完成,从而使未准备好的服务器分配了数百万个状态机。需要小心。

关于tcp - 二 通用协议(protocol)与TCP握手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36352236/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com