小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

STP的由來

 fym0121 2011-07-25

9.3.1 STP的由來

9.3  理解STP

STP(Spanning Tree Protocol,生成樹協(xié)議)與上節(jié)介紹的VLAN的關系非常密切。STP對應IEEE 802.1D標準,主要應用于存在環(huán)路(通俗一點說就是,構(gòu)成了數(shù)據(jù)發(fā)送和接收的循環(huán)路徑)的網(wǎng)絡,通過一定的算法既能實現(xiàn)路徑冗余,同時又可將環(huán)路網(wǎng)絡修剪成無環(huán)路的樹型網(wǎng)絡,從而避免報文在環(huán)路網(wǎng)絡中的增生和無限循環(huán)。

9.3.1  STP的由來

要正確使用STP,就必須先了解它存在的意義或者開發(fā)這種技術(shù)的目的,只有這樣才能更好地理解它的工作原理。前面說了,STP的目的就是消除網(wǎng)絡中冗余的鏈路(當然不是物理消除),下面就來介紹STP是如何實現(xiàn)這個目的的。

二層數(shù)據(jù)網(wǎng)的自愈(就是指在網(wǎng)絡出現(xiàn)故障時的自動修復能力)需求由來已久,早期的以太網(wǎng)橋采用了基于 MAC 地址在不同端口之間的轉(zhuǎn)發(fā),而每一個端口對應的是一個以太網(wǎng)的網(wǎng)段,也就是一個以太網(wǎng)的廣播域,通過學習每個端口的 MAC 地址表的方式,以太網(wǎng)橋只轉(zhuǎn)發(fā)不同端口間的通信。但是由于網(wǎng)橋依賴的是運行網(wǎng)絡中存在的MAC 地址和端口的對應表,所以一旦收到目的地址未知的數(shù)據(jù)包,它仍將利用廣播的形式來尋址,所以,這種方法使得它天生不能隔離廣播包和組播包的通信,其后果就是在一個環(huán)形網(wǎng)絡中造成數(shù)據(jù)流量以指數(shù)形式的增長,從而導致網(wǎng)絡的癱瘓,這種現(xiàn)象也稱為'廣播風暴'。

'廣播風暴'的現(xiàn)象只存在于兩點之間存在冗余鏈路的網(wǎng)絡之中,而冗余鏈路卻是在現(xiàn)實網(wǎng)絡設計中大量存在的。如圖9-5中核心層、匯聚層的交換機間都是有冗余設計的。本來這樣設計的目的就是想當某一條鏈路失效時,另一條冗余的鏈路能夠馬上接管所有的工作。但是,在實際工作中,這些冗余連接還會帶來廣播風暴隱患。

如圖9-5中的Switch 6交換機發(fā)送的數(shù)據(jù)要到達Switch 1,就可以有多條不同路徑了,其中包括:Switch 6→Switch 3→Switch 1,Switch 6→Switch 3→Switch 4→Switch 1,Switch 6→Switch 3→Switch 4→Switch 5→Switch 2→Switch 1這三條。這樣一來,當從Switch 6發(fā)送一個請求數(shù)據(jù)包到Switch 1時,就可能從以上三條路徑中同時流出,顯然這不是必要的,給網(wǎng)絡帶來了不必要的網(wǎng)絡流量壓力。本示例還只是一個很簡單的結(jié)構(gòu),如果結(jié)構(gòu)更復雜的話,冗余連接會更多,對應的冗余鏈路也就是更多,所帶來的廣播風暴將更大。

 
(點擊查看大圖)圖9-5  冗余連接設計示例

除了廣播風暴的影響外,這么多冗余鏈路還可能形成網(wǎng)絡環(huán)路,造成數(shù)據(jù)發(fā)送和接收死循環(huán)。同樣以圖9-5為例。在以上三條路徑中,如果不加修剪,從Switch 1上發(fā)送到Switch 6的數(shù)據(jù)包,可能就不會到達Switch 6,而是直接在Switch 1→Switch 3→Switch 4→Switch 1,或者Switch 1→Switch 4→Switch 3→Switch 1,或者Switch 1→Switch 2→Switch 5→Switch 4→Switch 1等多個封閉的環(huán)路上循環(huán)。

為了解決'廣播風暴'和網(wǎng)絡死循環(huán)這兩個在二層數(shù)據(jù)網(wǎng)絡中存在的主要弊端,IEEE(電機和電子工程師學會)在基于思科的STP技術(shù)基礎上頒發(fā)了IEEE 802.1D協(xié)議標準。這種兩種協(xié)議的本質(zhì)其實是一樣的,就是消除網(wǎng)絡拓撲中任意兩點之間可能存在的冗余路徑,將兩點之間存在的多條路經(jīng)劃分為'通信鏈路'和'備份鏈路'。并規(guī)定,數(shù)據(jù)的轉(zhuǎn)發(fā)只在'通信鏈路'上進行,而'備份鏈路'只用于鏈路的偵聽,只有在發(fā)現(xiàn)'通信鏈路徑'失效時,才自動地將通信切換到'備份鏈路'上。

用于正常數(shù)據(jù)轉(zhuǎn)發(fā)的'通信鏈路'往往是最短的路徑,如上一示例中的'Switch 6→Switch 3→Switch 1'這條路徑。但是,STP并不是全部禁用這些冗余鏈路,而只是在正常工作中讓它們處于偵聽狀態(tài),當活躍鏈路失效時才接替活躍鏈路的工作。這樣就可以達到既不會因為冗余鏈路而形成廣播風暴,也不會因為沒有冗余鏈路而造成網(wǎng)絡循環(huán),降低網(wǎng)絡的可用性。

現(xiàn)在的二層以太網(wǎng)交換機和三層以太網(wǎng)交換機采用了硬件電路的設計,保證了每個端口的獨享帶寬。這樣一來,每個交換機都可以看成是一個多個擁有獨立帶寬端口的網(wǎng)橋,用戶可以將它的每一個端口看作是一個獨立的網(wǎng)橋端口,其二層的工作原理與網(wǎng)橋類似。為了實現(xiàn)在用戶接入層、匯聚層甚至骨干層范圍內(nèi)的高可靠性,網(wǎng)絡中關鍵的拓撲設計往往采用冗余鏈路的設計(參見圖9-5),雖然也有其他的技術(shù)可以實現(xiàn)高效的網(wǎng)絡收斂,但是大多數(shù)網(wǎng)絡設計者還是采用了IEEE 802.1D 的方法,原因是生成樹協(xié)議是一項簡單而又成熟的網(wǎng)絡自愈技術(shù)。

9.3.2 STP的基本功能和工作原理

9.3.2  STP的基本功能和工作原理

在網(wǎng)橋或交換機上運行的STP是與IEEE 802.1D標準具有類似功能的,但是它們是兩種不同的鏈路層協(xié)議。因為IEEE 802.1D是以標準形式頒布的,所以應用更廣,所有品牌的網(wǎng)絡設備都可以支持,而STP是由思科開發(fā)的,所以僅在思科自身以及授權(quán)使用的品牌設備上使用。但就目前來看,兩者幾乎是一個統(tǒng)一體,沒什么區(qū)分了,因為IEEE 802.1D幾乎是等同采用思科STP的。

在網(wǎng)橋和交換機上部署STP的目的就是在你既想要有冗余鏈路,又要阻止環(huán)路的情形下阻止在網(wǎng)絡中出現(xiàn)環(huán)路,最終達到降低廣播風暴產(chǎn)生的可能(只能是可能,因為廣播風暴不僅只有網(wǎng)絡環(huán)路才能發(fā)生,還可能是因為專門的廣播包引起的),消除網(wǎng)絡循環(huán)。有時,在網(wǎng)絡設計中,特別是一些比較大型,同時可用性要求高的網(wǎng)絡系統(tǒng)設計時,冗余的鏈路與網(wǎng)絡中故障轉(zhuǎn)移所需的備份同等重要。在主鏈路失效時,通過激活備份鏈路可以使得用戶繼續(xù)連接到網(wǎng)絡。在網(wǎng)橋和交換機上不部署STP,這樣的部署又可能造成網(wǎng)絡環(huán)路出現(xiàn)。如果兩個連接的交換機一個運行STP,另一個運行IEEE 802.1D,則它們需要不同的收斂計時器。

在如圖9-6所示的網(wǎng)絡示例中,在Switch A和Switch B之間存在一條冗余鏈路。但是這種部署可能會創(chuàng)建一個橋接環(huán)路。例如,從Station M(站點M)發(fā)出的一個到Station N(站點N)的廣播或者多播包可能會在兩個交換機之間循環(huán)。


