導航:首頁 > 網路問題 > 網路樹協議如何配置

網路樹協議如何配置

發布時間:2023-06-04 04:11:30

① STP生成樹協議

為了提高網路可靠性,交換機網路中通常會使用冗餘鏈路,冗餘鏈路會給交換機帶來環路風險,並導致 廣播風暴 以及 MAC地址表不穩定 等問題,生成樹協議STP(Spanning Tree Protocol)可以在提高可靠性的同時又避免環路帶來的各種問題。

根據交換機的轉發原則, 如果交換機從一個埠上接收到的是一個廣播幀, 或者是一個目的MAC地址未知的單播幀,則會將這個幀向除源埠之外的所有其他埠轉發。如果交換網路中有環路,則這個幀會被無限轉發,此時便會形成廣播風暴,網路中也會充斥著重復的數據幀。

STP的主要作用: 利用生成樹演算法、在乙太網絡中,創建一個以某台交換機的某個埠為根的生成樹,自動地在邏輯上阻塞一個或多個冗餘埠,避免環路。

STP的基本工作原理為:通過 BPDU (Bridge Protocol Data Unit,橋接協議數據單元)的交互來傳遞STP計算所需要的條件,隨後根據特定的演算法,阻塞特定埠,從而得到無環的樹形拓撲。

為了計算生成樹, 交換機之間需要交換相關的信息和參數, 這些信息和參數被封裝在BPDU(Bridge Protocol Data Unit) 中。
BPDU有兩種類型:配置BPDU和TCN BPDU(拓撲變更BPDU)。

STP中根橋的選舉依據的是橋ID, STP中的每個交換機都會有一個橋ID(Bridge ID) 。 橋ID由16位的橋優先順序(Bridge Priority) 和48位的MAC地址構成。 在STP網路中, 橋優先順序是可以配置的, 取值范圍是0~65535, 默認值為32768。 優先順序最高的設備(數值越小越優先) 會被選舉為根橋。 如果優先順序相同, 則會比較MAC地址, MAC地址越小則越優先 。

非根交換機在選舉根埠時分別依據該埠的 根路徑開銷、 對端BID(Bridge ID) 、 對端PID(Port ID) 和本端PID。

交換機的每個埠都有一個 埠開銷 (Port Cost) 參數, 此參數表示該埠在STP中的開銷值。 默認情況下埠的開銷和埠的帶寬有關,帶寬越高,開銷越小。從一個非根橋到達根橋的路徑可能有多條,每一條路徑都有一個總的開銷值,此開銷值是該路徑上所有接收BPDU埠的埠開銷總和(即BPDU的入方向埠),稱為路徑開銷。非根橋通過對比多條路徑的路徑開銷,選出到達根橋的最短路徑,這條最短路徑的路徑開銷被稱為 RPC (Root Path Cost, 根路徑開銷),並生成無環樹狀網路。 根橋的根路徑開銷是0。

如果有兩個或兩個以上的埠計算得到的累計路徑開銷相同,那麼選擇收到發送者BID最小的那個埠作為根埠。

運行STP交換機的每個埠都有一個埠ID,埠ID由埠優先順序和埠號構成。埠優先順序取值范圍是0到240,步長為16,即取值必須為16的整數倍。預設情況下,埠優先順序是128。埠ID(Port ID)可以用來確定埠角色,值小者優先。

在網段上抑制其他埠(無論是自己的還是其他設備的)發送BPDU報文的埠,就是該網段的指定埠。

根橋的每個埠總是指定埠。

根埠相對應的埠(即與根埠直連的埠)皆為指定埠。

指定埠的選舉也是首先比較累計路徑開銷,累計路徑開銷最小的埠就是指定埠。如果累計路徑開銷相同,則比較埠所在交換機的橋ID,所在橋ID最小的埠被選舉為指定埠。如果通過累計路徑開銷和所在橋ID選舉不出來,則比較埠ID,埠ID最小的被選舉為指定埠。(同根埠選舉)

