1. 程式人生 > >生成樹協議配置與管理STP——2

生成樹協議配置與管理STP——2

RSTPSTP的改進

繼IEEE802.1D定義了STP標準後,IEEE又推出了802.1w作為802.1D的補充,並定義了RSTP標準。在新版本的802.1D(2004)中已經接納了RSTP標準。

RSTP協議刪除了3種區分不明顯的3種埠狀態,另外新增了兩種埠角色,並且解除了埠屬性中埠狀態和埠角色的關聯,使得可以更加精確地描述埠,從而使得初學者更容易學習協議,加快拓撲收斂。

一、新增三種埠角色

RSTP的埠角色共5種:根埠、指定埠、Alternate(替代)埠、Backup(備份)埠和Edge(邊緣)。前4中埠角色如下圖所示。


當“根埠”或“指定埠”失效時,“替代埠”或“備份埠”就會無延時的進入轉發狀態,提高了收斂效率。Edge埠是管理員根據實際需要配置的一種指定埠,用以連線PC或不需要執行STP的下游交換機。管理員需要保證該埠下游不存在環路,Edge埠能夠直接進入Forwarding狀態。

在RSTP中,“根埠”和“指定埠”的作用與STP協議中對應的埠角色一樣,而Alternate埠和Backup埠從配置BPDU報文傳送角度來看:Alternate埠就是由於學習到其他橋傳送的配置BPDU報文而阻塞的埠,Backup埠就是由於學習到自己傳送的配置BPDU報文而阻塞的埠。從使用者流量角度來看:Alternate埠提供了從指定橋到根橋的另一條可切換路徑,作為根埠的備份埠;而Backup埠是作為指定埠的備份,提供另一條從根橋到相應網段的備份通路。

給一個RSTP域內所有埠分配角色的過程就是整個拓撲收斂的過程,遠比STP協議中要同時顧及埠角色及埠狀態的效率高。、

二、重新劃分埠狀態

在埠狀態上,RSTP也對STP做了比較大的改進,把STP的5種狀態縮減為3種。並且是根據埠是否轉發使用者流量和學習MAC地址來進行劃分的,具體如下:

(1)如果不轉發使用者流量也不學習MAC地址,那麼埠狀態就是Discarding(丟棄)狀態。

(2)如果不轉發使用者流量但是學習MAC地址,那麼埠狀態就是Learning(學習)狀態。

(3)如果既轉發使用者流量又學習MAC地址,那麼埠狀態就是Forwarding(轉發)狀態。


從上表可見,RSTP中的埠狀態和埠角色是沒有必然關聯的。RSTP只有3種埠狀態:Discarding(丟棄)、Learning(學習)和Forwarding(轉發),它把STP中的Blocking(阻塞)、Listening(監聽)和Disabled(禁用)三種狀態統一用一種狀態——Discarding(丟棄)替代。好處就是一個埠從初始狀態轉變為轉發狀態只需要一個轉發延時週期時間,也就是從學習狀態到轉發狀態所需等待的時間。在活躍拓撲中,只有“學習”和“轉發”這兩種狀態的埠。

三、BPDU的改變

RSTP協議與STP協議一樣也是使用BPDU訊息格式進行各橋間的拓撲資訊互動,但它只有配置BPDU,沒有TCN BPDU,且RSTP的配置BPDU稱為RST BPDU。RSTP在BPDU方面的改變主要體現在BPDU格式,在發生拓撲改變時BPDU的使用,以及對BPDU的處理3個方面。

1、BPDU格式上的改變

在BPDU格式上,RSTP的RST BPDU與STP的配置BPDU沒做什麼重大修改,只是對STP配置BPDU中的Flag(標誌)欄位進行了填充,使從RST BPDU中就可以看出對應埠的埠角色,另外就是在BPDU型別值上做了改變,具體表現在以下兩個欄位。

(1)Type欄位:RST BPDU型別不再是0,而是2,所以執行STP的裝置收到RSTP的RST BPDU時會丟棄。

(2)Flag欄位:在RST BPDU中使用了在STP配置BPDU中該欄位保留的中間6位(最高位仍為TCA,最低位仍為TC),如圖8-17所示。


中間6位的作用如下:

①Agreement:確認標誌位,位於Bit6,當該位置1時,表示該BPDU報文為快速收斂機制中的Agreement報文,是對所收到的ProposalBPDU(此時Bit1位置1)的提議進行確認。RSTP中定義了Proposal/Agreement機制(提議/確認機制,即P/A機制),可使指定埠通過與對端埠進行一次握手即可快速進入轉發狀態,其中不需要任何定時器。

②Forwarding:轉發狀態標誌位,位於Bit5,當該位置1後表示傳送該BPDU報文的埠處於Forwarding狀態。