但是,如果在兩個交換機上運行了STP,則網(wǎng)絡的邏輯結(jié)構(gòu)就可看成圖9-7所示。這時在Switch A和Switch B之間就只有一條路徑,從Station M發(fā)出的一個到Station N的廣播或者多播包就不會在兩個交換機之間循環(huán)了,消除了網(wǎng)絡環(huán)路。

為了提供所需的路徑冗余,同時又可以避免環(huán)路發(fā)生,STP定義了一個延伸到網(wǎng)絡中所有交換機的'樹'(只是一種比喻說法,既表示了網(wǎng)絡中各交換機的層次結(jié)構(gòu),又暗示網(wǎng)絡中沒有環(huán)路)。STP強迫冗余數(shù)據(jù)路徑處于備用的阻塞狀態(tài),而使其他路徑處于轉(zhuǎn)發(fā)狀態(tài)。如果處于轉(zhuǎn)發(fā)狀態(tài)的一條鏈路不可用,STP重新配置網(wǎng)絡,并變更數(shù)據(jù)路徑為備用路徑
 
 

9.3.3 STP運作規(guī)則

9.3.3  STP運作規(guī)則

在STP中,網(wǎng)絡中所有交換機的關鍵就是選擇根網(wǎng)橋。網(wǎng)絡中的其他確定,如哪個端口置于阻塞模式,哪個端口置于轉(zhuǎn)發(fā)模式,都是需要依據(jù)根網(wǎng)橋才能確定的。在交換網(wǎng)絡中,不同于橋接環(huán)境,更像多VLAN處理。一個交換網(wǎng)絡中,在你執(zhí)行根網(wǎng)橋時,通常是指定根網(wǎng)橋作為根交換機。每個VLAN必須有它自己的根網(wǎng)橋,因為每個VLAN是一個獨立的廣播域。不同VLAN的根網(wǎng)橋可以都是在一臺交換機上,當然也可以在不同交換機上。

【說明】為特定VLAN進行根交換機選舉非常重要。你可以選擇根交換機,或者可以由網(wǎng)絡中的交換機自己決定。如果不控制根交換機選舉過程,可能在你的網(wǎng)絡中會存在不適宜的路徑。

所有交換機交換用于根交換機選舉和以后網(wǎng)絡配置的信息。BPDU承載了這些信息。每個交換機會比較本機發(fā)送到鄰居交換機的BPDU和從鄰居中接收到的BPDU中的參數(shù)。在STP根交換機選舉過程中,參數(shù)值越小越好(優(yōu)先級越高)。如果Switch A通告的根ID比Switch B通告的根ID小,則來自Switch A的信息就越好。Switch B停止它的根ID通告,接受Switch A的根ID通告。

生成樹(ST)的工作方式是為交換機和端口分配角色,以確保在任何時刻交換網(wǎng)絡中點與點之間只有一條路徑。它所分配的端口角色包括根網(wǎng)橋(Root Bridge,RB)、指定網(wǎng)橋(Designated Bridge,DB)、根端口(Root Port,RP)、指定端口(Designated Port,DP)和非指定端口(Nondesignated Port)。

根交換機識別每個VLAN,在根交換機識別后,交換機按照以下STP規(guī)則運作:

首先,根交換機中的所有端口都必須處于轉(zhuǎn)發(fā)狀態(tài)。然后,網(wǎng)絡中的其他每個交換機通過比較交換機上每個端口上接收到的BPDU信息來決定到根交換機的最佳路徑。交換機使用接收到的BPDU中信息最小的端口作為到達根交換機的端口,也就相應交換機的'根端口'。在確定了根端口后,交換機進行以下規(guī)則。

根端口必須設置為轉(zhuǎn)發(fā)模式。另外,每個LAN網(wǎng)段中交換機相互通信,以確定哪臺交換機用于從該網(wǎng)段中轉(zhuǎn)發(fā)數(shù)據(jù)到根交換機,這臺交換機就稱之為'指定交換機'。

在一個LAN網(wǎng)段中,指定交換機上連接到這個網(wǎng)段的端口必須處于轉(zhuǎn)發(fā)狀態(tài)。

所有交換機中的其他端口必須處于阻塞模式。這條規(guī)則僅適用于連接到其他交換機的端口。STP不會影響連接到工作站或者服務器的端口,這些端口必須處于轉(zhuǎn)發(fā)狀態(tài)。

【說明】當STP運行在PVST或PVST+時添加或者刪除VLAN會觸發(fā)VLAN實例ST的重新計算,僅相應VLAN的通信將中斷,中繼鏈路上的其他VLAN仍可以正常通信。在已有的MST實例中添加或者刪除VLAN也會觸發(fā)這個實例的ST重新計算,并且該MST實例中的所有VLAN通信都將中斷。

默認情況下,在每個端口上都運行ST(生成樹)。ST功能不能在交換機上基于每端口方式關閉。盡管不建議,但你仍可以在交換機上基于每VLAN,或者全局方式關閉STP。只要你禁止ST就需要特別小心,因為這可能在網(wǎng)絡內(nèi)部生成二層環(huán)路。




9.3.4 STP角色選舉

9.3.4  STP角色選舉

當交換機第一次啟動,開始了根交換機的選舉過程。每個交換機基于每VLAN方式傳遞一個BPDU到直接連接的交換機上。因為BPDU是通過網(wǎng)絡傳遞的,所以每個交換機會比較該交換機會把自己的BPDU與接收到的BPDU進行比較。然后交換機對哪臺機成為根交換機達成一致意見。在網(wǎng)絡中具有更低網(wǎng)橋ID的交換機將成為根交換機,贏得選舉。

以上STP角色的選舉基本過程如下:

(1)首先在整個交換網(wǎng)絡中選舉一個'根網(wǎng)橋'(RB),即選舉一個根交換機。

每個交換網(wǎng)絡中只能有一個網(wǎng)橋擔當'根網(wǎng)橋'。它是通過比較網(wǎng)橋的BPDU(Bridge Protocol Data Unit,橋接協(xié)議數(shù)據(jù)單元)信息來選舉的。在BPDU中包括了'網(wǎng)橋ID'(Bridge ID)。網(wǎng)橋ID包含2個字節(jié)的網(wǎng)橋優(yōu)先級(Bridge Priority)和6個字節(jié)的MAC地址。'網(wǎng)橋ID'的數(shù)值越低,成為'根網(wǎng)橋'的概率也就越高。

(2)確定了'根網(wǎng)橋'后,網(wǎng)絡中的其他交換機就為非根網(wǎng)橋了。此時再為所有'非根網(wǎng)橋'選舉'根端口'(RP)。'根端口'可以發(fā)送和接收'配置BPDU',或者接收BPDU消息包。

