这个问题的本质是, 信道不可靠, 但是通信双发需要就某个问题达成一致.
三次通信是理论上的最小值,兼顾效率与可靠,就选三次了.
三次握手真的可靠吗?
当然不可靠,任意次的握手都是不可靠的,握手成功只能说明握手时的通信是正常的,并不能保证握手后的通信是正常的,例如不稳定的网络环境,这些都是可能的。握手只能保证尽可能的可靠,而不可能保证理论上的绝对可靠。
通信一定要三次握手吗?
当然不是,比如寻人启示,没有做三次握手,但你能说寻人启示就不能完成通信功能吗?
非三次握手建立的通信未必不可靠,三次握手建立的通信也未必可靠.
咋看上去,传令兵的故事很有道路,仔细想想其实不然。首先,现实世界中一定不会出现故事中的死循环,因为传令过程中,红军1完全可以使用自己的传令兵来回往返,先到红军2传达明天总攻时间,然后回到红军1,传令完毕,2边都收到并确认总攻时间。其次,网络世界也是如此,使用序号确保往返都是一个人,所以理论上,和现实世界一样,2次也行。