這種情況下收斂到新拓?fù)淠軐?dǎo)致一種稱為計(jì)值到無窮的現(xiàn)象。當(dāng)網(wǎng)絡(luò)變得完全不能訪問時(shí),基于如下錯(cuò)誤的想法:存在另一個(gè)路由器能訪問那個(gè)不可達(dá)的目的地,這種情形中的路由器會計(jì)值R I P度量到無窮。
理論上講,節(jié)點(diǎn)最終會熟悉到D是不可達(dá)的。然而,要想說出什么時(shí)候才能收斂幾乎不可能。這個(gè)例子準(zhǔn)確地反映了為什么R I P對無窮的解釋設(shè)成如此小的值。一旦一個(gè)網(wǎng)絡(luò)不可訪問,通過更新來遞增量度到實(shí)用值時(shí)必須中止此過程。這意味著這個(gè)上界要設(shè)為多大,當(dāng)計(jì)值到此上界時(shí)才能公布一個(gè)目的地不可達(dá)。任何上界和一個(gè)路由網(wǎng)絡(luò)的直徑限制相對應(yīng)。在R I P例子中,它的最初設(shè)計(jì)者覺得1 5跳對一個(gè)自治系統(tǒng)來說早已足夠大。比這更大的系統(tǒng)可以使用更復(fù)雜的路由協(xié)議。
R I P使用三種方法來避免計(jì)值到無窮循環(huán)問題: ·分割水平線。 ·帶抑制逆轉(zhuǎn)位的分割水平線。 ·觸發(fā)更新。
1. 分割水平線 可以很明顯地看出,上一節(jié)所描述的循環(huán)問題可以通過邏輯應(yīng)用而得到防止,描述這個(gè)邏輯的術(shù)語為分割水平線。雖然R I P不支持分割水平線,但是理解了它有助于理解它所使用的稍復(fù)雜一些的變體—帶抑制逆轉(zhuǎn)位的分割水平線。
分割水平線的實(shí)質(zhì)是,假設(shè)假如一條路由是從一個(gè)特定路由器處學(xué)習(xí)來的, R I P節(jié)點(diǎn)不廣播關(guān)于這個(gè)特定路由的更新到這個(gè)相鄰路由器。圖1 2 - 1 5顯示了這一點(diǎn)。 圖12-15 分割水平線
在R I P中,只有在6個(gè)更新消息沒有更新一個(gè)路由之后才發(fā)生超時(shí)。因此,一個(gè)被錯(cuò)誤通知的節(jié)點(diǎn)把關(guān)于不可達(dá)目的地的信息錯(cuò)誤地通知給其他節(jié)點(diǎn)的可能性有5種。就是這個(gè)延時(shí)可能造成無效路由信息形成環(huán)。由于這個(gè)不足, R I P支持一個(gè)稍加改動的版本稱為帶抑制逆轉(zhuǎn)的分割水平線。
一般來講,在距離-向量網(wǎng)絡(luò)中帶抑制逆轉(zhuǎn)的分割水平線比單純的分割水平線更安全。然而,二者都不是完美的。帶抑制逆轉(zhuǎn)的分割水平線在只有兩個(gè)網(wǎng)關(guān)的拓?fù)渲心苡行У胤乐孤酚森h(huán)。然而,在更大的互聯(lián)網(wǎng)絡(luò)中, R I P仍然會發(fā)生計(jì)值到無窮的問題。為了確保這樣的無限循環(huán)盡可能早地被發(fā)現(xiàn), R I P支持觸發(fā)更新。
分割水平線邏輯在這種情況下因路由作廢前的延時(shí)而喪失作用。R I P使用一種不同的技術(shù)來加速收斂過程,這種技術(shù)稱為觸發(fā)更新。觸發(fā)更新是協(xié)議中的一個(gè)規(guī)則,它要求網(wǎng)關(guān)在改變一條路由度量時(shí)立即廣播一條更新消息,而不管3 0秒更新記時(shí)器還剩多少時(shí)間。
觸發(fā)更新通過把延遲減到最小從而克服了路由協(xié)議的脆弱性。
4. 保持計(jì)時(shí)器 觸發(fā)更新不是萬能的!更新不會瞬時(shí)地傳遍整個(gè)網(wǎng)絡(luò)。因此,有可能(但不太可能)一個(gè)網(wǎng)關(guān)在從另一個(gè)網(wǎng)關(guān)處收到觸發(fā)更新之前恰好發(fā)送了一個(gè)周期性的更新報(bào)文。在這種情況下,無效路由會在整個(gè)網(wǎng)絡(luò)中被再次傳播。雖然,發(fā)生這種情況的可能性非常低,但是在一個(gè)R I P網(wǎng)絡(luò)之中還是有可能出現(xiàn)計(jì)值到無窮的循環(huán)(即使使用了觸發(fā)更新)。