'根端口'是'非根網(wǎng)橋'到'根網(wǎng)橋'的最佳路徑所在端口,也即最低開銷的路徑(當然,直接連接的路徑開銷最?。T诿總€'非根網(wǎng)橋'上選舉一個'根端口',也就是'根端口'是針對'非根網(wǎng)橋'而言的,而不是在'根網(wǎng)橋'上,這一點最容易引起誤會。

如果有多條等價路徑(也就是此交換機到根網(wǎng)橋的路徑中所經(jīng)過的交換機躍點數(shù)是一樣,也就是經(jīng)過了相同數(shù)量的交換機),那么'非根網(wǎng)橋'先根據(jù)所直接連接的網(wǎng)橋的'網(wǎng)橋ID'來選擇(不同交換機的'網(wǎng)橋ID'是不一樣的),選擇連接'網(wǎng)橋ID'最低的網(wǎng)橋的端口作為根端口;如果所連接的網(wǎng)橋的'網(wǎng)橋ID'都一樣(也就是一個交換機與另一臺交換機之間有兩個或以上端口直接連接),則再根據(jù)所連網(wǎng)橋的'端口ID'(也就是端口號,每個端口的'端口ID'是不一樣的)最低的那個端口作為'根端口'。

【說明】要顯示交換機上各VLAN中網(wǎng)橋ID中的網(wǎng)橋優(yōu)先級和MAC地址值,可以使用show spanning-tree命令查看。它是用來查看交換機上生成樹配置的。

(3)在各個網(wǎng)段(星型網(wǎng)絡對應于一個交換機端口,而總線型網(wǎng)絡則對應于一條總線)中選舉一個'指定端口'(DP)。'指定端口'所在的交換機就是'指定網(wǎng)橋'(Designated Bridge,DB,也即'指定交換機')。

'指定端口'是相應網(wǎng)段所有端口中到達'根網(wǎng)橋'的路徑開銷最低的端口。在'根網(wǎng)橋'上,所有的端口都為'指定端口',因為它們各自所代表的網(wǎng)段中,到達'根網(wǎng)橋'的路徑為0(就在'根網(wǎng)橋'交換機上),當然最小了。但是并不是說'指定端口'只是在'根網(wǎng)橋'上,'非根網(wǎng)橋'上也有,只是在一個網(wǎng)段中只能有一個'指定端口'。'指定端口'不僅能夠發(fā)送和接收流量,還可以發(fā)送和接收配置消息或BPDU(BPDU的發(fā)送僅針對'根網(wǎng)橋'之上的'指定端口')。

(4)最后,STP封堵所有'非指定端口'。

在STP中,除了'根端口'和'指定端口'外的交換端口都屬于'非指定端口'。'非指定端口'是處于阻塞狀態(tài)的,不能接收和發(fā)送配置信息和BPDU。

【說明】'網(wǎng)橋'連接的是不同網(wǎng)段的設備,而早期的'集線器',或者'中繼器'所連接的不是不同網(wǎng)段,而同一網(wǎng)段(或者說是同一沖突域)的設備,因為網(wǎng)橋的兩個端口不是共享介質(zhì)的,而集線器或者中繼器各端口是共享介質(zhì)的。而交換機可以看成是一個具有多個端口的網(wǎng)橋,每個端口都具有橋接功能。這樣一來,也就可以這么理解,由同一網(wǎng)橋或者交換機端口(其實路由器中的LAN端口也一樣)連接的設備就屬于一個網(wǎng)段。在星型以太網(wǎng)中,最常見的就是按交換機來劃分網(wǎng)段的,一個交換機(根交換機除外)代表一個網(wǎng)段,因為它上面各端口所連接設備到根交換機的通信都是共享一條介質(zhì)的。但它與下級交換機的連接又可根據(jù)不同端口劃分不同的網(wǎng)段,因為它可以連接多個下級交換機。在總線型網(wǎng)絡中,一條總線上連接的設備都屬于一個網(wǎng)段,HUB上連接的也屬同一個網(wǎng)段,但HUB的各端口不能再分網(wǎng)段,因為它們是共享介質(zhì)的。

通過以上端口角色的分配,就可以確保在同一時刻,只能一條性能最佳的鏈路(最佳路徑)為活躍的(每個網(wǎng)絡中只有一個根網(wǎng)橋,每個網(wǎng)段上只有一個指定端口,而每個非根網(wǎng)橋只有一個根端口),其他冗余路徑都處于阻塞狀態(tài)。

也可以這么簡單理解,就是在STP算法中,活躍鏈路只包括:根網(wǎng)橋上的'指定端口'--網(wǎng)段中的'指定端口'--非根網(wǎng)橋的'根端口'。所有包括非指定端口的鏈路都是阻塞的。在如圖9-8所示的示例中,根網(wǎng)橋(Switch X)上的兩個端口都是'指定端口',非根網(wǎng)橋(Switch Y)的一個端口為'根端口',另一個端口為'非指定端口',因為在網(wǎng)段1和網(wǎng)段2中已有一個指定端口了,所以不能再在連接同一個網(wǎng)段的交換機上指定某個端口為'指定端口'。

 
(點擊查看大圖)圖9-8  端口角色選舉示例



 
 

9.4.1 STP端口狀態(tài)概述

9.4  STP端口狀態(tài)

在STP中,各種類型的端口都有與其對應的工作狀態(tài)的。當然端口狀態(tài)在從交換機啟動到正常工作過程中,可能會發(fā)生一系列的改變。STP中包括的端口狀態(tài)有:阻塞(Blocking)狀態(tài)、偵聽(Listening)狀態(tài)、學習(Learning)狀態(tài)、轉(zhuǎn)發(fā)(Forwarding)狀態(tài)、禁止(Disabled)狀態(tài)。通過這些不同狀態(tài)的分配,就可以使得交換機(或網(wǎng)橋)上的各端口工作在不同狀態(tài),從而達到無網(wǎng)絡環(huán)路的目的。

9.4.1  STP端口狀態(tài)概述

當協(xié)議信息通過一個交換網(wǎng)絡時,可能發(fā)生傳播延時。其結(jié)果往往是交換網(wǎng)絡的拓撲結(jié)構(gòu)可能會隨時發(fā)生改變。當一個原來不在生成樹拓撲結(jié)構(gòu)中的二層端口直接轉(zhuǎn)變成轉(zhuǎn)發(fā)狀態(tài)時,則可能會創(chuàng)建新的臨時數(shù)據(jù)環(huán)路。

端口在正式進行數(shù)據(jù)幀轉(zhuǎn)發(fā)前必須等待新的拓撲信息,然后再通過交換網(wǎng)絡傳播。但是必須允許已使用舊拓撲結(jié)構(gòu)轉(zhuǎn)發(fā)的幀繼續(xù)轉(zhuǎn)發(fā),直到達到幀的生存周期期滿。

每一個使用STP的二層LAN端口存在于以下5種狀態(tài):

阻塞(Blocking):這種二層LAN端口不能參與幀轉(zhuǎn)發(fā)。

偵聽(Listening):這是端口自阻塞狀態(tài)后的第一個過渡狀態(tài)。STP認為這種狀態(tài)的二層LAN端口應當參與幀轉(zhuǎn)發(fā)。

學習(Learning):這種狀態(tài)的二層LAN端口處于準備參與幀轉(zhuǎn)發(fā)狀態(tài)。

轉(zhuǎn)發(fā)(Forwarding):這種狀態(tài)的二層LAN端口就可以正式轉(zhuǎn)發(fā)幀了。

禁止(Disabled):這種狀態(tài)的二層LAN端口不參與STP,不轉(zhuǎn)發(fā)幀。

以上狀態(tài)的二層LAN端口在數(shù)據(jù)通信中可進行以下5個狀態(tài)轉(zhuǎn)變過程:

從初始化到阻塞狀態(tài)

從阻塞到偵聽或者禁用狀態(tài)

從偵聽到學習或者禁用狀態(tài)

從學習到轉(zhuǎn)發(fā)或者禁用狀態(tài)

從轉(zhuǎn)發(fā)到禁用狀態(tài)

圖9-9描述了一個二層LAN端口是如何進行以上這5個狀態(tài)轉(zhuǎn)變的。

當你啟用了STP,在設備開啟電源后,每個端口和網(wǎng)絡都要經(jīng)歷阻塞、偵聽、學習這類的過渡狀態(tài)。如果有適當?shù)呐渲茫總€二層LAN端口最終會穩(wěn)定到轉(zhuǎn)發(fā)或者禁用狀態(tài)。圖中的實線流程表示一個基本的狀態(tài)轉(zhuǎn)變過程,虛線流程表示在實際的端口狀態(tài)轉(zhuǎn)變過程中可能發(fā)生的狀態(tài)轉(zhuǎn)變過程。

當STP算法把一個二層LAN端口置于轉(zhuǎn)發(fā)狀態(tài),將發(fā)生以下過程:

(1)當二層LAN端口等待協(xié)議信息時置于偵聽狀態(tài),建議置于阻塞狀態(tài)。

(2)二層LAN端口等待轉(zhuǎn)發(fā)延時(Forward delay,此步包括由偵聽狀態(tài)到學習狀態(tài)所需經(jīng)歷的等待時間)到期,轉(zhuǎn)變這個二層LAN端口為學習狀態(tài),并重置轉(zhuǎn)發(fā)延時計數(shù)器(Forward delay timer)。

(3)在學習狀態(tài)下,這個二層LAN端口繼續(xù)阻止幀轉(zhuǎn)發(fā),以便它可以從轉(zhuǎn)發(fā)數(shù)據(jù)庫中學習到終端位置信息。

(4)這個二層LAN端口再次等待轉(zhuǎn)發(fā)延時(此步是由學習狀態(tài)到轉(zhuǎn)發(fā)狀態(tài)所需經(jīng)歷的等待時間)到期,然后轉(zhuǎn)變?yōu)檗D(zhuǎn)發(fā)狀態(tài),此時,學習和轉(zhuǎn)發(fā)這兩種狀態(tài)是同時啟用的。

