在局域網中,爲了實現冗餘,每每會有如圖所示的拓撲,在這種拓撲中,會產生環路,二層環路每每是因爲物理拓撲出現了環路,如3臺交換機三角形鏈接,二層環路的出現會產生兩個問題:廣播風暴和mac地址表震盪:算法
假設交換設備上沒有啓用stp協議,若是hostA發出廣播請求hostB的mac地址,那麼廣播報文將被兩臺交換設備的端口1接收,並分別從端口2廣播出去,而後端口2又收到另外一臺交換設備發過來的廣播報文,再分別從兩臺交換設備的端口1轉發,轉發的同時會進行復制,如此反覆,最終致使整個網絡資源被耗盡,網絡癱瘓不可用。後端
即便網絡中不出現廣播報文,從而消除廣播風暴的可能,可是單播報文依然是危險的。好比hostA發出一個單播報文給hostB,若是此時hostB臨時從網絡中移去,那麼交換設備的mac地址表中有關hostB的表項也會老化消失,此時hostA發給hostB的單播報文就會同時被交換設備的端口1和2接收到,端口1和端口2的的mac地址映射就會出現同一MAC地址對應兩個出接口的狀況,可是mac地址表不會容許這樣的狀況發生,因此就會更新mac地址表。因爲數據不停在端口1 和端口2 之間互相轉發,致使交換設備不停修改本身的mac地址表項,從而引發了mac地址表頻繁抖動,如此以往,最終致使mac地址表項被破壞。網絡
三層環路通常是物理拓撲有環路,而且設備之間的路由表造成了互指。
三層環路不容易產生,由於存在路由協議自身缺省的防環機制和ttl防環機制。只有靜態路由須要人工預防。
三層環路比較容易發生在特殊的場景下,好比雙點雙向路由發佈。ide
三層的IP頭部存在ttl字段,因此報文不會無休止轉發。ttl佔8bit,最大255,設備接收到報文會須要減1,減到0就會丟棄,而且向報文的源IP發送type爲1,code爲0的icmp錯誤消息。設計
依賴路由協議自身的防環機制。code
16跳限制
水平分割
毒性逆轉
觸發更新blog
區域內依靠spf算法
區域間依靠區域結構設計和ABR的水平分割原則接口
區域內依靠SPF算法
區域間依靠路由泄露的down位圖片
AS之間依靠AS號,AS內部只傳一跳,若是使用路由反射就依靠簇list和起源id,使用聯盟,就依靠聯盟的私有AS號。ip
依靠RPF檢查。