網路收斂後,只有指定埠和根埠可以轉發數據。其他埠為預備埠,被阻塞,不能轉發數據,只能夠從所連網段的指定交換機接收到BPDU報文,並以此來監視鏈路的狀態。

1、 Forwarding:轉發狀態。 埠既可轉發用戶流量也可轉發BPDU報文, 只有根埠或指定埠才能進入Forwarding狀態。

2、 Learning:學習狀態。 埠可根據收到的用戶流量構建MAC地址表,但不轉發用戶流量。 增加Learning狀態是為了防止臨時環路。

3、 Listening:偵聽狀態。 埠可以轉發BPDU報文, 但不能轉發用戶流量。

4、 Blocking:阻塞狀態。 埠僅僅能接收並處理BPDU, 不能轉發BPDU, 也不能轉發用戶流量。 此狀態是預備埠的最終狀態。

5、 Disabled:禁用狀態。 埠既不處理和轉發BPDU報文, 也不轉發用戶流量。

在穩定的STP拓撲里, 非根橋會定期收到來自根橋的BPDU報文。如果根橋發生了故障,停止發送BPDU報文,下游交換機就無法收到來自根橋的BPDU報文。如果下游交換機一直收不到BPDU報文,Max Age定時器就會超時(Max Age的默認值為20秒),從而導致已經收到的BPDU報文失效,此時,非根交換機會互相發送配置BPDU報文,重新選舉新的根橋。根橋故障會導致50秒左右的恢復時間,恢復時間約等於Max Age加上兩倍的Forward Delay收斂時間。

1、SWA和SWB使用了兩條鏈路互連,其中一條是主用鏈路,另外一條是備份鏈路。生成樹正常收斂之後,如果SWB檢測到根埠的鏈路發生物理故障,則其Alternate埠會遷移到Listening、Learning、Forwarding狀態,經過兩倍的Forward Delay後恢復到轉發狀態。

2、SWB經過集線器與SWA通過兩條鏈路互連,當主用鏈路故障時,SWB尚未檢測到信號丟失,因此保持原狀態不變,但是,根埠已經無法收到來至根橋的BPDU報文,經過T=Max_Age-Message_Age 時間後,原BPDU報文過期,SWB的Alternate埠會遷移到Listening、Learning、Forwarding狀態, 經過兩倍的Forward Delay後恢復到轉發狀態。因此,鏈路經過2xForward_Time + (Max_Age-Message_Age)時間後恢復。

SWB與SWA之間的鏈路發生了某種故障(非物理層故障),SWB因此一直收不到來自SWA的BPDU報文。 等待Max Age定時器超時後,SWB會認為根橋SWA不再有效,並認為自己是根橋,於是開始發送自己的BPDU報文給SWC,通知SWC自己作為新的根橋。在此期間,由於SWC的Alternate埠再也不能收到包含原根橋ID的BPDU報文。其Max Age定時器超時後,SWC會切換Alternate埠為指定埠並且轉發來自其根埠的BPDU報文給SWB。所以,Max Age定時器超時後,SWB、SWC幾乎同時會收到對方發來的BPDU。 經過STP重新計算後,SWB放棄宣稱自己是根橋並重新確定埠角色。非直連鏈路故障後,由於需要等待Max Age加上兩倍的Forward Delay時間,埠需要大約50秒才能恢復到轉發狀態。

實驗拓撲如上圖所示,PCA的IP地址為2.2.2.1/24,PCB的IP地址配置為2.2.2.2/24。

由於網路中存在環路,此時可以看到交換機的所有互聯埠以及連接主機的埠的指示燈均快速閃動,表示形成了廣播風暴。此時PCA 無法ping通PCB。

在SW1上通過命令stp mode配置生成樹協議的模式為RSTP,通過命令stp enable在交換機上使能生成樹協議。

SW2、SW3、SW4的配置和SW1相同。啟用生成樹協議後可以看到交換機各埠指示燈停止快速閃動,網路恢復正常。此時PCA可以ping通PCB。

通過命令display stp brief可以查看交換機各埠的STP狀態以及埠角色:

由上可以看出各交換機的根埠為連接SW3的埠,SW3不存在根埠,說明SW3即為網路中的根橋。