從以上流程可以看出,在整個端口狀態(tài)轉(zhuǎn)變中,一個端口由初始的阻塞狀態(tài)到轉(zhuǎn)發(fā)狀態(tài)是需要經(jīng)過兩個轉(zhuǎn)發(fā)延時周期的,效率比較低。這是STP最大的不足,也就是它最終被RSTP(快速生成樹協(xié)議)取代的一個重要原因。

以下各節(jié)會具體介紹以上5種端口狀態(tài)。


9.4.2 阻塞狀態(tài)

9.4.2  阻塞狀態(tài)

處于阻塞狀態(tài)的二層LAN端口不參與幀的轉(zhuǎn)發(fā),圖9-10顯示了一個處于阻塞狀態(tài)的二層LAN端口(Port 2)。初始化后,會有一個CBPDU發(fā)送到每個二層LAN端口上的。網(wǎng)絡設備在與其他網(wǎng)絡設備交換CBPDU之前,最初都是假設自己為根的。交換CBPDU后就可以確定網(wǎng)絡中哪個設備可作為根或根網(wǎng)橋。如果在網(wǎng)絡中僅有一個設備,則不會有CBPDU交換過程,在轉(zhuǎn)發(fā)延時到期后,端口就會轉(zhuǎn)變?yōu)閭陕牋顟B(tài)。一個端口在初始化時,總是先置于阻塞狀態(tài)的。

一個處于阻塞狀態(tài)的二層LAN端口可以執(zhí)行以下任務:

丟棄從所在網(wǎng)段中接收到的幀。

丟棄與其他轉(zhuǎn)發(fā)端口交換的幀。

不把終端站點位置信息添加到地址數(shù)據(jù)庫中(因為在阻塞狀態(tài)的二層LAN端口中不具備學習功能,所以不能進行數(shù)據(jù)庫更新)。

接收BPDU,并把它們直接傳到系統(tǒng)模塊(System Module)中。

不傳輸從系統(tǒng)模塊中接收到的BPDU。

接收和響應網(wǎng)絡管理消息。




9.4.3 偵聽狀態(tài)

9.4.3  偵聽狀態(tài)偵聽狀態(tài)是二層LAN端口自阻塞狀態(tài)后進入的一個過渡狀態(tài)。當STP確定這個二層LAN端口應當參與幀轉(zhuǎn)發(fā)時,就進入到偵聽狀態(tài)。圖9-11顯示了一個處于偵聽狀態(tài)的二層LAN端口(Port 2)。 圖9-11  處于偵聽狀態(tài)的端口可執(zhí)行任務示意圖一個處于偵聽狀態(tài)的二層LAN端口可以執(zhí)行以下任務:丟棄從所在網(wǎng)段中接收到的幀。丟棄與其他轉(zhuǎn)發(fā)端口交換的幀。不把終端站點位置信息添加到地址數(shù)據(jù)庫中(因為在偵聽狀態(tài)的二層LAN端口中不具備學習功能,所以不能進行數(shù)據(jù)庫更新)。接收BPDU,并把它們直接傳到系統(tǒng)模塊中。接收、處理和傳輸從系統(tǒng)模塊中接收到的BPDU。接收和響應網(wǎng)絡管理消息。

9.4.4 學習狀態(tài)

9.4.4  學習狀態(tài)處于學習狀態(tài)的二層LAN端口準備參與幀轉(zhuǎn)發(fā)。它是從偵聽狀態(tài)進入到這個學習狀態(tài)的,圖9-12顯示了一個處于學習狀態(tài)的二層LAN端口(Port 2)。一個處于學習狀態(tài)的二層LAN端口可以執(zhí)行以下任務:丟棄從所在網(wǎng)段中接收到的幀。丟棄與其他轉(zhuǎn)發(fā)端口交換的幀。把終端站點位置信息添加到地址數(shù)據(jù)庫中。接收BPDU,并把它們直接傳到系統(tǒng)模塊中。接收、處理和傳輸從系統(tǒng)模塊中接收到的BPDU。接收和響應網(wǎng)絡管理消息。 圖9-12  處于學習狀態(tài)的端口可執(zhí)行任務示意圖

9.4.5 轉(zhuǎn)發(fā)狀態(tài)

9.4.5  轉(zhuǎn)發(fā)狀態(tài)處于轉(zhuǎn)發(fā)狀態(tài)的二層LAN端口可以正式轉(zhuǎn)發(fā)幀了,如圖9-13顯示了一個處于轉(zhuǎn)發(fā)狀態(tài)的二層LAN端口(Port 2)。二層LAN端口是從學習狀態(tài)進入到轉(zhuǎn)發(fā)狀態(tài)的。 圖9-13  處于轉(zhuǎn)發(fā)狀態(tài)的端口可執(zhí)行任務示意圖一個處于轉(zhuǎn)發(fā)狀態(tài)的二層LAN端口可以執(zhí)行以下任務:轉(zhuǎn)發(fā)從所在網(wǎng)段中接收到的幀。轉(zhuǎn)發(fā)與其他轉(zhuǎn)發(fā)端口交換的幀。把終端站點位置信息添加到地址數(shù)據(jù)庫中。接收BPDU,并把它們直接傳到系統(tǒng)模塊中。處理從系統(tǒng)模塊中傳遞的BPDU。接收和響應網(wǎng)絡管理消息。

9.4.6 禁用狀態(tài)

9.4.6  禁用狀態(tài)

處于禁用狀態(tài)的二層LAN端口不參與幀轉(zhuǎn)發(fā)或者STP,如圖9-14所示顯示了一個處于禁用狀態(tài)的二層LAN端口(Port 2)。事實上,這種把二層端口置于禁用狀態(tài)的行為是不建議的,因為這相當于一種浪費。

一個處于禁用狀態(tài)的二層LAN端口會執(zhí)行以下任務:

丟棄從所在網(wǎng)段中接收到的幀。

丟棄與其他轉(zhuǎn)發(fā)端口交換的幀。

不把終端站點位置信息添加到地址數(shù)據(jù)庫中(因為在禁用狀態(tài)的二層LAN端口中不具備學習功能,所以不能進行數(shù)據(jù)庫更新)。

不接收BPDU。

不接收系統(tǒng)模塊中傳遞的BPDU。


 

9.5.1 RSTP概述

9.5  理解RSTP

RSTP(Rapid Spanning Tree Protocol,快速生成樹協(xié)議)是在IEEE 802.1W標準中定義的,是基于IEEE 802.1D的STP技術(shù)而提出的。它解決的就是STP技術(shù)中網(wǎng)絡收斂速度不夠快的不足。但基本工作原理與STP還是基本一樣的,只是在端口角色和狀態(tài)定義上有所改變,以便加速網(wǎng)絡收斂速度。

9.5.1  RSTP概述

RSTP與前面介紹的STP類似,是通過快速生成樹算法在交換網(wǎng)絡中阻斷部分冗余路徑,建立起無環(huán)路的樹狀網(wǎng)絡RSTP所采用的快速生成樹算法與生成樹算法一樣,也是一個分布式算法。RSTP運行在一個橋接網(wǎng)絡中的所有網(wǎng)橋(或者交換機)上,負責為該橋接網(wǎng)絡計算出簡單連通的樹形活躍拓撲結(jié)構(gòu)(Active Topology)。計算時也是先選擇一個網(wǎng)橋作為樹根(即'根網(wǎng)橋'),同時為所有網(wǎng)橋的所有端口指定角色。

與STP相比,RSTP算法基本和IEEE 802.1D標準中定義的STP算法一致,唯一不同的是RSTP解決了STP算法對任何端口只要從Blocking(阻塞)狀態(tài)遷移到Forwarding(轉(zhuǎn)發(fā))狀態(tài)必須經(jīng)過2倍Forward-Delay(包括由偵聽狀態(tài)到學習狀態(tài)的等待時間和由學習狀態(tài)到轉(zhuǎn)發(fā)狀態(tài)的等待時間)時間的缺點。它利用點對點連接,針對各種端口在拓撲結(jié)構(gòu)中角色的不同,對某些端口實現(xiàn)了從Blocking狀態(tài)到Forwarding狀態(tài)的瞬間遷移或快速遷移,提供快速地生成樹收斂,可以少于1秒的時間內(nèi)重新配置生成樹(在802.1D生成樹中默認是50秒)。

RSTP在STP基礎上做了以下3個重要改進(也是RSTP的主要優(yōu)勢),使得收斂速度快得多(最快1秒以內(nèi))。

