理解並演示 Root Guard(根保護)

2021-09-05 06:57:52 字數 3850 閱讀 4566

理解並演示:root guard(根保護)

本文截自於博主ccnp交換技術稿件內容

root guard是一種強制的根保護措施,它的作用是防止意外(或者非法)加入的交換機成為網路中的根橋,如圖所示,原本交換環路中只存在s1、s2、s3時,正確的根橋應該是s1,因為它有最優勢的bid(一般而言是因為mac位址最小),如果此時在原本的交換環路中加入了一台更有優勢bid的網橋比如new_s,此時它可能具備更小的網橋優先順序,那麼這台新加入的交換機new_s就可能成為原交換環路中的新的根橋,出現這種情況時,由於生成樹的重計算(有時英文也在重配置),會直接導致原有的交換環路不穩定。比如圖左邊部分所示,在沒有加入new_s這台潛在的非法網橋時,s1為根橋,s1的e0/0和e0/1都是指定埠;而s2的e0/0是根埠,e0/2為指定埠;s3的e0/1是根埠,e0/2是阻塞埠,至於為什麼會是這樣,筆者在ccna部分的書稿有詳細說明。當new_s這台潛在的非法交換機加入到原始的交換環路時,如圖右邊部分,一切將發生改變,生成樹的穩定性將遭到破壞,此時new_s將成為新的根橋,因為它有更有優勢的bid,new_s的e0/3是指定埠;s2的e0/3將變成根埠,e0/0和e0/2會變成指定埠;s1的e0/0變為根埠,e0/1變為指定埠;而s3的e0/2將變為根埠,e0/1將變為阻塞埠,而bpdu報文的流向也如虛箭頭所繪會發生改變。

而root guard(根保護)的意義就是在s2的e0/3上強制它成為指定埠,就是當s2的e0/3介面收到比當前更有優勢的bpdu報文時(就是指的new_s發來的bpdu報文),s2會將該埠轉到一種叫root-inconsistent(不一致的根)狀態,並且在這種狀態下該埠會進入阻塞狀態,流量肯定也不會從該埠**,達到保護並強化了原環路中的根(s1)地位的目標,注意此時root-inconsistent的狀態相當於生成樹的監聽狀態,如果new_s這台潛在的非法根橋,不再傳送bpdu報文給s2的e0/3介面,那麼該介面將自動結束root-inconsistent(不一致的根)狀態,並取消對該埠的阻塞。

演示:啟動root guard(根保護)的配置及效果檢測

演示目標:

ü在沒有根保護時,加入非法交換機的情況

ü在啟動根保護時,加入非法交換機的情況

演示環境:如上圖所示的演示環境。

演示背景:首先讓交換機s1、s2、s3形成穩定的環路,並觀察它在這個原本穩定的環路中生成樹的選舉及計算情況,暫時不要讓new_s交換機接入到當前的交換環境,但是可以先將new_s交換機的bid配置到最小,一般通過調整new_s的生成樹優先順序來實現,這樣就可以模擬new_s為非法交換機,並希望自己成為整個交換網路的根,具體配置可以通過在new_s的全域性模式下執行spanning-treevlan 1 priority 28672來模擬乙個更有優勢的bid。然後再將new_s接入環路,並再次觀察生成樹的選舉及計算過程,明確並取證哪些不穩定的情況,最後再到s2的e0/3上部署root guard(根保護)功能,明確並取證根保護功能對非法接入交換機new_s的約束效果。

演示步驟:

第一步:首先構造s1、s2、s3之間的穩定環路,當生成樹的計算完成後,在交換機s3上可以通過show spanning-tree指令來檢視穩定環路中的根橋及相關埠狀態,如圖所示,不難看出當前的s3是認可s1為環路的根橋的,並且e0/2埠是被阻塞,關於這一點在前面的理論部分已經有詳細的描述。