③Learning:學習狀態標誌位,位於Bit4,,當該位置1後表示傳送該BPDU報文的埠處於Learning狀態。

④Port role:埠角色標誌位,位於Bit3和Bit2共兩位,取值為00時表示傳送該BPDU的埠的角色未知,為01時表示該埠為Alternate埠或Backup埠,為10時表示該埠為根埠,為11時表示該埠為指定埠。

⑤Proposal:提議標誌位,位於Bit1,,當該位置1時表示該BPDU報文為快速收斂機制中的Proposal報文。對端在收到該報文後,如果同意,則需要傳送Bit6位置1的確認報文。

RSTP的Flags欄位增加了埠屬性和狀態,其中Bit1和Bit6兩個欄位用於點到點鏈路埠快速收斂中的訊息報文。常見的幾種Flags需要記住:2c,即00101100,表示傳送BPDU的埠狀態為轉發狀態,埠角色為指定埠;0e,即00001110,表示是由指定埠傳送的提議BPDU報文;6c,即01101100,表示是由處於轉發狀態的指定埠傳送的確認BPDU報文;2d,即00101101,表示是由處於轉發狀態的指定埠傳送的拓撲更改BPDU報文。

執行STP的裝置會丟棄收到的RSTBPDU,目前RSTP交換機都提供STP相容模式,執行在STP相容模式的埠會發送和接收配置BPDU,表現的特性也和STP類似。除了配置BPDU外,RSTP同樣有TCN BPDU,型別值也為0x80。

2、拓撲變化時BPDU的使用變化

在STP協議中只要有埠變為Forwarding狀態,或從Forwarding狀態轉變到Blocking狀態均會觸發拓撲改變處理過程。在發生拓撲變化時,下游裝置會不間斷的向上遊裝置傳送TCN BPDU報文。上游裝置在收到下游裝置發來的TCN BPDU報文後,使用Flags欄位中TCA標誌位置1的配置BPDU報文傳送給對應的下游裝置,告知下游裝置停止傳送TCN BPDU報文。與此同時,上游裝置複製一份TCN BPDU報文,向根橋方向傳送。當根橋方向傳送。當根橋收到TCN BPDU報文後,根橋又使用Flags欄位中TC標誌位置1的配置BPDU報文向對應的下游裝置回送,通知它們直接刪除發生故障的埠的MAC地址表項。整個過程同時使用了TCN BPDU和配置BPDU。

在RSTP協議中檢測拓撲是否發生變化只有一個標準:一個非邊緣埠遷移到Forwarding狀態。一旦檢測到拓撲發生變化,將進行如下處理。

(1)為本裝置上的所有非邊緣指定埠啟動一個TC While定時器,該定時器值是Hello定時器的兩倍。在這個時間內,清空狀態發生變化的埠上學習到的MAC地址。同時,由這些埠向外傳送TC位置1的RST BPDU。一旦TC While定時器超時,則停止傳送RST BPDU。

(2)其他交換裝置接收到TC位置1的RST BPDU後,清空所有埠學習到的MAC地址,除了收到該RSTBPDU報文的埠。然後也為自己所有的非邊緣指定埠和根埠啟動TC While定時器,重複上述過程。

如此,網路中就會產生RST BPDU的泛洪。在RSTP協議中不再使用TCNBPDU,而是傳送TC位置1的RST BPDU,並通過泛洪的方式快速通知整個網路。不需要依次向上傳送TCN BPDU至根橋,當其他橋收到TC位置1的RST BPDU之後,也不再需要等待由根橋向下傳送的TC位置1的RST BPDU,直接清除埠學習到的MAC地址,重新學習,實現網路的快速收斂。

3、配置BPDU處理上的變化

RSTP在配置BPDU處理上的變化體現:

(1)拓撲穩定後,配置BPDU報文的傳送方式。在STP協議中,當拓撲穩定後,只能由根橋按照Hello定時器規定的時間間隔定期傳送配置BPDU,其他非根橋裝置只能在收到上游裝置傳送過來的配置BPDU後才會觸發發出配置BPDU。此方式使得STP協議計算複雜且緩慢。RSTP協議對此進行了改進,即在拓撲穩定後無論非根橋裝置是否接收到根橋傳來的RST BPDU報文,非根橋裝置仍然按照Hello定時器規定的時間間隔定期傳送配置BPDU。即在RSTP中,各橋的配置BPDU傳送行為完全是由每臺橋裝置自主進行。

(2)更短的BPDU超時計時。在RSTP協議中規定,如果一個埠連續3倍Hello定時器內沒有收到上游裝置傳送過來的RST BPDU,那麼該裝置認為與此鄰居之間的協商失敗。而不是像STP協議規定的需要先等待一個Max Age(最大生存時間)。