(1)為'根端口'和'指定端口'設置了快速切換用的'替換端口'(Alternate Port)和'備份端口'(Backup Port)兩種角色。當'根端口'和'指定端口'失效時,'替換端口'和'備份端口'就會無時延地進入轉(zhuǎn)發(fā)狀態(tài)。有關RSTP的端口狀態(tài)將在下節(jié)具體介紹。

(2)在只連接了兩個交換端口的點對點鏈路中,'指定端口'只需與下級網(wǎng)橋進行一次握手就可以無時延地進入轉(zhuǎn)發(fā)狀態(tài)。但如果是連接了三個以上網(wǎng)橋的共享鏈路,下級網(wǎng)橋是不會響應上級'指定端口'發(fā)出的握手請求的,也只能像STP一樣等待兩倍'Forward Delay'時間才能進入轉(zhuǎn)發(fā)狀態(tài)。

(3)把直接與終端相連而不是與其他網(wǎng)橋相連的端口定義為'邊緣端口'(Edge Port)。'邊緣端口'可以直接進入轉(zhuǎn)發(fā)狀態(tài),不需要任何延時。但由于網(wǎng)橋無法知道端口是否是直接與終端相連,所以需要人工配置。

由上可見,RSTP協(xié)議相對于STP協(xié)議的改進主要體現(xiàn)在端口狀態(tài)上。為了支持這些改進,BPDU的格式做了一些修改,但RSTP協(xié)議仍然向下兼容STP協(xié)議,可以混合組網(wǎng)。雖然如此,RSTP和STP一樣同屬于單生成樹SST(Single Spanning-Tree),所以它仍具有它自身的以下不足:

(1)由于整個交換網(wǎng)絡只有一棵生成樹,在網(wǎng)絡規(guī)模比較大的時候會導致較長的收斂時間,拓撲改變的影響面也較大。

(2)在網(wǎng)絡結(jié)構(gòu)不對稱的時候,單生成樹就會影響網(wǎng)絡的連通性。

(3)當鏈路被阻塞后將不承載任何流量,造成了帶寬的極大浪費,這在環(huán)形城域網(wǎng)的情況下比較明顯。

這些缺陷都是單生成樹SST無法克服的,于是支持VLAN的多生成樹(MST)協(xié)議出現(xiàn)了。



9.5.2 RSTP端口角色和拓撲結(jié)構(gòu)

9.5.2  RSTP端口角色和拓撲結(jié)構(gòu)

RSTP通過分配端口角色和學習動態(tài)拓撲結(jié)構(gòu)提供快速生成樹收斂。RSTP依賴802.1D STP選舉具有最高優(yōu)先權(quán)(優(yōu)先權(quán)數(shù)字最小的那個)的交換機擔當'根網(wǎng)橋'。RSTP根據(jù)端口在活動拓撲中的作用,定義了5種端口角色(STP只有3種角色):禁用端口(Disabled Port)、根端口(Root Port)、指定端口(Designated Port)、為支持RSTP的快速特性規(guī)定的替代端口(Alternate Port)和備份端口(Backup Port)。具體如下:

根端口(Root Port):這是STP中就有的一種端口角色。當交換機轉(zhuǎn)發(fā)包到根網(wǎng)橋時,'根端口'可以提供最小的路徑開銷(Path Cost)。

指定端口(Designated Port):這也是STP中就有的一種端口角色。該類端口連接到指定的交換機,在從該交換機上轉(zhuǎn)發(fā)來自LAN中的包到'根網(wǎng)橋'時,該端口可以提供最小的路徑開銷。通過指定交換機與LAN連接的端口稱之為'指定端口'。與STP一樣,每個網(wǎng)段內(nèi)必須有一個指定端口。'根網(wǎng)橋'上的端口都是'指定端口',但非根網(wǎng)幫中也可以有指定端口,這與STP中的'指定端口'是一樣的。

替代端口(Alternate Port):這是RSTP特有的一種端口角色。該類端口為當前'根端口'到'根網(wǎng)橋'提供一條替代路徑。

備份端口(Backup Port):這是RSTP特有的一種端口角色。該類端口為'指定端口'到達生成樹葉提供一條備份路徑。'備份端口'僅當兩個端口在一個由一個點對點鏈路組成的環(huán)路上連接時,或者當交換機有兩個或多個到達共享LAN網(wǎng)段的連接時可以存在。

禁用端口(Disabled Port):這也是STP中就有的一種端口角色。該類端口在生成樹操作中沒有擔當任何角色,不參與RSTP運算。

一個具有根或指定角色的端口是包括在活躍拓撲結(jié)構(gòu)中的,而一個具有交替或備份角色的端口是不在活躍拓撲結(jié)構(gòu)之中的。

在一個有一致端口角色的穩(wěn)定拓撲結(jié)構(gòu)中,RSTP會確保根和指定端口立即轉(zhuǎn)變?yōu)檗D(zhuǎn)發(fā)狀態(tài),而同時交替和備份端口總是處于丟棄狀態(tài)(相當于802.1D中的阻塞狀態(tài))。端口狀態(tài)控制了轉(zhuǎn)發(fā)和學習進程的控制。表9-1提供了802.1D STP和RSTP所包含的端口狀態(tài)比較。

表9-1  STP和RSTP所包含的端口狀態(tài)比較

運作情形

STP端口狀態(tài)
IEEE 802.1D

端口狀態(tài))

RSTP端口狀態(tài)
IEEE 802.1W

端口狀態(tài))

是否包括在活躍
拓撲結(jié)構(gòu)中

Enabled(啟用)

Blocking(阻塞)

Discarding(丟棄)

No

Enabled(啟用)

Listening(偵聽)

Discarding(丟棄)

No

Enabled(啟用)

Learning(學習)

Learning(學習)

Yes

Enabled(啟用)

Forwarding(轉(zhuǎn)發(fā))

Forwarding(轉(zhuǎn)發(fā))

Yes

Disabled(禁止)

Disabled(禁用)

Discarding(丟棄)

No

運作情形

STP端口狀態(tài)
IEEE 802.1D

端口狀態(tài))

RSTP端口狀態(tài)
IEEE 802.1W

端口狀態(tài))

是否包括在活躍
拓撲結(jié)構(gòu)中

Enabled(啟用)

Blocking(阻塞)

Discarding(丟棄)

No

Enabled(啟用)

Listening(偵聽)

Discarding(丟棄)

No

Enabled(啟用)

Learning(學習)

Learning(學習)

Yes

Enabled(啟用)

Forwarding(轉(zhuǎn)發(fā))

Forwarding(轉(zhuǎn)發(fā))

Yes

Disabled(禁止)

Disabled(禁用)

Discarding(丟棄)

No

由以上可以看出,RSTP只有3種端口狀態(tài):Discarding(丟棄)、Leaning(學習)和Forwarding(轉(zhuǎn)發(fā)),它把STP中的Blocking(阻塞)、Listening(偵聽)和Disabled(禁用)統(tǒng)一用一種狀態(tài)--Discarding(丟棄)替代。這樣一來的好處就是一個端口從初始狀態(tài)轉(zhuǎn)變?yōu)檗D(zhuǎn)發(fā)狀態(tài)只需要一個轉(zhuǎn)發(fā)延時周期時間,也就是從學習狀態(tài)到轉(zhuǎn)發(fā)狀態(tài)所需等待的時間。在活躍拓撲結(jié)構(gòu)中,只有'學習'和'轉(zhuǎn)發(fā)'這兩種狀態(tài)的端口。

9.5.3 RSTP的快速收斂原理

9.5.3  RSTP的快速收斂原理

RSTP可以在一個交換機,或者一個交換端口,甚至一個VLAN失效時快速恢復網(wǎng)絡的連通性。所采用的機制就是'建議-同意握手'(proposal-agreement handshake)機制。它為以下邊緣端口、新的根端口,以及通過點到點鏈路而連接的端口提供了快速收斂:

邊緣端口(Edge port):'邊緣端口'是直接連接終端站點的網(wǎng)橋端口。如果在一個RSTP交換機上通過使用spanning-tree portfast接口配置命令把一個端口配置為邊緣端口,則這個邊緣端口會立即轉(zhuǎn)變?yōu)檗D(zhuǎn)發(fā)狀態(tài)。一個邊緣端口同時作為一個啟用了端口快速(PortFast)功能的端口,應當在它僅與單一終端站點連接時啟用它。

