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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

路由环路及解决办法

發(fā)布時(shí)間:2024/4/11 编程问答 64 豆豆
生活随笔 收集整理的這篇文章主要介紹了 路由环路及解决办法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
路由環(huán)路:在維護(hù)路由表信息的時(shí)候,如果在拓?fù)浒l(fā)生改變后,網(wǎng)絡(luò)收斂緩慢產(chǎn)生了不協(xié)調(diào)或者矛盾的路由選擇條目,就會(huì)發(fā)生路由環(huán)路的問題,這種條件下,路由器對(duì)無法到達(dá)的網(wǎng)絡(luò)路由不予理睬,導(dǎo)致用戶的數(shù)據(jù)包不停在網(wǎng)絡(luò)上循環(huán)發(fā)送,最終造成網(wǎng)絡(luò)資源的嚴(yán)重浪費(fèi)。鏈路狀態(tài)算法(OSPF)不會(huì)產(chǎn)生路由環(huán)路,因此,消除路由環(huán)路的技術(shù),都是針對(duì)距離向量協(xié)議進(jìn)行的。路由環(huán)路的形成大致如下述:
當(dāng)C路由器一側(cè)的X網(wǎng)絡(luò)(192.168.4.0)發(fā)生故障,則C路由器收到故障信息,并在路由表中把X網(wǎng)絡(luò)設(shè)置為不可達(dá),等待更新周期到時(shí)來通知相鄰的B路由器。但這時(shí),如果相鄰的B路由器的更新周期先來了,則C路由器將從B路由器那學(xué)習(xí)并更新到達(dá)X網(wǎng)絡(luò)的路由。這是錯(cuò)誤路由,因?yàn)榇藭r(shí)的X網(wǎng)絡(luò)已經(jīng)損壞,而C路由器卻在自己的路由表內(nèi)增加了一條經(jīng)過B 路由器到達(dá)X網(wǎng)絡(luò)的路由。然后C路由器還會(huì)繼續(xù)把該錯(cuò)誤路由通告給B路由器,B路由器更新路由表,認(rèn)為到達(dá)X網(wǎng)絡(luò)須經(jīng)過C路由,然后繼續(xù)通知相鄰的路由器,至此路由環(huán)路形成,C路由器認(rèn)為到達(dá)X網(wǎng)絡(luò)經(jīng)過B路由器,而B則認(rèn)為到達(dá)X網(wǎng)絡(luò)進(jìn)過C路由器。


解決路由環(huán)路問題的方法,概括來講,主要分為六種:

1.定義最大值:
距離矢量路由算法可以通過IP頭中的生存時(shí)間(TTL)來糾錯(cuò),但路由環(huán)路問題可能首先要求無窮計(jì)數(shù)。為了避免這個(gè)延時(shí)問題,距離矢量協(xié)議定義了一個(gè)最大值,這個(gè)數(shù)字是指最大的度量值,如RIP協(xié)議最大值為16跳。也就是說,路由更新信息可以向不可到達(dá)的網(wǎng)絡(luò)的路由中的路由器發(fā)送15次,一旦達(dá)到最大值16,就視為網(wǎng)絡(luò)不可到達(dá),存在故障,將不再接受來自訪問該網(wǎng)絡(luò)的任何路由更新信息。


2.水平分割:
一種消除路由環(huán)路并加快網(wǎng)絡(luò)收斂的方法是通過叫做“水平分割”的技術(shù)實(shí)現(xiàn)的。其規(guī)則就是不向原始路由更新的方向再次發(fā)送路由更新信息(個(gè)人理解為單向更新,單向反饋)。比如有三臺(tái)路由器ABC,B向C學(xué)習(xí)到訪問網(wǎng)絡(luò)192.168.4.0的路徑以后,不再向C聲明自己可以通過C訪問10.4.0.0網(wǎng)絡(luò)的路徑信息,A向B學(xué)習(xí)到訪問192.168.4.0網(wǎng)絡(luò)路徑信息后,也不再向B聲明,而一旦網(wǎng)絡(luò)192.168.4.0發(fā)生故障無法訪問,C會(huì)向A和B發(fā)送該網(wǎng)絡(luò)不可達(dá)到的路由更新信息,但不會(huì)再學(xué)習(xí)A和B發(fā)送的能夠到達(dá)192.168.4.0的錯(cuò)誤信息。


