計算機網路鏈路狀態路由協議無環路的理解?為什麼會沒有環路呢,驗證好像有環路的?

時間 2021-05-29 23:53:25

1樓:弈心

既然你問的是鏈路狀態路由協議,那我估計你很大概率使用的是OSPF路由協議。OSPF理論上來說是無環路的,但是在極端情況下(收斂時間過長時)會出現microloop(微環路)的情況(同樣適用於IS-IS)。

首先你問的這道題有兩種情況:乙個是路由器D本身出現故障,乙個是B到D的鏈路發生故障,分開來說。

路由器D本身故障

當D本身出現故障後(比如斷電了),意味著和它直連的B和C都會發現D不可達,怎麼發現的?OSPF的Hello機制或者BFD(如果你配置了BFD的話):這裡假設你沒用BFD,那麼當B和C連續4個hello週期內 (40秒)沒有收到D發來的hello,隨即觸發超時機制,B和C此時都將它們各自和D直連鏈路斷掉的訊息通過type 1的LSA洪氾出去給和它們處在同乙個區域的其他OSPF路由器(也就是A,B,C),然後經過SPF運算,最後更新各自路由表,完成OSPF的收斂。

因為OSPF是鏈路狀態協議,此時A,B,C都知道了D不可達,A的路由表裡已經沒有了D,所以也就不存在A先把去往D的包發給B的情況了,所以也就不會存在什麼環路的情況。

2. B到D的鏈路發生故障

當B發現它和D直連的鏈路斷掉後(超時機制觸發),此時網路拓撲已經發生了變化,OSPF會像上面說的一樣經過LSA洪氾,SPF運算,路由表更新等一系列步驟完成收斂。完成收斂後的A此時根本不會再把去往D的包發給B,而是直接發給C,也就不存在環路的情況。

第三種情況:

在OSPF完成收斂前,也就是B已經知道D不可達,但A還不知道,此時就會出現你描述的情況,A傳給B,B傳給A,A又傳給B,在OSPF完成收斂前形成了微環路,解決的辦法是優化OSPF,縮短收斂的時間,包括以下幾種方法:

使用BFD更快的發現鏈路斷掉的情況,不要依賴hello機制。調節LSA throtlling timer和LSA Pacing timer加快LSA的洪氾。調節SPF throttling timer加快SPF運算

快速收斂有利也有弊,這個是另外乙個話題,這裡就不展開講了。

2樓:哲楊

首先ip資料報有生存時間一般是15 所以最後是會被丟棄的不會無限迴圈下去第二根據1給出的應該是使用RIP內部閘道器協議所以每隔一段時間就會交換資訊所以A最終也會收到B 的D不可達資訊改變自身ABD的路徑為16 最後網際網路標準是考慮到各種情況出現的所以這種無限迴圈的狀態在IEEE的802.1D標準中制定了乙個生成樹協議STP 從邏輯上切斷這種迴圈路由間迴圈繞圈子的情況會存在但也可以並且已經解決

計算機網路該怎麼學?

安陽 首先先想想怎麼ping通網路,那麼每次開啟網頁之後,為什麼使用者從來都不用ping什麼內容,是不是因為中間有伺服器幫咱們做了這一步的內容。而伺服器用的是什麼樣的協議,不同的協議代表著什麼不同的伺服器處理?如果是網頁的話,是不是會有http和https 的區別,然後用WEB伺服器解析。而瀏覽器如...

計算機網路面試中常考什麼?

小麥1212 看了下,好像很多面試都喜歡問tcp,問題是你讓面試官系統的講一遍tcp估計也困難,所以也只能是拿一些最基礎的問題濾一下人了 連修明 我剛剛面試完,把我遇到的網路問題說一下。1.乙個伺服器,乙個客戶端。現在客戶端用write函式給伺服器發了乙個字串,write函式成功返回,請問現在伺服器...

計算機網路這門課怎麼自學?

王國英 從簡單基礎學過來首先學office三大辦公軟體,接著計算機組裝與維護,然後ps課程。基礎課學來,之後你想學哪個專業的軟體就簡單了。 我這學期計網基本上就是自學的,上課老師講的水平,一言難盡.對著 計算機網路 Andrew S Tanenbaum直接硬著頭皮讀下去就好了,挺痛苦的,但是我基本上...