(3)處理次等BPDU。在STP中指定埠在收到inferior(次優)BPDU會馬上把埠儲存的更優的BPDU傳送出去,但對非指定埠不會做同樣處理。而在RSTP中不管是否指定埠,收到次優RST BPDU都會馬上傳送本地更優的RST BPDU給對端,以使對埠快速更新自己的RST BPDU。具體為,當一個埠收到上游的指定橋發來的RST BPDU報文時,該埠會將自身儲存的RST BPDU與收到的RST BPDU進行比較。如果該埠儲存的RST BPDU的優先順序高於收到的RST BPDU,那麼該埠會直接丟棄收到的RST BPDU,立即以自身儲存的RST BPDU進行響應。當上遊裝置收到下游裝置響應的RST BPDU後,上游裝置會根據收到的RST BPDU報文中相應的欄位立即更新自己儲存的RST BPDU。由此可見,RSTP處理次等BPDU報文不再像STP那樣依賴於任何定時器通過超時解決拓撲收斂,從而加快了拓撲收斂。

在下圖8-18中,假設橋優先順序S3<S2<S1,各段鏈路的開銷值在圖中標註。正常情況下,S1為根橋,S2的port1埠為S2的根埠,S2的port2為S2的指定埠,S3的port2埠為S3的根埠,S3的port1埠為阻塞埠。因為S3經過S2到達根橋S1的開銷更小,所以S3會從port2埠傳送資料,而不會從port1埠傳送資料。

如果現在S1、S2中的鏈路Down了,如8-19。在STP協議中,一開始S2會認為自己是根橋(因為此時S2誤認為S1不存在了),併發送配置BPDU。但S3的port2不會立即以更優的BPDU響應S2,直到Max age(預設為20s)過期,即S3的port2埠上儲存的原BPDU超時,S3的port2端口才傳送新的以S1為根(因為此時S3與S1仍然保持著連線,S1的優先順序更高,所以S3認為S1仍為該交換網路的根橋)的BPDU。S2接收到這個BPDU後,承認S1為根橋(原因是S1的優先順序高於S2),修改自己的橋角色。此時S2的port2埠狀態會發生一系列的變化,需經過兩倍轉發延時——30s才進入轉發狀態。這樣就一共50s的時間。


如果是在RSTP中,S3的port2埠收到S2發來的次BPDU後會馬上傳送本埠的更優BPDU,無需等待Max Age時間。因為此時S2的port2與S3的port2埠是點對點連線,所以這兩個埠都能快速地進行狀態遷移,即由Discarding狀態遷移到Forwarding,實現拓撲瞬間收斂,無需等待兩倍的轉發延時。

四、更加快速地P/A收斂機制

在RSTP中,為了實現更快速的拓撲收斂,主要採用了Proposal/Agreement(提議/確認,P/A)機制。

通過前面知道,當一個埠被選舉成為指定埠之後,在STP協議中該埠至少要等待兩個Forward Delay的時間(由Listening狀態到Learning狀態,再從Learning狀態到Forwarding狀態)才會遷移到Forwarding狀態,傳送資料。這種保守的設計可以保證不產生環路,當不夠聰明。在RSTP協議中規定,一個埠被選舉為指定埠後,會先進入Discarding狀態,再通過Proposal/Agreement機制快速進入Forwarding狀態。但這種機制必須在點到點鏈路(某埠在所屬的共享乙太網上的對端只有一臺裝置,這樣的乙太網被認為是點到點鏈路)上使用

1、P/A機制工作原理

P/A機制即Proposal/Agreement機制,其目的是使一個指定埠儘快進入Forwarding狀態。如下圖,P/A協商過程的完成根據以下幾個埠變數的協商,也就是P/A機制的具體工作原理。


   (1)proposing(提議請求):當一個指定埠處於Discarding或Learning狀態時,Proposing變數置位,並向下遊裝置傳遞Flags欄位Proposal標誌位置1的RST BPDU(表示此BPDU為Proposal RST BPDU報文),請求快速切換到Forwarding狀態。

(2)proposed(提議採納):當對端的根埠收到以上Proposal標誌位置1的RST BPDU時,proposed變數置位。該變數指示本網段上的指定埠希望儘快進入Forwarding狀態。

(3)sync(同步請求):當根埠的proposed變數置位後會依次為本橋上的其他埠使sync變數置位,使所有非邊緣埠都進入Discarding狀態,準備重新同步。