2中已知SW3為現根橋,我們可以通過以下命令指定根橋:

該配置將SW1設置為根橋,將SW2設置為備份根橋,我們也可以通過更改橋優先順序控制根橋的選舉,將SW3的優先順序修改為8192,SW2的優先順序修改為4096。

查看STP信息:

可以看到,SW2已成為新的根橋。

步驟3後,SW3的GigabitEthernet0/0/3埠為根埠,與根橋SW2互聯,埠優先順序默認為128,數值越大優先順序越小。

將SW2的埠GigabitEthernet0/0/3埠優先順序設置為32,GigabitEthernet0/0/6埠優先順序設置為16:

注意:此處是修改SW2的埠優先順序,而不是修改SW3的埠優先順序。

在SW3上查看埠角色:

SW3的GigabitEthernet0/0/6埠成為了根埠。

SW4的GigabitEthernet0/0/3為替代埠,SW1的GigabitEthernet0/0/3為指定埠,修改SW1埠GigabitEthernet0/0/2路徑開銷為2000000。

查看當前埠角色信息。

STP能夠提供無環網路,但是收斂速度較慢。如果STP網路的拓撲結構頻繁變化,網路也會隨之頻繁失去連通性,從而導致用戶通信頻繁中斷。快速生成樹協議RSTP使用了Proposal/Agreement機制保證鏈路及時協商,從而有效避免收斂計時器在生成樹收斂前超時。

RSTP的埠角色共有4種: 根埠、指定埠、Alternate埠和Backup埠。

Alternate埠:由於學習到其它網橋發送的更優配置BPDU報文而阻塞的埠;作為根埠的備份埠。

Backup埠:由於學習到自己發送的更優配置BPDU報文而阻塞的埠;作為指定埠的備份埠。

Discarding狀態 , 埠既不轉發用戶流量也不學習MAC地址。

Learning狀態 , 埠不轉發用戶流量但是學習MAC地址。

Forwarding狀態 , 埠既轉發用戶流量又學習MAC地址。

RSTP收斂遵循STP基本原理。網路初始化時,網路中所有的RSTP交換機都認為自己時「根橋」,並設置每個埠為指定埠,此時,埠為Discarding狀態。

每個認為自己是「根橋」 的交換機生成一個RST BPDU報文來協商指定網段的埠狀態,此RST BPDU報文的Flags欄位裡面的Proposal位需要置位。當一個埠收到RST BPDU報文時,此埠會比較收到的RST BPDU報文和本地的RST BPDU報文。如果本地的RST BPDU報文優於接收的RST BPDU報文,則埠會丟棄接收的RST BPDU報文,並發送Proposal置位的本地RST BPDU報文來回復對端設備。

當確認下游指定埠遷移到Discarding狀態後,設備發送RST BPDU報文回復上游交換機發送的Proposal消息。在此過程中,埠已經確認為根埠,因此RST BPDU報文Flags欄位裡面設置了Agreement標記位和根埠角色。

在P/A進程的最後階段,上游交換機收到Agreement置位的RST BPDU報文後,指定埠立即從Discarding狀態遷移為Forwarding狀態,然後,下游網段開始使用同樣的P/A進程協商埠角色。

首先,RSTP將網路拓撲的變化定義為埠角色的變化,因為網路拓撲的變化可以描述為某些網路埠在轉發/阻塞態之間的轉換,而RSTP將埠角色和埠狀態進行了明確的定義(這是RSTP比STP優勝的地方)。

其次,RSTP埠角色的變化直接影響埠狀態的變化。R-Port、D-Port、Edge Port處於Forwarding狀態;Alternated Port(以下簡稱A-Port)和Backup Port處於Discarding狀態。

