如下图所示,两支友军分别由 A1将军和 A2将军带领,两军约定上午10点同时攻击山谷中的敌军。正常情况下,A1将军派通信兵经过敌军占领的山谷通知A2将军于上午 10点进攻敌军(下图中的第 1步),然后A2将军安排通信兵告知A1将军确认信息已经收到(下图中的第2步)。但是A2将军还需要等待 A1将军的确认信息,否则A2将军不知道“ A1将军是否收到 A2将军的确认信息(第2步的信息)”,所以还需要执行第3步“A1将军派通信兵通知A2将军,第 2 步确认已经收到“。
如果没有发生异常(如通信兵被敌军俘获),通过上述三步的通信,A1将军和 A2将军基本达成“上午10点进攻敌军”的计划 。但是战线封锁、路况不好会导致通信兵传递信息超时,或者通信兵被俘获/击毙会导致传递的信息石沉大海,因此需要超时重传机制保障通信正常。通过两将军问题,采用固定次数的消息确认,解决通信网络不可靠时的共识问题。同时,也可以解释 TCP/IP通信中的三次握手设计 。
资料来源:《对象存储实战指南》
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。