3.路由中毒(也稱為路由毒化): 
定義最大值在一定程度上解決了路由環(huán)路問題,但并不徹底,可以看到,在達(dá)到最大值之前,路由環(huán)路還是存在的。為此,路由中毒就可以徹底解決這個(gè)問題。其原理是這樣的:假設(shè)有三臺(tái)路由器ABC,當(dāng)網(wǎng)絡(luò)192.168.4.0出現(xiàn)故障無法訪問時(shí),路由器C立即向鄰居路由發(fā)送相關(guān)路由更新信息,并將其度量值標(biāo)為無窮大,告訴它們網(wǎng)絡(luò)192.168.4.0不可到達(dá),路由器B收到毒化消息后將該鏈路路由表項(xiàng)標(biāo)記為無窮大,表示該路徑已經(jīng)失效,并向鄰居A路由器通告,依次毒化各個(gè)路由器,告訴鄰居192.168.4.0這個(gè)網(wǎng)絡(luò)已經(jīng)失效,不再接收更新信息,從而避免了路由環(huán)路。


4.反向中毒(也稱為毒化逆轉(zhuǎn)):
結(jié)合上面的例子,當(dāng)路由器B看到到達(dá)網(wǎng)絡(luò)192.168.4.0的度量值為無窮大的時(shí)候,就發(fā)送一個(gè)叫做毒化逆轉(zhuǎn)的更新信息給C路由器,說明192.168.4.0這個(gè)網(wǎng)絡(luò)不可達(dá)到,這是超越水平分割的一個(gè)特列,這樣保證所有的路由器都接受到了毒化的路由信息。


5.控制更新時(shí)間(即抑制計(jì)時(shí)器):
抑制計(jì)時(shí)器用于阻止定期更新的消息在不恰當(dāng)?shù)臅r(shí)間內(nèi)重置一個(gè)已經(jīng)壞掉的路由。抑制計(jì)時(shí)器告訴路由器把可能影響路由的任何改變暫時(shí)保持一段時(shí)間,抑制時(shí)間通常比更新信息發(fā)送到整個(gè)網(wǎng)絡(luò)的時(shí)間要長(zhǎng)。當(dāng)路由器從鄰居接收到以前能夠訪問的網(wǎng)絡(luò)現(xiàn)在不能訪問的更新后,就將該路由標(biāo)記為不可訪問,并啟動(dòng)一個(gè)抑制計(jì)時(shí)器,如果再次收到從鄰居發(fā)送來的更新信息,包含一個(gè)比原來路徑具有更好度量值的路由,就標(biāo)記為可以訪問,并取消抑制計(jì)時(shí)器。如果在抑制計(jì)時(shí)器超時(shí)之前從不同鄰居收到的更新信息包含的度量值比以前的更差,更新將被忽略,這樣可以有更多的時(shí)間讓更新信息傳遍整個(gè)網(wǎng)絡(luò)。路由中毒和抑制時(shí)間結(jié)合起來可以在一定程度上避免路由環(huán)路的產(chǎn)生,并且抑制復(fù)位接口引起的網(wǎng)絡(luò)震蕩。路由中毒即在網(wǎng)絡(luò)故障或接口復(fù)位時(shí),讓相應(yīng)的路由項(xiàng)中毒,即將路由項(xiàng)的度量值設(shè)為無窮大,表示該路由項(xiàng)已經(jīng)失效,一般在這個(gè)時(shí)候都會(huì)同時(shí)啟動(dòng)抑制時(shí)間。比如上面圖示的X網(wǎng)絡(luò)出現(xiàn)故障,則C路由器到X網(wǎng)絡(luò)的路由表的度量值會(huì)被設(shè)置為最大,表示X網(wǎng)絡(luò)已經(jīng)不可達(dá),并啟動(dòng)抑制時(shí)間。如果在抑制時(shí)間結(jié)束前,C路由器在X網(wǎng)絡(luò)側(cè)接收到到達(dá)X網(wǎng)絡(luò)的路由,則更新路由項(xiàng),因?yàn)榇藭r(shí)的X網(wǎng)絡(luò)故障已經(jīng)排除,并且刪除抑制時(shí)間。如果有從別的路由器接收到到達(dá)X網(wǎng)絡(luò)的路由(上圖沒有),并且新的度量值比舊的好,則更新路由項(xiàng),刪除抑制時(shí)間,因?yàn)榇藭r(shí)可能有另一條不經(jīng)過C但可以到達(dá)X網(wǎng)絡(luò)側(cè)的路由器的路徑。但是如果度量值沒有以前的好,則不進(jìn)行更新。