若某條鏈路失效,即鏈路兩端的埠從轉發態變為阻塞態。從生成樹協議的目的來看,並不會使得網路形成環路。RSTP僅需要找到處於合適的阻塞態埠,並將其轉為轉發態,使拓撲重新連通起來。由於RSTP在計算時已經分配好R-Port的備份埠A-Port,因此若從轉發態變為阻塞態的是R-Port,則把對應的A-Port改為轉發態;同理,D-Port的則色也可置相應的Backup Port為轉發來實現。而Edge Port並不影響生成樹的計算,故忽略。這樣,當某個(些)埠狀態從轉發到阻塞,對於RSTP而言,無需重新計算(是不是有點熟悉,好像哪兒見過不用計算直接使用備用路徑的演算法。聰明的你一定想到了:DUAL)。

由於某條鏈路的連通有可能導致生成樹域成環。在RSTP里,該行為定義為D-Port從阻塞態轉化為轉發態,相對的檢查機制應的就是P/A機制,即從需要進入轉發態的D-Port,建議對端進行同步,待收到確認後進入轉發態。

對端Bridge在接收到「建議」消息後,一方面阻塞自身所有D-Port,並返回「同意」消息給「建議」消息發送方;另一方面,對自身埠進行同步。同步分兩種類型:若埠為E-Port,或者原來就是非轉發態,則為「已同步」;若埠原來為轉發態,為重新進入轉發態,將對對端進行「建議」並等待確認。

下面將結合圖例,演示P/A機制的流程:

1、B、E之間建立一條新鏈路,首先進行埠角色選擇;

2、B、E通過該鏈路交換BPDU,由於B埠發送的BPDU較優(superior),因此B埠角色為D-Port;與此同時,E從B收到的BPDU比從C收到的較優,因此E把連接B的埠轉換為Root Port,同時,連接C的埠轉換為A-Port。要注意的是,RSTP相對STP進行了根埠轉發的改進,一旦確定了舊的R-Port非轉發態,且新的R-Port已確定,則新的R-Port立即進入轉發態;

3、此刻B埠仍為Discarding狀態,並期望進入Forwarding狀態,因此它將從該D-Port發送「Proposal「置位的配置BPDU給E;E接收到該BPDU後,進入同步狀態:即將所有轉發態埠轉為丟棄,並檢查埠同步情況;

4、從同步原理可知,E中只有連接D的埠為轉發態,因此E繼續阻塞該埠,並向B返回」同意「置位的BPDU。自此,B-E鏈路進入已完成同步,立即進行流量轉發;而由於D連接E的埠為A-Port,不轉發BPDU,因此E發出的」Proposal「置位BPDU將不會被」Agreement「置位的BPDU回應。該埠將一直保持阻塞態。

實驗拓撲如上圖所示,交換機各埠均屬於VLAN1,PCA的IP地址為2.2.2.1/24,PCB的IP地址配置為2.2.2.2/24。

測試SW2和SW3的連通性:

查看SW2的埠角色

SW2的GigabitEthernet0/0/3為根埠,用ping測試S1到S2的連通性20次。

提示:SW2執行ping操作之後立刻關閉SW3的GigabitEthernet0/0/3介面。

查看SW2的埠角色

SW2的GigabitEthernet0/0/6 成為根埠,埠進入FORWARDING狀態,1個包超時。

在SW1上通過命令stp mode配置生成樹協議的模式為RSTP,通過命令stp enable在交換機上使能生成樹協議。

SW2、SW3、SW4的配置和SW1相同。

配置SW2為STP生成樹,其他配置保持不變。

查看SW2埠角色信息

SW2的GigabitEthernet0/0/3為根埠,用ping測試S1到S2的連通性30次。

提示:SW2執行ping操作之後立刻關閉SW3的GigabitEthernet0/0/3介面。

查看SW2埠信息

SW2的GigabitEthernet0/0/6 成為根埠,埠進入FORWARDING狀態,16個包超時。

RSTP兼容STP,但收斂方式以STP模式運行。

不管是STP還是RSTP,在網路中進行生成樹計算的時候都沒有考慮到VLAN的情況。它們都是對單一生成樹實例進行應用的。也就是說,在STP和RSTP中所有的VLAN都共享相同的生成樹。

