D-V解決路由環(huán)路的方法
路由環(huán)路如何發(fā)生?
在維護(hù)路由表信息的時候,如果在拓?fù)浒l(fā)生改變后,網(wǎng)絡(luò)收斂緩慢產(chǎn)生了不協(xié)調(diào)或者矛盾的路由選擇條目,就會發(fā)生路由環(huán)路的問題,那么該如何解決此問題呢?本文就為大家介紹D-V解決路由環(huán)路的方法。
Distance-VectorRoutingProtocols通過向所有接口周期性的廣播路由更新來跟蹤整個網(wǎng)絡(luò)的變化,這些廣播包括了完整的路由表,但卻給cpu和帶寬增加了負(fù)擔(dān)。若會聚更新過慢會產(chǎn)生路由環(huán)路。

假如網(wǎng)絡(luò)5出問題了,不工作了,E就發(fā)送更新給C匯報情況,于是,C開始停止通過E來路由信息到網(wǎng)絡(luò)5,但是這個時候A,B和D還不知道網(wǎng)絡(luò)5出問題了.所以它們?nèi)匀焕^續(xù)發(fā)送更新信息.C發(fā)送更新給B說停止路由到網(wǎng)絡(luò)5.但是此時A和D還沒有更新,所以它們覺得網(wǎng)絡(luò)5仍然可用,而且跳數(shù)為3.接下來,A發(fā)送更新說:嘿!網(wǎng)絡(luò)5還可用.B和D接受到A發(fā)來的更新后,沒辦法,也相同的覺得可用經(jīng)過A到達(dá)網(wǎng)絡(luò)5,并且認(rèn)為網(wǎng)絡(luò)5可用.所以就這樣,1個目標(biāo)網(wǎng)絡(luò)是網(wǎng)絡(luò)5的數(shù)據(jù)包將進(jìn)過A到B,然后又回到A……
路由環(huán)路解決辦法
水平分割(splithorizon),它規(guī)定由1個接口發(fā)送出去的路由信息不能再朝這個接口往回發(fā)送.這個辦法減少了路由信息的不正確性和負(fù)載,但在某些環(huán)境中,例如Frame-Relay的Hub節(jié)點,水平分割將帶來一些麻煩。
毒性逆轉(zhuǎn)(poisonreverse)。當(dāng)一條路徑信息變?yōu)闊o效之后,路由器并不立即將它從路由表中刪除,而是用16,即不可達(dá)的度量值將它廣播出去。這樣雖然增加了路由表的大小,但對消除路由環(huán)路很有幫助,它可以立即清除相鄰路由器之間的任何環(huán)路。
觸發(fā)更新(triggerupdate)。當(dāng)路由表發(fā)生變化時,更新報文立即廣播給相鄰的所有路由器,而不是等待30秒的更新周期。同樣,當(dāng)一個路由器剛啟動RIP時,它廣播請求報文。收到此廣播的相鄰路由器立即應(yīng)答一個更新報文,而不必等到下一個更新周期。這樣,網(wǎng)絡(luò)拓?fù)涞淖兓瘯羁斓卦诰W(wǎng)絡(luò)上傳播開,減少了路由環(huán)路產(chǎn)生的可能性。
抑制計時(holddowntimer)。一條路由信息無效之后,一段時間內(nèi)這條路由都處于抑制狀態(tài),即在一定時間內(nèi)不再接收關(guān)于同一目的地址的路由更新。如果,路由器從一個網(wǎng)段上得知一條路徑失效,然后,立即在另一個網(wǎng)段上得知這個路由有效。這個有效的信息往往是不正確的,抑制計時避免了這個問題,而且,當(dāng)一條鏈路頻繁起停時,抑制計時減少了路由的浮動,增加了網(wǎng)絡(luò)的穩(wěn)定性。
路由環(huán)路的問題即便采用了上面的4種方法也不能完全解決,只是得到了***程度的減少。一旦路由環(huán)路真的出現(xiàn),路由項的度量值就會出現(xiàn)計數(shù)到無窮大(CounttoInfinity)的情況。這是因為路由信息被循環(huán)傳遞,每傳過一個路由器,度量值就加1,一直加到16,路徑就成為不可達(dá)的了。RIP選擇16作為不可達(dá)的度量值是很巧妙的,它既足夠的大,保證了多數(shù)網(wǎng)絡(luò)能夠正常運行,又足夠小,使得計數(shù)到無窮大所花費的時間最短。