路由的迴圈問題
:路由迴圈的產生;路由迴圈的解決方法;
路由迴圈的產生:
路由迴圈的解決方法
水平分割(
split horizon
)——保證路由器記住每一條路由資訊的**,即它來自哪個埠,並且不在收到這條資訊的埠上再次傳送它。這是保證不產生路由迴圈的最基本措施(可以防止
a-bb-a
但是不能解決
a-b-c c-a);
路由毒化(
route poisoning
rip中,用度量值
16)。相鄰路由器通過接收這樣的更新訊息,顯示地被告知某項路由已經無效了;
毒性逆轉(
poison reverse
)接受路由毒化訊息的路由器並不遵從水平分割的原則,而是將這條訊息**給所有相鄰的路由器,包括傳送訊息的源路由器,以實現最快的收斂;
觸發更新(
trigger update
)當路由表發生變化時,更新報文立即廣播給相鄰的所有路由器,而不是等待重新整理計時器到期。同樣,當乙個路由器剛啟動
rip時,它廣播請求報文。收到此廣播的相鄰路由器立即應答乙個更新報文,而不必等到下乙個更新週期。這樣,網路拓撲的變化會最快地在網路上傳播開,減少了路偶迴圈產生的可能性;
抑制計時(
hold down timer
)路由表中的乙個路由項無效之後,一段時間內這條路由都處於抑制狀態,即在一定時間內不再接收關於同一目的網路的更遠路由更新。如果,路由器從乙個網段上得知一條路徑失效,然後,立即在另乙個網段上得知這個路由有效,這條有效的資訊往往是不正確的,是路由沒有及時更新的結果。抑制計時器避免了這個問題,而且,當一條鏈路頻繁起停時,抑制計時器減少了路由的浮動,增加了網路的穩定性;
計數到無窮
即便採用了上面
5種方法,路由迴圈的問題有時也不能完全解決,只是得到了最大程度的減少。一旦路由迴圈出現,路由項的度量值就會出現計數到無窮大(
count to infinity
)的情況。這是因為路由資訊被迴圈傳遞,每傳過乙個路由器,度量值就加
1,一直加到
16,路徑就成為不可達的了。
rip選擇
16作為不可達的度量值是很巧妙的,它既足夠大,保證了多數網路能夠正常執行,又足夠小,使得計數到無窮大所花費的時間最短。
迴圈中的資料報傳送
路由表中的確存在迴圈(路由錯誤或路由沒有收斂)
*ip資料報頭的
ttl欄位
django路由 關於路由最後斜槓的問題
路由檔案中配置如下 urlpatterns path demo views.demo1 啟動服務,這時候訪問位址 正常訪問 這時候訪問位址 會報錯404 因為這裡必須嚴格匹配,在路由中配置的結尾沒有 如果需要訪問該位址的話,結尾也不能帶有斜槓 路由檔案中配置如下 urlpatterns path d...
路由匯聚問題
例如 設有下面4條路由 172.18.129.0 24 172.18.130.0 24 172.18.132.0 24和172.18.133.0 24,如果進行路由匯聚,能覆蓋這4條路由的位址是 49 49 a.172.18.128.0 21 b.172.18.128.0 22 c.172.18.1...
vue router路由攔截造成死迴圈
筆記 vue router路由攔截造成死迴圈,在做路由攔截的時候,一直出現死迴圈.router的index.js檔案路由配置 const router new router children 一開始路由攔截是這樣寫的,但是這樣的結果就是,在token存在的時候,可以直接訪問login頁面,但是實際專...