為了解決這一個問題,思科提出了第二代生成樹 - PVST、PVST+。按照PVST協議規定,每一個VLAN都有一個生成樹,而且是每隔2秒就會發送一個BPDU,這對於一個有著上千萬個VLAN網路來說,一方面這么多生成樹維護起來比較困難,另一方面,為每個VLAN每隔2秒就發送一個BPDU,交換機也是難以承受的。

為了解決PVST帶來的困難,思科又提出了第三代生成樹 - MST(MSTP)多生成樹協議。MSTP可以對網路中眾多的VLAN進行分組,把VLAN分到組里。這里的組就是後面講的MST實例(Instance)。每個實例一個生成樹,BPDU只對實例進行發送。這樣就達到了負載均衡。

多生成樹協議MSTP(Multiple Spanning Tree Protocol)是IEEE 802.1s中定義的一種新型生成樹協議。簡單說來,STP/RSTP是基於埠的,PVST+是基於VLAN的,而MSTP是基於實例的。與STP/RSTP和PVST+相比,MSTP中引入了「實例」(Instance)和「域」(Region) 「的概念。

所謂「實例」就是多個VLAN的一個集合,這種通過多個VLAN捆綁到一個實例中去的方法可以節省通信開銷和資源佔用率。MSTP各個實例拓撲的計算是獨立的,在這些實例上就可以實現負載均衡。使用的時候,可以把多個相同拓撲結構的VLAN映射到某一個實例中,這些VLAN在埠上的轉發狀態將取決於對應實例在MSTP里的轉發狀態。

所謂「域」,即MST域(MST Region),由域名(Configuration Name)、修訂級別(Revision Level)、格式選擇器(Configuration Identifier Format Selector)、VLAN與實例的映射關系(mapping of VIDs to spanning trees),其中域名、格式選擇器和修訂級別在BPDU報文中都有相關欄位,而VLAN與實例的映射關系在BPDU報文中表現摘要信息(Configuration Digest),該摘要是根據映射關系計算得到的一個16位元組簽名。只有上述四者都一樣且相互連接的交換機才認為在同一個域內。如上圖所示,每個域內所有交換機都有相同的MST域配置(具有相同的域名;具有相同的VLAN到生成樹實例映射配置;具有相同的MSTP修訂級別配置)。預設時,域名就是交換機的橋MAC地址,修訂級別等於0,格式選擇器等於0,所有的VLAN都映射到實例0上。

MSTP的實例0具有特殊的作用,稱為CIST(Common Internal Spanning Tree),即公共與內部生成樹,其他的實例稱為MSTI(Multiple Spanning Tree Instance),即多生成樹實例。CIST由通過STP/RSTP計算得到的單生成樹和MSTP計算得到的域組成,是為了保證在所有橋接的區域網是簡單的和全連接的。CST(Common Spanning Tree)是STP/RSTP也是MSTP計算出的用於連接MST域的單生成樹。IST(Internal Spanning Tree)是在一個給定的MST域內由CIST提供的連通性。如上圖所示,如果把每個MST域看作是一個「交換機」,CST就是這些「交換機」通過STP/RSTP或者MSTP協議計算生成的一棵生成樹。IST是CIST在MST域內的片段,是一個特殊的多生成樹實例。

與STP和RSTP相比,MSTP中引入了總根和域根的概念。總根是一個全局概念,對於所有互連的運行STP/RSTP/MSTP的交換機只能有一個總根,也即是CIST的根;而域根是一個局部概念,是相對於某個域的某個實例而言的。上圖所示,所有相連的設備,總根只有一個,而每個域所包含的域根數目與實例個數相關。

與STP和RSTP相比,MSTP中引入了外部路徑開銷和內部路徑開銷的概念。外部路徑開銷是相對於CIST而言的,同一個域內外部路徑開銷是相同的;內部路徑開銷是域內相對於某個實例而言的,同一埠對於不同實例對應不同的內部路徑開銷。

與STP和RSTP相比,MSTP中引入了域邊緣埠和Master埠的概念。域邊緣埠是連接不同MST域、MST域和運行STP的區域、MST域和運行RSTP的區域的埠,位於MST域的邊緣;在某個不包含總根的域中,Master埠是所有邊界埠中,到達總根具有最小開銷的埠,也就是連接MST域到總根的埠,位於整個域到總根的最短路徑上;Alternate埠是Master埠的備份埠,如果Master埠被阻塞後,Alternate埠將成為新的Master埠。