第二步:現在將new_s接入到s2的e0/3從而進一步進入整個交換環路中,並觀察原始環路的生成樹引發重計算的不穩定因素,當完成非法交換機的接入後,首先在new_s上檢視自身的一些情況,如圖所示,可看出new_s把自己選成環路上新的根橋,因為它有更優勢的bid,並且它有e0/3埠為指定埠並處於**狀態中。

此時,不僅是new_s自己認同自己為環路中的新根橋,由於原始環路沒有根保護功能,所以此時的s1、s2、s3都會認同非法接入的交換機new_s為新的根橋,比如在s3上執行showspanning-tree如圖所示,可清晰的看到此時的s3出認可非法網橋new_s(aabb.cc00.0400)為新的根橋,並且以前的根埠(e0/1)現在變成了替代埠並處於阻塞狀態,而以前的阻塞埠(e0/2)變成了當前的根埠,並處於**狀態,這就已經改變了原始生成樹的拓撲構成,破壞了穩定性。

注意:現在將非法交換機new_s暫時從網路中取下,讓環路恢復成只有s1、s2、s3的原始狀態,確保s1是根橋,s3的e0/2再次被阻塞。為下一步檢測root guard(根保護)的效果作好準備。

第三步:現在到交換機s2的e0/3介面(連線非法交換機new_s的介面)啟動根保護功能,具體配置如下所示,然後可以通過在s2上執行showruning-config inte***ce e0/3來檢視當前e0/3介面上的根保護功能是否被開啟,如圖所示,明確根保護已經被成功開啟。

啟動根保護功能:

s2(config)#inte***cee0/3

s2(config-if)#spanning-treeguard root   * 啟動生成樹的根保護

%spantree-2-rootguard_config_change:root guard enabled on port ethernet0/3. *

系統提示該介面根保護被啟動

然後在完成上述的配置後,現在再次將非法交換機new_s連線到s2上的e0/3埠,因為new_s具備更優勢的bid,如果s2的e0/3接收到這個更有優勢的bpdu報文,將觸發根保護功能,此時會發現,系統立即報告,根保護功能阻塞了s2的e0/3介面,具體顯示如下:

關於根保護阻塞s2的e0/3

%spantree-2-rootguard_block: rootguard blocking port ethernet0/3 on vlan0001.

然後使用者可以在s2上通過showspanning-tree inconsistentports,來檢視生成樹的不一致狀態,如圖所示,明顯看出s2的e0/3介面被轉為不一致的根狀態,此時該埠將處於阻塞狀態,這個時候使用者可以回到原始環路中的交換機s3上,執行showspanning-tree再次檢視生成樹的狀態,如圖所示,很明顯s1的根地位被強化,s3仍然認同s1為根,相應的埠狀態也保持原始環路的計算結果。

理解並演示 Root Guard(根保護)

理解並演示 root guard 根保護 本文截自於博主ccnp交換技術稿件內容 root guard是一種強制的根保護措施,它的作用是防止意外 或者非法 加入的交換機成為網路中的根橋,如圖所示,原本交換環路中只存在s1 s2 s3時,正確的根橋應該是s1,因為它有最優勢的bid 一般而言是因為ma...

對大根堆的理解

首先 將陣列看成樹,由於大根堆輸出的元素是由小到大的,每次調整堆,都將根元素 即最大的元素 移到葉節點處 我的理解是,大根堆只是剛開始根的最大的,一次遞迴將最大元素放到葉節點之後,根元素是最小元素,輸出類似按樹的每一層輸出 eg 結果如下所示 初始 初建堆 大根堆 結果 例如 最大的元素與最後乙個葉...

通過簡單的演示理解TCP IP網路

2.5dns伺服器 2.6 ip位址和mac位址的對應關係 首先需要明白一些概念 幾乎所有網絡卡都會在上市前被分配乙個不可變更的mac位址。csma cd機制 在lan中的每台計算機傳輸之前都要確認網線上其他的計算機有沒有正在傳輸電訊號,也就是說確保沒有人占用網路,然後才能傳送自己想傳輸的電訊號。如...