开发者社区> 问答> 正文

通信系统中的“两将军问题”是什么?

通信系统中的“两将军问题”是什么?

展开
收起
游客qunztrp5ggyqy 2021-12-09 17:35:14 982 0
1 条回答
写回答
取消 提交回答
  • 如下图所示,两支友军分别由 A1将军和 A2将军带领,两军约定上午10点同时攻击山谷中的敌军。正常情况下,A1将军派通信兵经过敌军占领的山谷通知A2将军于上午 10点进攻敌军(下图中的第 1步),然后A2将军安排通信兵告知A1将军确认信息已经收到(下图中的第2步)。但是A2将军还需要等待 A1将军的确认信息,否则A2将军不知道“ A1将军是否收到 A2将军的确认信息(第2步的信息)”,所以还需要执行第3步“A1将军派通信兵通知A2将军,第 2 步确认已经收到“。

    image.png

    如果没有发生异常(如通信兵被敌军俘获),通过上述三步的通信,A1将军和 A2将军基本达成“上午10点进攻敌军”的计划 。但是战线封锁、路况不好会导致通信兵传递信息超时,或者通信兵被俘获/击毙会导致传递的信息石沉大海,因此需要超时重传机制保障通信正常。通过两将军问题,采用固定次数的消息确认,解决通信网络不可靠时的共识问题。同时,也可以解释 TCP/IP通信中的三次握手设计 。

    资料来源:《对象存储实战指南》

    2021-12-10 11:01:45
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
漏洞与数据的奇点临近 立即下载
一起来试验保险箱的脆弱面 立即下载
一起来试验 保险箱的脆弱面 立即下载