(4)synced(同步完成):當埠進入到Discarding狀態後會將自己的synced變數置位,包括本橋上的其他所有Alternate埠、Backup埠和邊緣埠,實施同步操作。此時,根埠監視其他埠的synced變數置位情況,當所有其他埠的synced變數全被置位,則根埠最後也會將自己的synced變數置位,表示本橋上已正式完成同步操作,向上遊裝置傳回Agreement標誌位置1的RST BPDU(表示此BPDU為Agreement RST BPDU報文)。

(5)agreed(提議確認):當原來想要進入轉發狀態的上游裝置指定埠收到對端根埠發來的一個Agreement RST BPDU時,則此指定埠的agreed變數被置位。Agreed變數一旦被置位,則該指定埠馬上轉入Forwarding狀態。

2、P/A機制解析示例


如上圖,根橋S1和S2之間新添加了一條鏈路。在當前狀態下,S2的另外幾個埠p2是Alternate埠,p3是指定埠且處於Forwarding狀態,p4是邊緣埠。新鏈路連線成功後,P/A機制協商過程如下。

(1)P0和P1兩個埠馬上成為指定埠,傳送RST BPDU。

(2)S2的p1埠在收到更優的RSTBPDU後馬上意識到自己將成為根埠,而不是指定埠,於是停止傳送RST BPDU。

(3)當S1的p0埠處於Discarding狀態(這是所有埠的初始狀態)時向對端的S2傳送proposal標誌位置1的RST BPDU。

(4)S2收到根橋傳送來的攜帶proposal標誌位的RST BPDU後開始將自己的所有埠的sync變數置位,進入Discarding狀態。因為此時p2埠已經阻塞,所以狀態不變,p4埠是邊緣埠不參與運算,所以只需要阻塞非邊緣指定埠p3。

(5)在p2、p3、p4埠都進入Discarding狀態後,各處將自己的synced變數置位,然後根埠p1也將自己的synced變數置位,然後向S1返回Agreement標誌位置1的響應RST BPDU。該RST BPDU攜帶和剛才根橋發過來的BPDU一樣的資訊,除了Agreement標誌位置1之外(Proposal位清零)。

(6)當S1判斷出所收到的AgreementRST BPDU是對剛剛發出的Proposal的響應後,埠p0馬上進入Forwarding狀態。

以上P/A過程可以向下遊裝置繼續傳遞,也就是說不一定是根橋與非根橋之間,也可以是非根橋之間。

五、RSTP的其他收斂機制和與STP的互操作

1、其他收斂機制

在RSTP中,除了P/A機制外,還有以下兩種機制也可幫助實現拓撲的快速收斂。

(1)根埠快速切換機制。如果網路中一個根埠失效,那麼網路中最優的Alternate埠將立即成為根埠,並進入Forwarding狀態。在點到點乙太網鏈路上,根埠總能快速遷移到Forwarding狀態。

(2)邊緣埠的引入。在RSTP裡面,如果某一個指定埠位於整個網路的邊緣,即不再與其他交換機裝置連線,而是直接與終端裝置直連,這種埠叫做邊緣埠。

邊緣埠不接收處理配置BPDU,不參與RSTP運算,可以由Disable狀態直接轉換到Forwarding狀態,且不經歷任何時延。但是一旦邊緣埠收到配置BPDU,就喪失了邊緣埠屬性,成為普通RSTP埠,並重新進行生成樹計算,從而引起網路震盪。

2、RSTP和STP的互操作

RSTP可以和STP互操作,但是此時會喪失快速收斂等RSTP優勢。當一個網段裡既有執行STP的交換裝置,又有執行RSTP的交換裝置時,STP交換裝置會忽略RST BPDU、,而執行RSTP的交換裝置在某埠上接收到執行STP的交換裝置發出的配置BPDU時,會在兩個Hello Time時間之後把自己的埠轉換到STP工作模式,傳送配置BPDU。這樣就實現了互操作。

STP/RSTP配置

雖然RSTP對STP有了重大改進,但配置方法總體區別不大。

一、STP/RSTP配置任務及預設配置

STP/RSTP可阻塞二層網路中的冗餘鏈路,將網路修剪成樹狀,達到消除環路的目的。、

(1)為了消除裝置間的環路,可以配置STP/RSTP基本功能。

(2)為了加快裝置的收斂速度,可以配置影響STP/RSTP拓撲收斂的引數。

(3)為了實現與其他廠商裝置的互通,需要在華為公司執行STP/RSTP的裝置上配置合適的引數,以確保通訊暢通。

(4)為了滿足特殊場合的應用和功能擴充套件,還可配置RSTP拓撲收斂反饋機制,以及RSTP提供的各種保護功能。


支援STP/RSTP的華為S系列交換機預設配置:


二、配置STP/RSTP基本功能

STP、RSTP基本功能的配置:

1、主要配置任務