根端口(Root Port):如果RSTP選舉一個新的根端口,它將阻塞舊的根端口,并且立即轉(zhuǎn)變這個新的根端口為轉(zhuǎn)發(fā)狀態(tài)。

點對點鏈接(Point-to-point Link):如果你通過一個點對點鏈路把一個端口與另一個端口連接起來,并且本地端口成為指定端口,則該端口將使用'建議-同意握手'機制與其他端口進行協(xié)商,以確保有一個可用的環(huán)路。

圖9-15是一個RSTP端口角色轉(zhuǎn)換示例,在圖中的DP為'指定端口',RP為'根端口',F(xiàn)代表相應端口處于轉(zhuǎn)發(fā)狀態(tài)。

在圖(1)中,Switch A是通過一個點對點鏈路與Switch B連接的,并且所有端口是處于阻塞狀態(tài)的。假設Switch A的優(yōu)先權(quán)高于Switch B,所以Switch A成為'根網(wǎng)橋'。Switch A先通過它的一個'指定端口'(根網(wǎng)橋上的端口都是'指定端口')發(fā)送一個建議消息(一個配置有建議標記設置的BPDU)到Switch B,建議由它自己作為指定交換機。

在Switch B收到這條建議消息(Proposal Message)后,它就會選舉接收這條建議消息的端口作為它的新根端口(如圖(2)所示),強迫所有非邊緣端口置于阻塞狀態(tài),并通過這個新的根端口發(fā)送一個同意消息(Agreement Message,一個配置有同意標記設置的BPDU),如圖(2)所示。

在Switch A接收到了Switch B發(fā)來的同意消息后,立即轉(zhuǎn)變連接的兩個端口為轉(zhuǎn)發(fā)狀態(tài)。因為Switch B阻止了它上面的所有非邊緣端口,在Switch A和Switch B之間就成了一條點對點鏈路,這樣一來在網(wǎng)絡中不會形成環(huán)路。

當Switch C再與Switch B連接時,同樣會存在像Switch A與Switch B之間的握手消息交換。Switch C首先通過接收從中得來的建議消息,選舉與Switch B連接的端口作為它的根端口,如圖(3)所示。然后Switch C向Switch B發(fā)送一條同意消息,在Switch B收到這條同意消息后,就把連接Switch C與Switch B的這兩個端口立即轉(zhuǎn)變?yōu)檗D(zhuǎn)發(fā)狀態(tài)。

在新交換機加入到這個活躍的拓撲結(jié)構(gòu)中時,會重復以上的握手過程。作為網(wǎng)絡匯聚,這個'建議-同意'握手進程是從根網(wǎng)橋指向生成樹葉(也是生成樹的最末端)的,一級級進行。

交換機從端口雙工模式中學習到鏈路類型:一個全雙工模式端口被認為具有一個點對點連接,半雙工模式的端口被認為具有一個共享的連接??梢酝ㄟ^使用spanning-tree link-type接口配置命令進行的默認雙工設置。


9.5.4 RSTP端口角色同步原理

9.5.4  RSTP端口角色同步原理

這里同樣以一個示例進行介紹,如圖9-16所示。當一個交換機一個端口上接收到一個建議消息(Proposal Message)時,這個端口就被選舉為新的'根端口',如圖9-16中的1、6、7。RSTP強迫所有其他端口與這個新的'根端口'信息同步(本節(jié)所講的'同步'是指'根端口'信息的同步,因為一臺交換機上只能有一個'根端口')。如果所有其他端口是同步的,則交換機使用在'根端口'上接收到的上級根信息進行同步,但以下類型端口是不在同步之列的:

處于阻塞狀態(tài)的端口

邊緣端口(配置在邊緣網(wǎng)絡中)

如果一個'指定端口'是在轉(zhuǎn)發(fā)狀態(tài),而不是配置為'邊緣端口',在RSTP強迫與新的根信息同步時,同時轉(zhuǎn)變該端口將為阻塞狀態(tài),如圖中的2和3。通常,在RSTP強迫一個端口去與根信息同步,而端口并不信任根信息中的環(huán)境時,該端口將轉(zhuǎn)變?yōu)樽枞麪顟B(tài)。

在確保所有端口(除阻塞端口狀態(tài)端口和邊緣端口外)同步后,交換機會在其'根端口'上發(fā)送一個建議消息(Agreement Message)到與之相連的交換機上的'指定端口'上,如圖中的4、8、10。當通過點對點鏈路進行連接的交換機在端口角色方面達成一致時,RSTP立即轉(zhuǎn)變點對點鏈路上的交換機端口為轉(zhuǎn)發(fā)狀態(tài),如圖中的5、9、11。也就是原來是阻塞狀態(tài)的端口可以通過一次握手協(xié)商立即轉(zhuǎn)變?yōu)檗D(zhuǎn)發(fā)狀態(tài),不要再經(jīng)過由阻塞狀態(tài)到偵聽狀態(tài),再由偵聽狀態(tài)到學習狀態(tài),最后由學習狀態(tài)到轉(zhuǎn)發(fā)狀態(tài)這三次握手過程。整個過程由STP中的兩倍轉(zhuǎn)發(fā)延時變?yōu)橐粋€轉(zhuǎn)發(fā)延時了。這也就是'快速生成樹協(xié)議'中'快速'的真正含義了。

9.6.1 MST概述

9.6  理解MSTP

前面介紹的STP和RSTP都是針對單一生成樹實例進行應用的。由于單生成樹實例是每個實例對應一個VLAN,這樣一來不僅生成樹實例可能會非常多,難以管理,還沒有一個容錯機制,容易出現(xiàn)單點失效。

按照PVST、PVST+等協(xié)議的規(guī)則,就應該每個VLAN一個生成樹,而且是每隔2秒就會發(fā)送一個BPDU。這對于一個有著上千個VLAN的網(wǎng)絡來說,一方面這么多生成樹維護起來比較困難,另一方面,為每個VLAN每隔2秒就發(fā)送一個BPDU,交換機也是難以承受的。為了解決這一問題,Cisco就開發(fā)新的生成樹技術(shù)--MST。

MSTP(Multiple Spanning Tree Protocol,多生成樹協(xié)議)就是對網(wǎng)絡中眾多的VLAN進行分組,一些VLAN分到一個組里,另外一些VLAN分到另外一個組里。這里的'組'就是后面講的MST實例(Instance)。每個實例一個生成樹,BPDU是只對實例進行發(fā)送的,這樣就可以既達到了負載均衡,又沒有浪費帶寬,因為不是每個VLAN一個生成樹,這樣所發(fā)送的BPDU數(shù)量明顯減少了。

9.6.1  MST概述

【注意】并不是所有的Cisco以太網(wǎng)交換機都支持MSTP,如運行Cisco IOS 12.1(14)EA1以前版本的Catalyst 3750、Catalyst 2950等早期系列交換機就不支持MST。

MSTP對應的標準是IEEE 802.1S。MSTP把IEEE 802.1W標準中的RSTP(Rapid Spanning Tree  Protocol,快速生成樹協(xié)議)算法擴展到多生成樹,在為多VLAN環(huán)境提供了快速收斂的同時也實現(xiàn)了負載均衡的功能。MST比PVST+(對應IEEE 802.1D標準)收斂快,并且和802.1D、802.1W生成樹,以及PVST+結(jié)構(gòu)兼容。

MSTP允許通過中繼來構(gòu)建多個生成樹,可以組合和關聯(lián)多個VLAN到生成樹實例(Spanning Tree Instance,SPI)。每個實例可以有一個獨立于其他生成樹實例的拓撲結(jié)構(gòu)。這種新的架構(gòu)為數(shù)據(jù)通信和負載均衡提供了多個轉(zhuǎn)發(fā)路徑。也提供了網(wǎng)絡容錯機制,因為一個實例(也就是一個轉(zhuǎn)發(fā)路徑)的失效不會影響其他實例。

在大型的網(wǎng)絡中,你可以輕易地管理網(wǎng)絡,并且通過定位于不同VLAN的冗余路徑使用冗余路徑,為網(wǎng)絡中的不同部分分配生成樹實例。生成樹實例僅可以在兼容VLAN實例的網(wǎng)橋設備中存在。你必須為網(wǎng)絡中的網(wǎng)橋設備配置相同的MST配置信息,以使它們參與到指定的的生成樹實例中。具有相同MST配置,相互連接的網(wǎng)橋是指MST區(qū)域。

MSTP具有如下特性:

(1)MSTP運行的生成樹變量稱之為IST(Internal Spanning Tree,內(nèi)部生成樹)。

