摘要:文獻中已提出多種解決無窮計算問題的辦法。但這些辦法一個比一個復(fù)雜,一個比一個更不實用。
1.水平分裂算法
文獻中已提出多種解決無窮計算問題的辦法。但這些辦法一個比一個復(fù)雜,一個比一個更不實用。這里,只介紹其中的一種方法,并談一談其失畋之處。水平分裂(splithori?m)算法與距離向量算法工作過程一樣,不同之處僅在于:任意節(jié)點到節(jié)點X的距離如果是從令點y發(fā)送的路由信息中獲得的,那么該節(jié)點不向y報告其到尤的真實距離(實際上報告的距離值為無窮大)。例如,在圖5-22(b)的初始狀態(tài)下,節(jié)點C向D報告其到A的真實距離,但C向節(jié)點B報告其到A的距離為無窮大;類似地,D告訴E實情,但向C說它到A的距離為無窮大。
現(xiàn)在,讓我們看看A下網(wǎng)后的情況。在第一次交換時,B發(fā)現(xiàn)1T達路徑已沒有了,而C也報告說到A的距離為無窮大,因為兩個鄰居都到不了A,B便將它到A的距離也設(shè)為無窮大。第二次交換時,C發(fā)現(xiàn)從它的兩個鄰居點都不能到達A,它也將A標為不可到達。使用水平分裂法,壞消息以每交換一次路由信息傳播一個節(jié)點的速度傳播,.這比不用水平分裂方法要好得多。
糟糕的是水平分裂法雖然被廣泛應(yīng)用,.但也有失敗的時候。考慮如圖5-23所示為由4個節(jié)點組成的子網(wǎng),初始化時,A和B到D的距離都為2,到C的距離為1。假設(shè)CD線路斷開了。使用水平分裂法,A和B告訴C,它們不能到達D。因此,C立即將得到結(jié)論,D是不可達的,并告訴A和B。不幸的是,A知道B有一條到D的長度為2的路徑,因此,它認為能經(jīng)過B經(jīng)3跳到達D。類似地,B也認為能通過A經(jīng)3跳到達D。下一次交換路由信息后,它們又都將到D的距離增加到4。兩個節(jié)點5就這樣逐漸地將到D的距離增加到無窮大,這正是我們曾力圖避免的情況。
返回目錄:
編輯推薦:
通信專業(yè)實務(wù)考試終端與業(yè)務(wù)教程匯總
通信工程師備考資料免費領(lǐng)取
去領(lǐng)取