STP/RSTP基本功能配置包括STP/RSTP工作模式配置,根橋和備份橋配置,橋優先順序配置,埠路徑開銷、埠優先順序、STP或RSTP功能的啟用等。

(1)配置STP/RSTP工作模式。華為S系列交換機支援STP、RSTP和MSTP三種生成樹工作模式。在只執行STP的環形網路中可選擇STP模式;在只執行RSTP的環形網路中可選擇RSTP模式。其他情況,建議選擇預設情況MSTP模式。

(2)(可選)配置根橋和備份根橋。此為可選配置,因為預設情況下,根橋和備份根橋是通過選舉產生的。如果配置此項配置任務就相當於人工指定根橋和備份橋。注意同一交換機上只能選擇配置根橋或者備份根橋,不能同時配置。在配置STP/RSTP過程中,建議手工配置根橋和備份根橋。

(3)(可選)配置交換裝置優先順序。在一個執行STP/RSTP的網路中,有且僅有一個根橋,它是整顆生成樹的邏輯中心。在進行根橋的選擇時,一般希望選擇效能高、網路層次高的交換裝置作為根橋。但是效能高、網路層次高的交換裝置其優先順序不一定高,因此需要配置優先順序以保證該裝置成為根橋。在配置交換裝置時優先順序數值是:數值越小,優先順序越高,成為根橋的可能性越大

(4)(可選)配置埠路徑開銷。路徑開銷是一個埠量,是STP/RSTP協議用於選擇鏈路的參考值。埠路徑開銷值取值範圍由路徑開銷計算方法決定。當確定路徑開銷計算方法後,埠所處鏈路的速率值越大,建議將該埠的路徑開銷值在指定範圍內設定越小。

華為S系列交換機支援三種路徑開銷計算方法,即IEEE802.1d-1998標準方法、IEEE802.1t標準方法和華為的私有計算方法。


從上表可見,埠速錄越高,路徑開銷值越小。

(5)(可選)配置埠優先順序。在參與STP/RSTP生成樹計算時,對於處在環路中的交換裝置埠,其優先順序的高低會影響到是否被選舉為指定埠。

(6)啟用STP/RSTP功能。在環形網路中一旦啟用STP或RSTP,STP、RSTP協議便立即開始生成樹計算。而且,諸如交換裝置的優先順序、埠優先順序等引數都會影響到生成樹的計算,在計算過程中這些引數的變動可能會導致網路震盪。為了保證生成樹計算過程快速而且穩定,必須在交換裝置及其埠進行必要的基本配置以後才能啟用STP或RSTP功能

(7)(可選)配置埠的收斂方式。當生成樹的拓撲結構發生改變時,和它建立對映關係的VLAN的轉發路徑也將發生變化。此時,交換裝置的ARP表中與這些VLAN相關的表項也需要更新。根據對ARP表項處理方式不同,STP、RSTP的收斂方式分為Fast和Normal兩種:在Fast方式下,ARP表將需要更新的表項直接刪除;在Normal方式下,ARP表中需要更新的表項快速老化。在Normal方式下,交換裝置將ARP表中這些表項的剩餘存活時間置為0,對這些表項進行老化處理。如果配置的ARP老化探測次數大於零,則ARP對這些表項進行老化探測。

2、具體配置步驟




三、配置影響STP拓撲收斂的引數

雖然STP不能說笑呢快速收斂,但是諸如網路直徑、超時時間、Hello Time定時器、Max Age定時器、Forward Delay定時器等引數會影響其收斂速度。在完成上面的基本功能配置後,可配置這些引數。

1、影響STP拓撲收斂的引數

(1)STP網路直徑。交換網路中任意兩臺終端裝置都通過特定路徑彼此相連,這些路徑由一系列的交換裝置構成。網路直徑就是指交換網路中任意兩臺終端裝置間的最大交換裝置數。網路直徑越大,說明網路的規模越大。設定合適的網路直徑(通常不要超過7個裝置),可以幫助加快網路的收斂速度。建議同一環網中的所有交換裝置配置相同的網路直徑。

(2)STP超時時間。在執行STP生成樹演算法的交換網路中,如果交換裝置在配置的超時時間內沒有收到上游裝置傳送的BPDU就認為此上游裝置已經出現故障,本裝置會重新進行生成樹計算。可能由於上游裝置繁忙,有時裝置在較長時間內收不到該上游裝置房的BPDU。這種情況下一般不應該重新進行生成樹計算,因此在穩定的網路中,可以配置超時時間,以減少網路資源的浪費。

(3)STP定時器。在STP生成樹的計算過程中,用到了ForwardDelay、Hello Time和Max Age3個定時器引數。在配置這3個定時器引數時,同一環網中的裝置建議配置一致的定時器值。通常情況下,不建議直接調整上述3個時間引數,而是建議通過調整網路直徑,使生成樹協議自動調整3個引數。

