導航:首頁 > 源碼編譯 > 生成樹演算法stp

生成樹演算法stp

發布時間:2023-05-10 17:55:41

A. 計算機網路 STP

STP (Spanning Tree Protocol)是生成樹協議的英文縮寫搭衫孝。
生成樹協議 運行塌敬生成樹演算法(STA). 生成樹 演算法很復雜,但是其過程可以歸納為以下3個步驟:

(1)選擇根網橋
(2)選擇根埠
(3)選擇指定埠

First:BID(Bridge ID,網橋ID),因為根交換機的選舉是基於BID的,BID由三部分組成——優先順序、發送交換機的MAC地址、Extended System ID(擴展系統ID,可選項)
BID = 網橋ID=網橋優先順序+網橋MAC地址組成的

First:(PID)=埠ID等於優先順序加上埠編號,默認埠優先順序是128。
P:每個非根交換機有且只有一個根埠。

選舉根埠依照下面的順序:
首先,最低花費的埠將成為根埠;在花費相同的情況下比較發送者的BID,BID小的將成為根埠。--->
即:到根網橋最低的根路徑成本→發送BPDU的網橋ID(BID)較小→埠ID(PID)較小的。埠ID由埠優先順序與埠編號組成。

請看下面這張拓撲圖:

特殊的: 如果 發送者的BID相同,則比較發送者的PID:

關於選擇指定埠:每個網段上選擇一個指定埠。
P:每個網段有且只有一個指派埠
選擇順序為:根知稿路徑成本較低(花費較低)→發送BPDU的網橋ID值較小→本埠的PID值較小。
根網橋的介面皆為指定埠,因為根網橋上埠的根路徑成本為0

第一種情況:假設路徑花費不同的情況下 :

既不是根埠也不是指派埠的埠將被阻塞。看上圖

B. 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的用戶通訊。

C. STP的工作原理和作用

