日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

两军对垒问题及个人的思考

發(fā)布時(shí)間:2024/3/13 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 两军对垒问题及个人的思考 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在 Andrew S. Tanenbaum著的《計(jì)算機(jī)網(wǎng)絡(luò)》中,為了描述計(jì)算機(jī)通信的不確定性,他曾在上面提出這樣一個(gè)問(wèn)題——兩軍對(duì)壘問(wèn)題

🍉請(qǐng)先看一下什么是兩軍對(duì)壘問(wèn)題:

🌍一支白軍被圍困在一個(gè)山谷中,兩旁的山上都是藍(lán)軍,白軍的實(shí)力超過(guò)了任何一支藍(lán)軍單獨(dú)的力量,但是兩支藍(lán)軍合起來(lái)的力量卻超過(guò)了白軍。如果任何一支藍(lán)軍單獨(dú)發(fā)起進(jìn)攻,則它將被白軍擊敗,然而,如果兩支藍(lán)軍同時(shí)發(fā)動(dòng)進(jìn)攻,則它們將會(huì)取得勝利。

?兩支藍(lán)軍希望能夠同時(shí)發(fā)動(dòng)進(jìn)攻,然而,它們唯一的通信介質(zhì)是派士兵穿過(guò)山谷傳遞信息,而在穿越山谷時(shí)士兵可能被白軍抓住,從而丟失信息(即它們必須使用一條不可靠的通信信道),現(xiàn)在的問(wèn)題是:是否存在一個(gè)讓藍(lán)軍獲勝的協(xié)議?

🌳假如藍(lán)軍1號(hào)的指揮官發(fā)送這樣一條消息:" 我建議我們?cè)?月29日的黎明時(shí)發(fā)起進(jìn)攻。怎么樣?‘’現(xiàn)在假設(shè)該消息到達(dá)了藍(lán)軍2號(hào),2號(hào)指揮官同意了這一建議,并且他的回信安全的到了藍(lán)軍1號(hào),進(jìn)攻會(huì)如期進(jìn)行嗎?

💜可能不會(huì),因?yàn)樗{(lán)軍2號(hào)指揮官并不知道他的回信是否能送到,如果回信沒(méi)有送過(guò)去,藍(lán)軍1號(hào)將不會(huì)發(fā)動(dòng)進(jìn)攻,所以對(duì)他來(lái)說(shuō),貿(mào)然發(fā)動(dòng)進(jìn)攻將是十分愚蠢的。

💪假如我們進(jìn)行改進(jìn),建議發(fā)起方必須對(duì)應(yīng)答消息進(jìn)行確認(rèn)

🍀假設(shè)沒(méi)有消息丟失,藍(lán)軍2號(hào)將得到確認(rèn):但是藍(lán)軍1號(hào)指揮官現(xiàn)在就會(huì)猶豫,因?yàn)樗恢浪拇_認(rèn)信息是否發(fā)送過(guò)去了,如果確認(rèn)信息沒(méi)有送到藍(lán)軍2號(hào),他發(fā)動(dòng)進(jìn)攻就會(huì)全軍覆沒(méi)。

💪假如我們?cè)龠M(jìn)行改進(jìn),接受方必須對(duì)發(fā)送方的應(yīng)答進(jìn)行確認(rèn)

🌵假如沒(méi)有信息丟失,藍(lán)軍1號(hào)得到確認(rèn):但是藍(lán)軍2號(hào)指揮官同樣會(huì)猶豫,因?yàn)樗恢浪拇_認(rèn)消息是否發(fā)送過(guò)去了。如果確認(rèn)消息沒(méi)有到,那么他發(fā)動(dòng)進(jìn)行就會(huì)全軍覆沒(méi)。

🏅實(shí)際上,可以證明完成這一任務(wù)的協(xié)議并不存在,我們使用反證法,假如存在一個(gè)這個(gè)協(xié)議,如果我們從協(xié)議中去掉所有無(wú)關(guān)緊要的信息,這樣我們得到的協(xié)議中每條消息都是至關(guān)重要的,如果最后一條消息沒(méi)被發(fā)送過(guò)去吶,我們剛才說(shuō)過(guò),它是至關(guān)重要的,如果它丟失了,則進(jìn)攻就不會(huì)如期進(jìn)行,同時(shí)由于最后一條消息的發(fā)送者永遠(yuǎn)不知道他發(fā)送的消息是否能正確的到達(dá),所有他也不會(huì)貿(mào)然發(fā)動(dòng)進(jìn)攻。同時(shí),另一支藍(lán)軍也會(huì)對(duì)此猜疑,所以他也不會(huì)貿(mào)然發(fā)動(dòng)進(jìn)行。

我們把這個(gè)問(wèn)題與斷開(kāi)連接進(jìn)行類比,用"斷開(kāi)連接"來(lái)替代 “發(fā)動(dòng)進(jìn)攻”,即可以得出結(jié)論,如果任何一方要在確定另一方做好了斷開(kāi)連接的準(zhǔn)備之后才斷開(kāi)連接,那么斷開(kāi)連接的操作永遠(yuǎn)不會(huì)發(fā)生

所以在TCP斷開(kāi)連接時(shí),是由某一端獨(dú)立的決定是否要斷開(kāi)連接。

📢由這個(gè)問(wèn)題我們可以得到一個(gè)結(jié)論:通信本身就是具有不確定性的,而對(duì)于TCP來(lái)說(shuō),它也不是一個(gè)絕對(duì)可靠的協(xié)議,它只是通過(guò)確認(rèn),重傳哪些機(jī)制,把它的不確定性變到一個(gè)可接受的范圍。

總結(jié)

以上是生活随笔為你收集整理的两军对垒问题及个人的思考的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。