(4)影響鏈路聚合頻寬最大連線數。介面的路徑開銷是生成樹計算的重要依據,路徑開銷值改變時,會重新進行生成樹計算。而介面的路徑開銷是受頻寬影響的,因此可以通過改變介面頻寬來影響生成樹的計算。當介面是Eth-Trunk的聚合介面時,可配置鏈路聚合頻寬最大連線數,以選擇適當的聚合鏈路。配置的影響頻寬的最大連線數僅影響生成樹協議計算介面的鏈路開銷,並不影響實際鏈路頻寬。其頻寬是由活動介面數決定的。

如下圖,裝置A與裝置B通過兩條Eth-Trunk鏈路相連,Eth-Trunk1含有3條狀態為Up的成員鏈路。假設每條成員鏈路的頻寬都相同,且裝置A被選舉為根橋,因為Eth-Trunk1的頻寬大於Eth-Trunk2的頻寬。STP計算後,裝置B上Eth-Trunk1埠被選為Root port,Eth-Trunk2埠被選為Alternate port。


但當配置Eth-Trunk1介面影響頻寬的最大連線數為1後,STP計算的Eth-Trunk1介面的路徑開銷大於Eth-Trunk2的開銷,將會重新進行生成樹計算,裝置B上Eth-Trunk1介面將變為Alternate port,Eth-Trunk2變為Root port。

2、具體配置步驟




示例:當沒有在交換機上執行stpenable命令時,通過display stp命令在交換機上顯示的生成樹的狀態和統計資訊如下:在模擬器上的顯示



四、STP配置示例

STP的配置比較簡單,因為STP功能預設是啟用的,只不過在需要使用STP協議時,配置生成樹模式為STP。其他可根據需要選擇配置,包括根橋、備份根橋的指定。通常是建議手工指定根橋和備份根橋,這樣可以使自己更加清楚自己交換網路的拓撲結構。


如上拓撲,當前網路中存在由SwitchA、SwitchB、SwitchC和SwitchD構成的環路,因為在SwitchA與SwitchD之間,以及SwitchB與SwitchC之間都存在冗餘鏈路,現在這些交換機上都執行STP協議,通過彼此互動資訊發現網路中的環路,並有選擇的對某個埠進行阻塞,最終將環形網路結構修剪成無環路的樹形網路結構。

1、配置思路分析

只配置STP的基本功能即可。

(1)配置環網中的4臺交換機的生成樹協議工作在STP模式。

(2)配置根橋和備份根橋裝置,此處可指定SwitchA為根橋,SwitchD為備份根橋。

(3)配置埠的路徑開銷值,實現將該埠阻塞。此處可加大SwitchC的GE0/0/1埠的開銷值,以阻塞該埠,使得資料不能從該埠傳送。

(4)在四臺交換機上使能STP功能。但與PC機相連的埠不用參與STP計算,建議將其去使能STP。

2、具體配置步驟

(1)在4臺環網結構中的交換機上配置STP工作模式。

<Huawei>system-view

[Huawei]sysname SwitchA

[SwitchA]stp mode stp

    (2)配置SwitchA為根橋,SwitchD為備份根橋。

[SwitchA]stp root primary

[SwitchD]stp root secondary

(3)配置埠的路徑開銷計算方法,同時將SwitchC上的GE0/0/1埠的開銷值增大(大於對應型別埠的路徑開銷值預設值),實現將該埠的阻塞。

埠路徑開銷值取值範圍由路徑開銷計算方法決定,此處以華為私有演算法為例。同一網路內所有交換裝置的埠路徑開銷應使用相同的計算方法。

[SwitchA]stp pathcost-standard legacy

    然後增大SwitchC上的GE0/0/1埠的開銷值,此處為20000(千兆埠的預設值為2)。

[SwitchC]interface gigabitethernet 0/0/1

[SwitchC-GigabitEthernet0/0/1]stp cost20000

(4)在4臺交換機使能STP功能,以消除二層環路。在此之前要先去使能連線PC上的埠上的STP功能。

[SwitchB]interface gigabitethernet 0/0/2

[SwitchB-GigabitEthernet0/0/2]stp diable

[SwitchB-GigabitEthernet0/0/2]quit

[SwitchC]interface gigabitethernet 0/0/2

[SwitchC-GigabitEthernet0/0/2]stp diable

[SwitchC-GigabitEthernet0/0/2]quit

然後在4臺交換機上全域性使能STP。

[SwitchA] stp enable

