有趣的兩軍問題

有趣的兩軍問題

在建立網絡的這個龐大的知識體系前,不妨先來看看這個有趣的兩軍問題。對以後學習各種協議以及對網絡通信的理解都會有很大的幫助。這篇非常有趣,且一點都不乏味,現在就一起來看看吧!

兩軍問題場景:

先描述下場景,首先可以看到藍軍(以下用 blue1, blue2 代替)對於白軍(以下用 white 代替)而言,擁有人數以及軍備上的優勢,而 white 雖然居於下風,但是擁有地理位置的優勢。簡單來說,如果 blue 一起進攻可以戰勝 white,但若分別進攻則會失敗。

所以 blue1 和 blue2 就會想事前溝通,和對方約定好一起進攻的時間點。可惜,當時沒有電話也沒有電報,唯一的通信方式就是依靠偵查兵送信給對方。

於是,blue1 首先派出了偵查兵,想和 blue2 約定明天清晨 8:00 一起進攻。但是當 blue1 的信件發出去後,blue1 不確定 blue2 有沒有收到,還是被 white 中途攔截。所以當 blue2 確實收到信件後,就要發送一個確認信回去給 blue1。好的那這時,blue1 收到了 blue2 的確認信,所以知道 blue2 成功收到了。但是這時換 blue2 擔心了。blue2 不知道 blue1 有沒有收到確認信,萬一 blue1 沒收到,會不會以為我沒收到約定所以明天沒有進攻,那我單獨進攻豈不是要戰敗了嗎?所以 blue1 這時又要再發一個確認確認信的確認信。

在網絡世界中,雙方這樣發信件的過程被稱為握手,或是揮手。

到這邊,相信大家都已經看出來了。這樣永遠無法結束,永遠都有一方在等待確認。這樣的兩軍問題告訴我們的是,在網絡世界中,兩個設備是不可能 100% 建立完全可靠的連接的,只能夠盡量可靠。以 TCP 協議來說,握手 3 次就視為建立了可靠的連接。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值