IST通過添加MST區(qū)域中的內(nèi)部信息而增加了CST(Common Spanning Tree,公共生成樹)信息。MST表現(xiàn)為一個單一網(wǎng)橋到鄰接的單生成樹(Single Spanning Tree,SST)和MST區(qū)域。有關IST、CIST、CST的關系將在后面小節(jié)中介紹。

(2)一個運行MSTP的網(wǎng)橋會按照以下方式提供與單生成樹橋的互操作性:

MST網(wǎng)橋運行IST,IST用有關MST區(qū)域的內(nèi)部信息來增加CST的信息。

IST連接區(qū)域中的所有MST網(wǎng)橋,并且是表現(xiàn)為包括整個橋接域的CST中的一個子樹。MST區(qū)域表現(xiàn)為與鄰接的SST網(wǎng)橋和MST區(qū)域的虛擬橋接。

CIST(Common and Internal Spanning Tree,公共和內(nèi)部生成樹)是每個MST區(qū)域中的內(nèi)部生成樹(IST)、互連MST區(qū)域的CST和SST橋接的集合。STP、RSTP和MSTP共同選舉一個單獨網(wǎng)橋來做為CIST的根網(wǎng)橋。

(3)MSTP在每個MST區(qū)域內(nèi)部建立和維護額外的生成樹。

這些生成樹就是指MST實例(MST Instance,MSTI)。IST的實例號為0,MSTI的實例號為1、2、3等。任何MSTI都是位于MST區(qū)域內(nèi)部,與另一個MST區(qū)域的MSTI無關,即使這兩個MST區(qū)域是相互連接的MSTI的生成樹信息包含在MSTP記錄(M-record)中。MSTP記錄總是封裝在MST的BPDU中。由MSTP計算的原始生成樹叫做M樹(M-tree),M樹只在MST區(qū)域內(nèi)部活躍。M樹和位于MST區(qū)域邊界IST合并形成CST。

(4)通過為非CST VLAN產(chǎn)生的PVST+ BPDU,MST提供與PVST+的互操作性。

(5)MST支持PVST+的以下一些擴展:

在MST模式中UplinkFast和BackboneFast特性無效,但在RSTP中支持這些特性。

支持PortFast特性。

在MST模式中支持BPDU過濾(BPDUFilter)和BPDU保護(BPDU Guard)。

在MST模式中支持環(huán)路保護(Loop Guard)和根保護(Root Guard)特性。

對于私有VLAN(Private VLAN),從VLAN必須和主VLAN映射到同一個實例。

MSTP常應用于骨干和分布式的二層交換網(wǎng)絡中。這種部署在服務提供商環(huán)境中提供了一種高可用性。MSTP通過消除802.1D協(xié)議中的轉(zhuǎn)發(fā)延時,快速轉(zhuǎn)變根網(wǎng)橋端口和指定端口成為轉(zhuǎn)發(fā)狀態(tài)的這種內(nèi)在握手機制來加快生成樹的收斂。

MSTP改善了生成樹操作,并保持與以下STP版本兼容:

以前的802.1D生成樹

現(xiàn)存的Cisco專用的MISTP(Multiple Instance STP,多實例生成樹協(xié)議)

現(xiàn)存的增強型Cisco每VLAN生成樹協(xié)議(PVST+)

增強型快速每VLAN生成樹(Rapid-PVST+)

【說明】在MST中涉及許多術(shù)語,如MST區(qū)域、IST、CIST、CST、MSTI等。理解并區(qū)分這些術(shù)語對于理解MST工作原理非常重要。所以下面分別對以上這些術(shù)語進行具體解釋。



9.6.2 MST區(qū)域

9.6.2  MST區(qū)域

為了使交換機參與MST實例,必須在交換機中始終配置相同的MST配置信息。相同MST配置的互聯(lián)交換機包含一個MST區(qū)域(MST region),如圖9-17所示。

MST配置控制每個交換機屬于哪個MST區(qū)域。其配置包括區(qū)域名稱、版本號和MST VLAN到實例的分配映射。

一個區(qū)域有一個或多個具有相同MST配置的成員,每個成員都必須能處理RSTP BPDU。一個網(wǎng)絡的MST區(qū)域中的成員數(shù)是沒有限制的,但是每個區(qū)域最多只支持65個生成樹實例(是在IOS 12.25XH及以上版本時),也就是說最多有65個VLAN組。實例可以由一個0~4094范圍中的任一數(shù)字標識。你可以分配一個VLAN在同一時刻僅屬于一個生成樹實例中。

要形成一個MST區(qū)域,網(wǎng)橋可以是以下任意一種情形:

一個MST網(wǎng)橋僅是一個MST區(qū)域成員。

通過一個局域網(wǎng)互聯(lián)MST網(wǎng)橋。一個局域網(wǎng)中的'指定網(wǎng)橋'具有與MST網(wǎng)橋相同的MST配置。局域網(wǎng)中的所有網(wǎng)橋都可以處理MST BPDU。

如果你連接兩個具有不同MST配置的MST區(qū)域,MST區(qū)域進行如下操作:

通過網(wǎng)絡中的冗余路徑提供負載均衡。如果兩個MST區(qū)域是冗余連接的,但在同一時刻,在網(wǎng)絡MST區(qū)域中的所有通信流都在單一連接上傳輸。

提供RSTP握手,以啟用在MST區(qū)域間的快速收斂。但是這種握手機制不及兩個網(wǎng)橋間的收斂速度快。為了阻止環(huán)路,所有區(qū)域中的網(wǎng)橋必須統(tǒng)一與其他區(qū)域中的連接,這樣就可以減少延時。不建議分割網(wǎng)絡為多個區(qū)域。

1.邊界端口

一個邊界端口(Boundary Port)就是連接一個局域網(wǎng)、一個SST網(wǎng)橋,或者一個不同MST區(qū)域中的一個'指定網(wǎng)橋'的端口。如果檢測到一個STP網(wǎng)橋,或者接收到一個來自一個RST或者具有不同配置的MST網(wǎng)橋上的同意消息,則可識別該端口為'指定端口'。

在邊界端口中,與MST端口角色無關。它們的狀態(tài)強制與IST端口狀態(tài)一致。如果端口設置了邊界標記,MSTP端口角色選擇一種方法為邊界分配端口角色,并且分配與IST端口相同的狀態(tài)。在邊界中的IST端口可以是除了備份端口角色外的任何角色。

在Cisco預標準中,一個邊界端口是連接一個MST區(qū)域到以下這些STP區(qū)域之一:

一個運行RSTP的單生成樹區(qū)域

一個運行PVST+或者PVST+的單生成樹區(qū)域

另一個具有不同MST配置的MST區(qū)域

一個邊緣端口也可以連接一個局域網(wǎng),指定的交換機可以是一個單生成樹交換機,或者是一個具有不同MST配置的交換機。

在802.1S標準中沒有定義邊界端口。802.1Q-2002標準定義了一個端口可以接收的兩種消息類型:內(nèi)部消息(來自同一個區(qū)域中的消息)和外部消息。當是外部消息時,僅可以由CIST接收。如果這個CIST角色或根或者交替交換機,或者外部BPDU是拓撲結(jié)構(gòu)改變消息,則可能會在MST實例中出現(xiàn)沖突。當是內(nèi)部消息時,屬于CIST部分的則由CIST接收,每個MST實例接收它自己的M記錄(M-record)。

2.IST主

這是IEEE 802.1S預標準中的概念。注意:在最后的版本中是沒有'IST主'這個說法的。在最后版本中,是以'CIST區(qū)域根'替代的。

一個MST區(qū)域的IST主是具有最低網(wǎng)橋ID和具有到達CST根網(wǎng)橋的最低路徑開銷的網(wǎng)橋。如果MST網(wǎng)橋是CST根網(wǎng)橋,則就是MST區(qū)域的IST主。如果CST根網(wǎng)橋在MST區(qū)域外部,則位于邊界的一個MST網(wǎng)橋被選舉為IST主。其他位于邊界的網(wǎng)橋?qū)儆谕粋€區(qū)域,以阻止這些指向CST根網(wǎng)橋的邊界端口的通信。

如果區(qū)域邊界中的兩個或多個網(wǎng)橋具有相同的路徑到達CST根網(wǎng)橋,可以設置一個更低網(wǎng)橋優(yōu)先級值的網(wǎng)橋作為IST主。

 



9.6.3 IST、CST和CIST

9.6.3  IST、CST和CIST