穩定後,在SwitchA上執行displaystp Brief命令檢視埠狀態和埠的保護型別:


    將SwitchA配置為根橋後,與SwitchB、SwitchD相連的GE0/0/2和GE0/0/1埠在生成樹計算中被選舉為指定埠。可通過在SwitchB上執行display stp interface gigabitethernet 0/0/1 brief命令檢視埠狀態來驗證。


可以看出GE0/0/1埠在生成樹選舉中已成為指定埠,處於Forwarding狀態。

同樣在SwitchC上執行display stp brief檢視埠狀態,可看出GE0/0/3埠在生成樹選舉中成為根埠,處於Forwarding狀態,而GE0/0/1埠在生成樹選舉中成為了Alternate埠處於Discarding狀態。


五、配置影響RSTP拓撲收斂的引數

RSTP在STP基礎上進行改進之後,通過配置埠的鏈路型別、埠是否支援快速遷移機制等,實現快速收斂。

1、影響拓撲收斂的引數

在RSTP中,影響拓撲收斂的引數除了STP中所講的網路直徑、超時時間、三個定時器、影響生成樹計算的額鏈路聚合頻寬最大連線數這4個外,還有埠的鏈路型別、埠的最大發送速率、是否執行MCheck操作、邊緣埠和BPDU報文過濾功能啟用等幾方面。

(1)埠的鏈路型別

點對點鏈路可幫助實現快速收斂。在RSTP中,如果與點對點鏈路相連的兩個埠為根埠或指定埠,則埠可以通過傳送同步報文(Proposal報文和Agreement報文)快速遷移到轉發狀態,減少了不必要的轉發延遲時間。

(2)埠的BPDU報文最大發送速率

介面在每個Hello Time時間內BPDU的最大發送數目值越大,表示單位時間內傳送的BPDU越多,佔用的系統資源也越多。適當的配置該值可以限制介面傳送BPDU的速度,防止在網路拓撲動盪時,RSTP佔用過多的頻寬資源。

(3)執行MCheck操作

在執行RSTP的裝置上,如果某個介面和另一臺執行STP的裝置連線,則該介面會自動遷移到STP相容工作模式。但如果某一時間執行STP的裝置被關機或移走(還可能是因為原來STP的交換裝置切換為RSTP模式),原來自動遷移到STP相容工作模式的介面無法自動遷移回RSTP模式。這時就需要在該介面上執行MCheck操作,將介面手工遷移到RSTP模式。

(4)邊緣埠和BPDU報文過濾功能

在RSTP裡面,位於整個網路的邊緣(即不再與其他交換裝置連線,而是直接與終端裝置直連)的埠叫做邊緣埠。邊緣埠不接收處理配置BPDU報文,不參與RSTP運算,可以由Disable直接轉到Forwarding狀態,且不經歷時延,就像在埠上將RSTP禁用。

配置為邊緣埠後,埠仍然會發送BPDU報文,這可能導致BPDU報文傳送到其他網路,引起其他網路產生震盪。因此可以配置邊緣埠的BPDU報文過濾功能,使邊緣埠不處理、不傳送BPDU報文。

邊緣埠和BPDU報文過濾功能可以在系統檢視下全域性配置,也可在具體埠的介面檢視下配置,通常是在具體埠的介面檢視下。

全域性配置後,裝置上所有的埠不會主動傳送BPDU報文,且均不會主動與對端裝置直連埠協商,所有埠均處於轉發狀態;在介面配置後,對應埠將不處理、不傳送BPDU報文,無法成功與對端裝置直連埠協商STP協議狀態。

2、具體配置步驟




六、配置RSTP保護功能

華為裝置支援RSTP保護功能,可根據實際環境任選其中一個或多個。




七、配置裝置支援和其他廠商裝置互通的引數

在RSTP協議中,網路收斂主要依靠P/A協商機制,但不同廠商裝置所支援的P/A機制工作方式不完全一樣,這就需要根據其他廠商裝置支援的P/A機制選擇埠的快速遷移方式。華為交換機的RSTP P/A機制支援以下兩種模式。

1、普通方式(Normalmode)

這是一種正常的P/A機制工作方式,雙方是通過一對Proposal/Agreement報文進行協商,收到Proposal報文的埠為根埠,並自動進入到Forwarding狀態,而收到Agreement報文的埠為指定埠,也自動進入Forwarding狀態。流程如下:

(1)上游裝置傳送Proposal報文,請求進行快速遷移,下游裝置在接收後把與上游裝置相連的埠設為根埠,並且阻塞所有非邊緣埠,然後根埠自動進入Forwarding狀態。

(2)然後下游裝置迴應Agreement報文,上游裝置再接收後把與下游裝置相連的埠設為指定埠,指定埠進入Forwarding狀態。