MSTP協議在計算生成樹時使用的演算法和原理與STP/RSTP大同小異,只是因為在MSTP中引入了域和內部路徑開銷等參數,故MSTP中的優先順序向量是7維,而STP/RSTP是5維。

STP/RSTP中的優先順序向量是:

{根橋標識符,根路徑開銷,橋標識符, 發送BPDU報文埠標識符, 接收BPDU報文埠標識符}

MSTP中的優先順序向量是:

{CIST根橋標識符,CIST外部根路徑開銷,CIST域根標識符,CIST內部根路徑開銷,CIST指定橋標識符,CIST指定埠標識符,CIST接收埠標識符}

其中STP/RSTP中的橋標識符實際上是發送BPDU的設備的標識符,與MSTP中的CIST指定橋標識符對應。MSTP中的CIST域根標識符有兩種情況,一種是總根所在域內,BPDU報文中該欄位是參考總根的標識符,另一種情況是不包含總根的域中,BPDU報文該欄位是參考主設備的標識符。運行MSTP的實體初始化時認為自己是總根、域根,通過交互配置消息,按照上面介紹的7維向量計算CIST生成樹和MSTI。

網路中的設備發送接受BPDU報文,在經過比較配置消息後,在整個網路中選擇一個優先順序最高的交換機作為CIST的樹根。在每個MST域內MSTP通過計算生成IST;同時MSTP將每個MST域作為單台交換機對待,通過計算在MST域間生成CST。如前所述,CST和IST構成了整個交換機網路的CIST。

在MST域內,MSTP根據VLAN和生成樹實例的映射關系,針對不同的VLAN生成不同的生成樹實例。每棵生成樹獨立進行計算,計算過程與STP/RSTP計算生成樹的過程類似。

MSTI的特點:

MSTP拓撲變化處理與RSTP拓撲變化處理過程類似。

在RSTP中檢測拓撲是否發生變化只有一個標准:一個非邊緣埠遷移到Forwarding狀態。

如此,網路中就會產生RST BPDU的泛洪。

定義VLAN1-10屬於INSTANCE 1,VLAN11-20屬於INSTANCE 2。

配置SW2在實例1中的優先順序為4096, 在實例2中的優先順序為8192。

配置SW3在實例2中的優先順序為4096,在實例1中的優先順序為8192。

查看實例1和實例2的狀態

SW2為實例1的根橋,SW3為實例2的根橋。

查看MSTP實例1的埠角色

實例1中SW2為根網橋,SW1的VLAN 1到VLAN10的用戶經過GigabitEthernet0/0/1 介面和SW2、 SW3、 SW4的VLAN 1到VLAN10的用戶通訊。

閱讀全文

與網路樹協議如何配置相關的資料

熱點內容
網路共享中心沒有網卡 瀏覽:491
電腦無法檢測到網路代理 瀏覽:1348
筆記本電腦一天會用多少流量 瀏覽:473
蘋果電腦整機轉移新機 瀏覽:1347
突然無法連接工作網路 瀏覽:959
聯通網路怎麼設置才好 瀏覽:1189
小區網路電腦怎麼連接路由器 瀏覽:931
p1108列印機網路共享 瀏覽:1185
怎麼調節台式電腦護眼 瀏覽:601
深圳天虹蘋果電腦 瀏覽:839
網路總是異常斷開 瀏覽:582
中級配置台式電腦 瀏覽:893
中國網路安全的戰士 瀏覽:602
同志網站在哪裡 瀏覽:1378
版觀看完整完結免費手機在線 瀏覽:1430
怎樣切換默認數據網路設置 瀏覽:1078
肯德基無線網無法訪問網路 瀏覽:1252
光纖貓怎麼連接不上網路 瀏覽:1375
神武3手游網路連接 瀏覽:936
局網列印機網路共享 瀏覽:973