STP的基本原理是通過在交換機之間傳遞一種特殊的協議報文,網橋協議數據單元虧穗李(簡稱BPDU),來確定網路的拓撲結構。BPDU有兩種,配置BPDU(和TCNBPDU。前者是用於計算無環的生成樹的,後者則是用於在二層網路拓撲發生變化時產生用來縮短MAC表項的刷新時間的。

STP的作用:可應用於計算機網路中樹形拓撲結構建立,主要作用是防止網橋網路中的冗餘鏈路形成環路工作,即能解決了核心層網路需要冗餘鏈路的網路健壯性要求,又能解決因為冗餘鏈路形成的物理環路導致「廣播風暴」問題。

(3)生成樹演算法stp擴展閱讀:

STP的潛在故障

1、生成樹演算法不穩定

STP協議工作在第二層,在交換機埠之間傳遞網路協議單元獲取網路拓撲,並通過STA演算法阻斷環路形成樹形邏輯網路拓撲。但如果網路拓撲過於復雜,STA演算法有時會存在失效的情況,這時根橋、根埠和指定埠的選舉失敗,導致環路的產生,使網路癱瘓。

2、埠工作方式導致埠工作模式不匹配

工作在全雙工模式下的埠在發送數據前不載波偵聽鏈路是否處於空閑狀態,直接發送數據,而工作在半雙工模式下的埠在發送數據前族粗先執行載波偵聽且當鏈路處於空閑狀態時才發送數銷遲據,此時,全雙工埠持續性的有大量數據需要發送,那麼半雙工狀態的埠將不會有數據傳送給對端。

3、單向鏈路故障

在採用光纖為通信介質的網路中,往往採用兩組光纖收發鏈路來保證網路的可靠性和穩定性。單鏈路故障影響了STP的網橋協議單元的發送,致使STA計算出現錯誤碼,將本應處於阻斷狀態的埠轉變為轉發狀態,從而導致環路的產生。

D. 思科生成樹協議STP

思科生成樹協議STP

STP(生成樹協議)是一個二層鏈路管理協議。它的主要功能是在保證網路中沒有迴路的基礎上,允許在第二層鏈路中提供冗餘路徑,以保證網路可靠、穩定地運行。下面我整理了一位思科網路工程師關於STP筆記,現分享給大家!

STP定義

1.STP(生成樹協議)是一個二層鏈路管理協議。它的主要功能是在保證網路中沒有迴路的基礎上,允許在第二層鏈路中提供冗餘路徑,以保證網路可靠、穩定地運行。

2.迴路會造成數據在環路中無限循環,終端站點接收重復的信息,交換機在多個埠上得到同一個終端站點的MAC地址,產生廣播風暴,影響整個網路的正常運行。

3.IEEE802.1D是最早的STP標准,它提供了動態冗餘切換機制,是目前最流行、應用最廣泛的STP標准。STP運行在交換機和網橋設備上,通過計算建立一個穩定的樹狀結構網路,來避免網路中迴路的產生。

STP的基本工作原理

1.STP通過在交換機之間傳遞網橋協議數據單元BPDU,並用生成樹演算法STA,對其進行比較計算。

2.根據BPDU提供的參數和生成樹計算,STP首先選定一個根網橋,根網橋是整個生成樹拓撲結構的核心。所有的數據實際上都要通過根網橋。

3.然後確定交換機冗餘鏈路埠的工作狀態,讓一些埠進入阻塞工作模式,另一些埠進入轉發工作模式。其中被阻塞的埠仍然是一個激活的埠,但它只能接收和讀取BPDU,不能接收和轉發數據流。

4.用改變冗餘埠的工作狀態來阻斷網路中的部分冗餘路徑,使其成為備份鏈路,以保證在任何兩個終端站點之間,只存在一條激活的路徑,避免了迴路的產生。

5.STP還計算從根到二層網路中所有交換機的最佳路徑,並建立一個無環路的樹狀結構網路。

在網路運行過程中,如果一個網段在生成樹中因故障而失效,多餘的路徑又存在時,生成樹會重新計算生成樹拓撲,並強制將有故障的鏈路變為備份鏈路,而把原備份鏈路重新激活。(重新設置轉發埠和阻塞埠)

STP:交換機和網橋的區別

在STP的處理過程中,交換機和網橋是有區別的,交換機需要對VLAN進行處理。

1.首先要指定一個根交換機,然後為每一個VLAN選擇一個根網橋,因為每個虛擬網都是一個獨立的廣播域。最後再確定冗餘埠的工作模式,選擇備份鏈路和激活鏈路,生成無迴路的拓撲結構。

2.根的.確定,樹狀結構的生成,主要是依靠BPDU提供的信息。BPDU數據包有兩種類型,一種是包含配置信息的配置BPDU(不超過35B),另一種是包含拓撲變化信息的拓撲變化通知BPDU(不超過4B)。

3.在配置BPDU包中的BridgeID信息,是選取根網橋或根交換機的主要依據。BridgeID值最小的成為根網橋或根交換機。

4.BPDU每2秒定時發送一次,在網路發送故障或拓撲結構發生變化時也會發送新的BPDU,以維護生成樹樹狀結構。

5.在選擇根網橋時,如果優先順序值相同,那麼就根據MAC地址的值決定根網橋,MAC地址的值最小的為根網橋。

;

E. stp的最根本的目的是,它是由哪個標准生成的

防止「廣播風暴」; 防止信息丟失;防止網路中出現信息迴路造成網路癱瘓;使網橋具備網路層功能 防止信息丟失。

由於SDH保護倒換時間比STP協議收斂時間快的多,謹數系統採用依然是SDH MS-SPRING或SNCP,一般倒換時間在50ms以內。但測試時部分乙太網業務的倒換時間為0或小於幾個毫秒,原因是內部具有較大緩存。

SDH保護倒換動作對MAC層是不可見的。這兩個層次的保護可以協調工作,設置一定的「拖延時間」,一般不會出現多次倒換問題。

(5)生成樹演算法stp擴展閱讀:

生成樹協議運行生成樹演算法(STP)。生成樹演算法很復雜,但是其過程可以歸納為以下三個部分。

(1)選擇根網橋

(2)選擇根埠

(3)選擇指定埠(也有書籍稱為轉發埠)

選擇根網橋的依據是交換機的網橋優先順序,網橋優先順序是用來衡量網橋在生成樹演算法中優先順序的十進制祥兄首數,取值范圍是0~65535,默認值是32768。

網橋ID=網橋優先順序+網橋MAC地址組成的,共有8個位元組。由於交換機的網橋優先順序都是默認,所以在根網橋的選舉中比較的一般是網卡MAC地址的大小,選取MAC地址小的為根網橋。

閱讀全文

與生成樹演算法stp相關的資料

熱點內容
自動解壓失敗叫我聯系客服 瀏覽:482
易語言新手源碼 瀏覽:456
oa伺服器必須有固定ip地址 瀏覽:42
傳奇源碼分析是什麼 瀏覽:267
解放壓縮機支架 瀏覽:255
程序員禿頂搞笑相遇 瀏覽:6
IBM手機app商店叫什麼名字 瀏覽:834
jpeg壓縮質量 瀏覽:774
雲伺服器評測對比 瀏覽:145
java日期轉string 瀏覽:221
openfire源碼編譯 瀏覽:897
在線小工具箱引流網站源碼 瀏覽:337
非科班程序員自學 瀏覽:800
壓縮泡沫鞋底底材 瀏覽:219
程序員職場第一課2正確的溝通 瀏覽:679
遇到不合法app應該怎麼辦 瀏覽:90
匯編程序編譯後的文件 瀏覽:79
大智慧均線源碼 瀏覽:373
單片機排阻的作用 瀏覽:216
滴滴金融app被下架如何還款 瀏覽:212