6.觸發(fā)更新:
正常情況下,路由器會(huì)定期將路由表發(fā)送給鄰居路由器。而觸發(fā)更新就是立刻發(fā)送路由更新信息,以響應(yīng)某些變化。檢測(cè)到網(wǎng)絡(luò)故障的路由器會(huì)立即發(fā)送一個(gè)更新信息給鄰居路由器,并依次產(chǎn)生觸發(fā)更新通知它們的鄰居路由器,使整個(gè)網(wǎng)絡(luò)上的路由器在最短的時(shí)間內(nèi)收到更新信息,從而快速了解整個(gè)網(wǎng)絡(luò)的變化。但這樣也是有問題存在,有可能包含更新信息的數(shù)據(jù)包被某些網(wǎng)絡(luò)中的鏈路丟失或損壞,其它路由器沒能及時(shí)收到觸發(fā)更新,因此就產(chǎn)生了結(jié)合抑制的觸發(fā)更新,抑制規(guī)則要求一旦路由無效,在抑制時(shí)間內(nèi),到達(dá)同一目的地有同樣或更差度量值的路由將會(huì)被忽略,這樣觸發(fā)更新將有時(shí)間傳遍整個(gè)網(wǎng)絡(luò),從而避免了已經(jīng)損壞的路由重新插入到已經(jīng)收到觸發(fā)更新的鄰居中,也就解決了路由環(huán)路的問題。


回顧下上圖示路由環(huán)路的產(chǎn)生,C路由器接收到X網(wǎng)絡(luò)故障信息后,等待更新周期的到來后再通知B路由器,結(jié)果B的更新周期提早到來,結(jié)果掩蓋了X網(wǎng)絡(luò)的故障信息,從而形成環(huán)路。觸發(fā)更新的機(jī)制正是用來解決這個(gè)問題,在收到故障信息后,不等待更新周期的到來,立即發(fā)送路由更新信息。但是還是有個(gè)問題,如果在觸發(fā)更新剛要啟動(dòng)時(shí)卻收到了來自B的更新信息,就會(huì)進(jìn)行錯(cuò)誤的更新。可以將抑制時(shí)間和觸發(fā)更新相結(jié)合,當(dāng)收到故障信息后,立即啟動(dòng)抑制時(shí)間,在這段時(shí)間內(nèi),不會(huì)輕易接受路由更新信息,這個(gè)機(jī)制就可以確保觸發(fā)信息有足夠的時(shí)間在網(wǎng)絡(luò)中傳播。


小提示:
路由中毒:是指在路由信息在路由表中失效時(shí),先將度量值變?yōu)闊o窮大,而不是馬上從路由表中刪掉這條路由信息。(這句話要理解,如RIP協(xié)議中,其度量值變?yōu)?6,意味著路由不可達(dá))再將其信息發(fā)布出去,這樣相鄰的路由器就得知這條路由己無效了.....


毒性反轉(zhuǎn)與路由中毒概念是不一樣的,它是指收到路由中毒消息的路由器,不遵守水平分割原則將中毒消息轉(zhuǎn)發(fā)給所有的相鄰路由器,也包括發(fā)送中毒信息的源路由器,也就是通告相鄰路由器這條路由信息己失效了。。主要目的是達(dá)到快速收斂的目的。

轉(zhuǎn)載于:https://blog.51cto.com/sznet/178442

總結(jié)

以上是生活随笔為你收集整理的路由环路及解决办法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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