有關網絡協議的非常著名的例子
發布時間:2014/8/17 22:02:03 訪問次數:4624
下面是一個有關網絡協議的非常著名的例子。
【例1-1】占據東、西兩個山頂的藍軍1和藍軍2與駐扎在山谷的白軍作戰。其力量對比是:TL16C554AFNR單獨的藍軍1或藍軍2打不過白軍,但藍軍1和藍軍2協同作戰則可戰勝白軍。現藍 軍l擬于次日正午向白軍發起攻擊。于是用計算機發送電文給藍軍2。但通信線路很不好, 電文出錯或丟失的可能性較大(沒有電話可使用)。因此要求收到電文的友軍必須送回一個確認電文。但此確認電文也可能出錯或丟失。試問能否設計出一種協議使得藍軍1和藍軍2能夠實現協同作戰因而一定(即100%而不是99.999…%)取得勝利?
【解】藍軍1先發送:“擬于明日正午向白軍發起攻擊。請協同作戰和確認。”
假定藍軍2收到電文后發回了確認。
然而現在藍軍l和藍軍2都不敢下決心進攻。因為,藍軍2不知道此確認電文對方是否正確地收到了。如未正確收到,則藍軍1必定不敢冒然進攻。在此情況下,自己單方面發起進攻就肯定要失敗。因此,必須等待藍軍1發送“對確認的確認”。
假定藍軍2收到了藍軍l發來的確認。但藍軍l同樣關心自己發出的確認是否已被對方正確地收到。因此還要等待藍軍2的“對確認的確認的確認”。
這樣無限循環下去,藍軍1和藍軍2都始終無法確定自己最后發出的電文對方是否已經收到(圖1-21)。因此,在本例題給出的條件下,沒有一種協議可以使藍軍1和藍軍2能夠100%地確保勝利。
下面是一個有關網絡協議的非常著名的例子。
【例1-1】占據東、西兩個山頂的藍軍1和藍軍2與駐扎在山谷的白軍作戰。其力量對比是:TL16C554AFNR單獨的藍軍1或藍軍2打不過白軍,但藍軍1和藍軍2協同作戰則可戰勝白軍。現藍 軍l擬于次日正午向白軍發起攻擊。于是用計算機發送電文給藍軍2。但通信線路很不好, 電文出錯或丟失的可能性較大(沒有電話可使用)。因此要求收到電文的友軍必須送回一個確認電文。但此確認電文也可能出錯或丟失。試問能否設計出一種協議使得藍軍1和藍軍2能夠實現協同作戰因而一定(即100%而不是99.999…%)取得勝利?
【解】藍軍1先發送:“擬于明日正午向白軍發起攻擊。請協同作戰和確認。”
假定藍軍2收到電文后發回了確認。
然而現在藍軍l和藍軍2都不敢下決心進攻。因為,藍軍2不知道此確認電文對方是否正確地收到了。如未正確收到,則藍軍1必定不敢冒然進攻。在此情況下,自己單方面發起進攻就肯定要失敗。因此,必須等待藍軍1發送“對確認的確認”。
假定藍軍2收到了藍軍l發來的確認。但藍軍l同樣關心自己發出的確認是否已被對方正確地收到。因此還要等待藍軍2的“對確認的確認的確認”。
這樣無限循環下去,藍軍1和藍軍2都始終無法確定自己最后發出的電文對方是否已經收到(圖1-21)。因此,在本例題給出的條件下,沒有一種協議可以使藍軍1和藍軍2能夠100%地確保勝利。
上一篇:相鄶兩層之間的關系
上一篇:TCP/IP的體系結構