2、增強模式(Enhancedmode)

這種方式特別適用於不同廠商裝置之間的P/A協商。在這種工作方式中,上游裝置傳送的Proposal報文,在到達下游非同一廠商的裝置的根埠時可能不能馬上進入Forwarding狀態,這時上游裝置再發送一個Agreement報文,強制下游裝置的根埠進入Forwarding狀態。這時下游裝置的根端口才可以傳送Agreement報文,響應上游裝置傳送的Proposal報文,使上游裝置的指定埠也進入Forwarding狀態。流程如下:

(1)首先上游裝置傳送Proposal報文(Flags欄位Bit1位置1的BPDU報文),請求進行快速遷移,下游裝置在接收後把與上游裝置相連的埠設定為根埠,並阻塞所有非邊緣埠(包括根埠)。

(2)然後上游裝置繼續傳送Agreement報文(Flags欄位Bit6位置1的BPDU報文),下游裝置在接收後強制埠轉為Forwarding狀態。

(3)最後下游裝置迴應Agreement報文,上游裝置在接收後把與下游裝置相連的埠設定為指定埠,並進入Forwarding狀態。

配置方法是要直接在其他廠商裝置的埠的介面檢視下執行stp no-agreement-check命令配置埠使用普通的快速遷移方式。預設情況下,埠使用增強的快速遷移機制。

八、RSTP功能配置示例


仍以上圖拓撲為例,環網中SwitchA、B、C、D都執行RSTP協議,通過彼此互動資訊發現網路中的環路,並有選擇的對某個埠進行阻塞,最終形成無環路的樹形網路結構。

1、配置思路

與STP配置類似,在RSTP中把連線PC的埠直接配置為邊緣埠,過濾BPDU報文,同時可配置一些保護功能。

(1)配置環網中的4臺交換機的生成樹協議工作在RSTP模式。

(2)配置根橋和備份根橋裝置,此處可以指定SwitchA為根橋,SwitchD為備份根橋。

(3)配置埠的路徑開銷值,實現將該埠阻塞。此處可以加大SwitchC的GE0/0/1埠的開銷值,以阻塞該埠,使得資料不能從該埠傳送。

(4)在4臺交換裝置上使能RSTP功能。但與PC相連的埠不用參與RSTP計算,配置為邊緣埠,並配置BPDU過濾。

(5)在SwitchA的GE1/0/1和GE1/0/2埠上啟用根保護功能,使它們總為指定埠,從而使SwitchA總為根橋。

2、具體配置步驟

(1)在4臺環網結構中的交換機上配置STP工作模式

<Huawei>system-view

[Huawei]sysname SwitchA

[SwitchA]stp mode rstp

(2)配置SwitchA為根橋,SwitchD為備份根橋

[SwitchA]stp root primary

[SwitchD]stp root secondary

(3)配置埠的路徑開銷計算方法,同時將SwitchC上的GE0/0/1埠的開銷值增大(大於對應型別埠的路徑開銷預設值),實現將該埠阻塞。

埠路徑開銷值取值範圍由路徑開銷計算方法決定。

[SwitchA]stp pathcost-standard legacy

然後增大SwitchC上的GE0/0/1埠的開銷值,此處為20000(千兆埠預設值為2)

[SwitchC]interface gigabitethernet 0/0/1

[SwitchC-GigabitEthernet0/0/1]stp cost20000

    (4)把連線PC上的埠配置為邊緣埠並配置BPDU過濾。然後使能RSTP功能

[SwitchB] interface gigabitethernet 0/0/2

[SwitchB-GigabitEthernet0/0/2]stpedged-port enable

[SwitchB-GigabitEthernet0/0/2]stpbpud-filter enable

[SwitchB-GigabitEthernet0/0/2]quit

[SwitchC] interface gigabitethernet 0/0/2

[SwitchC-GigabitEthernet0/0/2]stpedged-port enable

[SwitchC-GigabitEthernet0/0/2]stpbpud-filter enable

[SwitchC-GigabitEthernet0/0/2]quit

    在4臺交換機上全域性使能STP。

[SwitchA]stp enable

(5)在SwitchA上配置根保護功能,即在SwitchA的兩個指定埠上啟用根保護功能,使SwitchA總為根橋。

[SwitchA] interface gigabitethernet 1/0/1

[SwitchA-GigabitEthernet1/0/1]stproot-protection

[SwitchA-GigabitEthernet1/0/1]quit

[SwitchA] interface gigabitethernet 1/0/2

[SwitchA-GigabitEthernet1/0/2]stproot-protection

[SwitchA-GigabitEthernet1/0/2]quit

    網路穩定後,執行displaystp brief命令檢視埠狀態和埠的保護型別