本節(jié)將介紹的IST、CIST和CST這幾個術(shù)語。

1.IST、CST和CIST概述

與其他生成樹協(xié)議中所有生成樹實例都是獨立的不同,MST建立和維護如IST、CST和CIST這樣既有獨立性一面,又可以有相互關聯(lián)的多種生成樹實例。

IST(Internal Spanning Tree,內(nèi)部生成樹)是MST區(qū)域中的一個生成樹實例。在每個MST區(qū)域內(nèi)部,MST維護著多個生成樹實例。實例0是一個特殊的實例(其實可以與VLAN 1類比,VLAN 1是交換機默認的管理VLAN,也是交換機默認的本地VLAN),那就是此處所說的IST。所有其他MST實例號只能在1~4094之間,也可以把IST看成是每個MST區(qū)域的外在表現(xiàn)。默認情況下,所有VLAN是分配到IST實例中的。

IST是僅發(fā)送和接收BPDU的生成樹實例,所有其他生成樹實例信息是包含在MST記錄(MSTP record,又稱'M記錄')中,是用MST BPDU進行封裝的。因為MST BPDU攜帶了所有實例信息,這樣在支持多個生成樹實例時所需要處理的BPDU數(shù)量就會大大減少。

在同一個MST區(qū)域中的所有MST實例共享相同的協(xié)議計時器,但是每個MST實例有它們自己的拓撲結(jié)構(gòu)參數(shù),例如根網(wǎng)橋ID、根路徑開銷等。但是,一個MST實例是與所在區(qū)域相關的,例如,區(qū)域A中的MST實例1與在區(qū)域B中的MST實例1是無關的,即使區(qū)域A和區(qū)域B是互聯(lián)的。

CST(Common Spanning Tree,公共生成樹)是用來互聯(lián)MST區(qū)域的單生成樹。如果把每個MST區(qū)域看作是一個'設備',CST就是這些'設備'通過STP協(xié)議、RSTP協(xié)議計算生成的一棵生成樹。在每個MST區(qū)域中計算出的生成樹都是作為包含整個交換域的CST的子樹出現(xiàn)的。

CIST(Common and Internal Spanning Tree,公共和內(nèi)部生成樹)是連接一個交換網(wǎng)絡內(nèi)所有設備的單生成樹,由IST和CST共同構(gòu)成。

由上可知,從包含的范圍來看,IST是最小的,僅屬于一個MST區(qū)域內(nèi)部,CST次之,則是MST區(qū)域間的互聯(lián)生成樹實例,而CIST則最大,包括了IST和CST。

除了IST、CST和CIST外,還有以下幾個術(shù)語:

MSTI:一個MST域內(nèi)可以通過MSTP算法生成多棵生成樹,各棵生成樹之間彼此獨立。每棵生成樹都稱為一個MSTI(Multiple Spanning Tree Instance,多生成樹實例)。

區(qū)域根網(wǎng)橋(Region Root Bridge):MST域內(nèi)MSTI的根橋就是域根。MST域內(nèi)各棵生成樹的拓撲不同,區(qū)域根也可能不同,也稱之為'MST區(qū)域根'。

公共根網(wǎng)橋(Common Root Bridge):是指CIST的根橋,也就是整個網(wǎng)絡中的根網(wǎng)橋,也稱為'CIST區(qū)域根'。

2.在一個MST區(qū)域內(nèi)的生成樹操作

當IST時,IST的根成為CIST最初的根(稱為執(zhí)行IEEE 802.1S 預標準中的'IST主'),如圖9-17所示。如果在網(wǎng)絡中只有一個區(qū)域的話,'CIST區(qū)域根'也稱為'CST根'。如果CIST中超出了某個區(qū)域,則在這個區(qū)域中的一臺骨干MST交換機會被選舉成為CIST區(qū)域根。

當一個MST交換機初始化時,它發(fā)送標識自己為CIST根和CIST區(qū)域根的BPDU,BPDU中到達CIST根和CIST區(qū)域根的路徑開銷為0。交換機也初始化所有它自己的MST實例和作為根的主張。如果交換機接收到一個比當前端口上存儲的具有更高級的MST根信息(也就是具有更低交換機ID、更低路徑開銷等)時,該交換機就會放棄作為CIST區(qū)域根的主張。

在初始化過程中,一個區(qū)域可能有多個子區(qū)域,每個子區(qū)域擁有它自己的CIST區(qū)域根。當交換機接收到來自同一個區(qū)域中的鄰居交換機的更高IST信息時,它們會離開其原來的子區(qū)域,加入到新的包含真正CIST區(qū)域根的子區(qū)域中。這樣一來就會導致所有子區(qū)域會縮減,除了那個包含真正CIST區(qū)域根的子區(qū)域。

正確的操作是所有在MST區(qū)域中的交換機必須與同一CIST區(qū)域根保持一致。這樣一來,區(qū)域中的任何兩臺交換機,如果要聚合成一個公用CIST區(qū)域根,則僅需要對一個MST實例同步它們的端口角色。

3.在MST區(qū)域間的生成樹操作

如果在一個網(wǎng)絡中有多個MST區(qū)域,或者802.1D交換機,MST建立和維護著網(wǎng)絡中包括所有MST區(qū)域和所有802.1D STP交換機的CST。MST實例是與區(qū)域邊界的IST組合,形成CST。

IST連接著一個區(qū)域中的所有MST交換機,并且是作為整個交換域中CIST的子樹表現(xiàn)的。子樹的根是CIST區(qū)域根。MST區(qū)域的表現(xiàn)形式就是作為鄰接STP交換機和MST區(qū)域的虛擬網(wǎng)橋,也就是一個虛擬的網(wǎng)橋設備。

圖5-25顯示了一個具有三個MST區(qū)域(A、B、C結(jié)點)和一個802.1D交換機(D結(jié)點)的網(wǎng)絡。MST區(qū)域1的CIST區(qū)域根也是CST根,MST區(qū)域2和MST區(qū)域3中的CIST區(qū)域根是CIST內(nèi)各自子樹的根。

只有CST實例發(fā)送和接收BPDU,MST實例添加它們的生成樹信息到BPDU中,以便與鄰居交換機連接,并計算出最后的生成樹拓撲結(jié)構(gòu)。這樣一來,凡是涉及BPDU傳播的生成樹參數(shù)(如hello時間、轉(zhuǎn)發(fā)時間、最長壽命、最大跳數(shù)等)僅在CST實例上配置,但是會影響到所有MST實例。涉及生成樹拓撲結(jié)構(gòu)的參數(shù)(如交換機優(yōu)先權(quán)、端口VLAN開銷和端口VLAN優(yōu)先權(quán)等)則可以在CST實例和MST實例中配置。

MST交換機使用版本3的BPDU或者802.1D STP BPDU來與802.1D交換機通信。MST交換機使用MST BPDU與MST交換機通信。

4.IEEE 802.1S術(shù)語

在以前執(zhí)行的標準中有一些命名協(xié)定已更改,包括一些internal和regional參數(shù)。這些參數(shù)僅用于MST區(qū)域內(nèi)部,區(qū)別于應用于跨越整個網(wǎng)絡中的那些參數(shù)。因為CIST僅是整個網(wǎng)絡的生成樹實例,僅CIST參數(shù)需要外部限定,而不是內(nèi)部或區(qū)域限定。

CIST根(CIST root)是CIST的根網(wǎng)橋,它是跨越整個網(wǎng)絡的唯一實例。

CIST外部根路徑開銷(CIST external root path cost)是到CIST根的開銷。這個開銷在一個MST區(qū)域中是保持不變的。MST中的成員,對CIST看來像單一交換機。CIST外部根路徑開銷是根據(jù)這些虛擬交換機和不屬于任何區(qū)域的交換機之間的根路徑開銷計算的。

CIST區(qū)域根(CIST regional root)在IEEE 802.1s預標準中被稱之為'IST主'(IST master)。如果CST根是在區(qū)域中,'CIST區(qū)域根'就是'CIST根'。否則,'CIST區(qū)域根'是到達'CIST根'最近的交換機。'CIST區(qū)域根'是作為IST的根交換機。

CIST內(nèi)部根路徑開銷(CIST internal root path cost)是一個區(qū)域中交換機到達CIST區(qū)域根的開銷。這個開銷僅與IST(實例0)有關。

表9-2是IEEE標準和Cisco預標準術(shù)語的比較。

表9-2  預標準與正式標準的術(shù)語比較


 
 

 

 

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多