




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、. . . . 交換機(jī)生成樹協(xié)議研究摘 要生成樹協(xié)議(Spanning Tree Protocol STP)是用于局域網(wǎng)中消除數(shù)據(jù)鏈路層物理環(huán)路的協(xié)議。運(yùn)行該協(xié)議的交換機(jī)通過(guò)彼此交互報(bào)文發(fā)現(xiàn)網(wǎng)絡(luò)中的環(huán)路,并有選擇性的對(duì)某些端口進(jìn)行阻塞,最終將環(huán)路網(wǎng)絡(luò)結(jié)構(gòu)修剪成無(wú)環(huán)路的樹型網(wǎng)絡(luò)結(jié)構(gòu),從而達(dá)到消除二層環(huán)路的目的。STP的缺點(diǎn)是收斂速度慢,為解決這一缺陷,RSTP應(yīng)運(yùn)而生??焖偕蓸鋮f(xié)議(Rapid Spanning Tree Protocol RSTP)在STP的基礎(chǔ)上,縮短了轉(zhuǎn)發(fā)延時(shí)可以快速收斂,但是和STP一樣,局域網(wǎng)所有交換機(jī)共享一棵生成樹,不能解決鏈路負(fù)載分擔(dān)的問(wèn)題,多生成樹協(xié)議(Mult
2、iple Spanning Tree Protocol MSTP)可以彌補(bǔ)這一缺陷,它既可以快速收斂,也能使不同VLAN的流量沿各自的路徑轉(zhuǎn)發(fā),從而為冗余鏈路提供了更好的負(fù)載分擔(dān)機(jī)制。本論文論述了STP,RSTP和MSTP的產(chǎn)生背景和發(fā)展,基本概念和原理,以與它們各自的缺陷,并針對(duì)這些問(wèn)題提出了自己的見解。關(guān)鍵詞:生成樹協(xié)議,快速生成樹協(xié)議,虛擬局域網(wǎng),多生成樹協(xié)議Spanning Tree ProtocolAbstract:Spanning Tree Protocol (Spanning Tree Protocol STP) is used for LAN data link layer t
3、o eliminate the physical loops in the agreement. Switch by running the protocol packets that the network interact with each other in the loop, and selectively blocking certain ports, and ultimately into the loop network loop-free tree pruning the network structure, to achieve the elimination of two
4、layer loop purposes. STP drawback is slow convergence, to address this shortcoming, RSTP came into being. RSTP (Rapid Spanning Tree Protocol RSTP) in the STP, based on the forwarding delay can be shortened fast convergence, however, and STP, as all the switches share 、a LAN spanning tree, load-shari
5、ng link can not solve the problem of MSTP (Multiple Spanning Tree Protocol Multiple Spanning Tree Protocol) can fill this gap, both for fast convergence, but also make different VLAN traffic along their path forward, so as to redundant links to provide a better load-sharing mechanism. This paper dis
6、cusses the STP, RSTP and MSTP the background and development, basic concepts and principles, and their respective deficiencies and address these issues put forward their own views.Keyword:Spanning Tree Protocol,Rapid Spanning Tree Protocol,VLAN,Multiple Spanning Tree Protocol目 錄第一章前言1第二章以太網(wǎng)交換機(jī)22.1 以
7、太網(wǎng)發(fā)展歷史與現(xiàn)狀22.2 傳統(tǒng)以太網(wǎng)22.3 透明橋工作原理32.4 傳統(tǒng)以太網(wǎng)與交換式以太網(wǎng)32.5 STP的產(chǎn)生3第三章生成樹協(xié)議 STP53.1 STP協(xié)議基本原理53.2 STP基本概念53.3 STP端口73.3.1 端口狀態(tài)73.3.2 端口狀態(tài)遷移83.4 STP協(xié)議報(bào)文93.4.1 配置BPDU93.4.2 TCN BPDU103.5STP算法實(shí)現(xiàn)的具體過(guò)程113.5.1 配置消息比較原則113.5.2 最優(yōu)配置消息的選擇113.5.3 根橋的選擇113.6 STP的配置消息傳遞機(jī)制123.7 STP定時(shí)器133.8 STP拓?fù)浣Y(jié)構(gòu)的改變133.9 STP算法舉例153.10
8、 STP 的缺點(diǎn)18第四章快速生成樹協(xié)議 RSTP194.1 RSTP的產(chǎn)生背景194.2 RSTP協(xié)議的改進(jìn)204.3 RSTP的缺點(diǎn)27第五章虛擬局域網(wǎng)285.1 VLAN概述285.2 VLAN原理29第六章多生成樹 MSTP316.1 MSTP的產(chǎn)生背景316.2 MSTP基本概念326.3端口角色和端口狀態(tài)346.3.1 端口角色346.3.2 端口狀態(tài)356.4 MSTP的基本原理356.4.1 CIST生成樹的計(jì)算366.4.2 MSTI的計(jì)算366.4.3 生成樹協(xié)議算法實(shí)現(xiàn)過(guò)程36結(jié)論38致39參考文獻(xiàn)4041 / 45第一章 前言在實(shí)際的交換網(wǎng)絡(luò)中,為了提高整個(gè)網(wǎng)絡(luò)的可靠性
9、,消除單點(diǎn)失效故障,通常在網(wǎng)絡(luò)設(shè)計(jì)中采用多臺(tái)設(shè)備、多個(gè)端口、多條線路的冗余連接方式。但是這樣的拓?fù)浣Y(jié)構(gòu)會(huì)導(dǎo)致二層環(huán)路的產(chǎn)生,如果交換機(jī)不對(duì)二層環(huán)路做處理,將會(huì)導(dǎo)致嚴(yán)重的網(wǎng)絡(luò)問(wèn)題,如:廣播風(fēng)暴,幀的重復(fù)復(fù)制,交換機(jī)的MAC地址漂移等問(wèn)題。生成樹協(xié)議就是為了解決二層環(huán)路而產(chǎn)生的,STP能夠自動(dòng)發(fā)現(xiàn)冗余網(wǎng)絡(luò)拓?fù)渲械沫h(huán)路,保留一條最佳鏈路做轉(zhuǎn)發(fā)鏈路,阻塞其他冗余鏈路,并且在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化的情況下重新計(jì)算,保證所有的網(wǎng)段的可達(dá)且無(wú)環(huán)路。STP協(xié)議和其它網(wǎng)絡(luò)協(xié)議一樣,是隨著網(wǎng)絡(luò)的不斷發(fā)展而不斷更新?lián)Q代的。最初被廣泛應(yīng)用的是IEEE802.1d版本,隨后又出現(xiàn)了IEEE802.1w RSTP協(xié)議和IE
10、EE802.1s MSTP協(xié)議。RSTP協(xié)議提供了端口狀態(tài)的快速轉(zhuǎn)換功能,使網(wǎng)絡(luò)拓?fù)涞氖諗繒r(shí)間大大減少。MSTP協(xié)議在RSTP協(xié)議的基礎(chǔ)上引入了域和實(shí)例的概念,首先將網(wǎng)絡(luò)中不同的橋設(shè)備與其VLAN劃分為不同的域,在域設(shè)定各個(gè)VLAN到生成樹實(shí)例的映射關(guān)系,這樣既提供了快速收斂能力,同時(shí)也在域?qū)W(wǎng)絡(luò)冗余的網(wǎng)絡(luò)帶寬進(jìn)行了有效應(yīng)用。MSTP具有LVAN認(rèn)知能力,可以實(shí)現(xiàn)負(fù)載均衡,實(shí)現(xiàn)類似RSTP的端口狀態(tài)快速切換,可以捆綁多個(gè)VLAN到一個(gè)實(shí)例中以降低資源占用率,可以很好的兼容STP/RSTP協(xié)議。因此,MSTP協(xié)議能夠成為當(dāng)今生成樹發(fā)展的一致方向是當(dāng)之無(wú)愧的。然而,隨著應(yīng)用的深入,各種新的二層隧道
11、技術(shù)不斷涌現(xiàn),例如Cisco的802.1q Tunneling,今后生成樹協(xié)議該如何發(fā)展,又需要我們積極的去探索研究了。第二章 以太網(wǎng)交換機(jī)2.1 以太網(wǎng)發(fā)展歷史與現(xiàn)狀以太網(wǎng)是在70年代由Xerox公司Palo Alto研究中心推出的。由于介質(zhì)技術(shù)的發(fā)展,Xerox可以將許多機(jī)器相互連接,形成巨型打印機(jī),這就是以太網(wǎng)的原型。后來(lái),Xerox公司推出了帶寬為2Mb/s的以太網(wǎng),又和Intel和DEC公司合作推出了帶寬為10Mb/s的以太網(wǎng),這就是通常所稱的以太網(wǎng)或以太網(wǎng)DIX(Digital,Intel和Xerox)。IEEE(電器和電子工程師協(xié)會(huì))下屬的802協(xié)委員會(huì)制定了一系列局域網(wǎng)標(biāo)準(zhǔn),其
12、中以太網(wǎng)標(biāo)準(zhǔn)(IEEE802.3)與由Intel、Digital 和Xerox推出的以太網(wǎng)非常相似。隨著以太網(wǎng)技術(shù)的不斷進(jìn)步與帶寬的提升,目前在很多情況下以太網(wǎng)成為了局域網(wǎng)的代名詞。2.2 傳統(tǒng)以太網(wǎng)以太網(wǎng)使用CSMA/CD(Carrier Sense Multiple Access with Collision Detection,帶有沖突監(jiān)測(cè)的載波偵聽多址訪問(wèn))。首先,以太網(wǎng)網(wǎng)段上需要進(jìn)行數(shù)據(jù)傳送的節(jié)點(diǎn)對(duì)導(dǎo)線進(jìn)行監(jiān)聽,這個(gè)過(guò)程稱為 CSMA/CD的載波偵聽。如果,這時(shí)有另外的節(jié)點(diǎn)正在傳送數(shù)據(jù),監(jiān)聽節(jié)點(diǎn)將不得不等待,直到傳送節(jié)點(diǎn)的傳送任務(wù)結(jié)束。如果某時(shí)恰好有兩個(gè)工作站同時(shí)準(zhǔn)備傳送數(shù)據(jù),以太網(wǎng)
13、網(wǎng)段將發(fā)出“沖突”信號(hào)。這時(shí),節(jié)點(diǎn)上所有的工作站都將檢測(cè)到?jīng)_突信號(hào),因?yàn)?,這時(shí)導(dǎo)線上的電壓超出了標(biāo)準(zhǔn)電壓。沖突產(chǎn)生后,這兩個(gè)節(jié)點(diǎn)都將立即發(fā)出擁塞信號(hào),以確保每個(gè)工作站都檢測(cè)到這時(shí)以太網(wǎng)上已產(chǎn)生沖突,然后,網(wǎng)絡(luò)進(jìn)行恢復(fù),在恢復(fù)的過(guò)程中,導(dǎo)線上將不傳送數(shù)據(jù)。當(dāng)兩個(gè)節(jié)點(diǎn)將擁塞信號(hào)傳送完,并過(guò)了一段隨機(jī)時(shí)間后,這兩個(gè)節(jié)點(diǎn)便開始啟動(dòng)隨機(jī)計(jì)時(shí)器。第一個(gè)隨機(jī)計(jì)時(shí)器到期的工作站將首先對(duì)導(dǎo)線進(jìn)行監(jiān)聽,當(dāng)它監(jiān)聽到?jīng)]有任何信息在傳輸時(shí),便開始傳輸數(shù)據(jù)。當(dāng)?shù)诙€(gè)工作站隨機(jī)計(jì)時(shí)器到期后,也對(duì)導(dǎo)線進(jìn)行監(jiān)聽,當(dāng)監(jiān)聽到第一個(gè)工作站已經(jīng)開始傳輸數(shù)據(jù)后,就只好等待了。在 CSMA/CD 方式下,在一個(gè)時(shí)間段,只有一個(gè)節(jié)點(diǎn)能夠在導(dǎo)
14、線上傳送數(shù)據(jù)。如果其他節(jié)點(diǎn)想傳送數(shù)據(jù),必須等到正在傳輸?shù)墓?jié)點(diǎn)的數(shù)據(jù)傳送結(jié)束后才能開始傳輸數(shù)據(jù)。以太網(wǎng)之所以稱作共享介質(zhì)就是因?yàn)楣?jié)點(diǎn)共享同一傳輸介質(zhì)這一事實(shí)。2.3 透明橋工作原理在網(wǎng)絡(luò)發(fā)展初期,透明網(wǎng)橋是一個(gè)不得不提的重要角色。它比只會(huì)放大和廣播信號(hào)的HUB聰明的多,它會(huì)悄悄把發(fā)向它的數(shù)據(jù)幀的源MAC和端口記錄下來(lái),下次碰到這個(gè)目的MAC的報(bào)文就只從記錄中的端口號(hào)發(fā)送出去,除非目的的MAC沒有記錄或者目的的MAC就是多播地址才會(huì)向所有端口發(fā)送,通過(guò)透明網(wǎng)橋不同的局域網(wǎng)之間可以互通,而且由于具備MAC地址學(xué)習(xí)功能而不會(huì)像HUB那樣造成網(wǎng)絡(luò)報(bào)文沖撞泛濫。2.4 傳統(tǒng)以太網(wǎng)與交換式以太網(wǎng)HUB(集線
15、器)只對(duì)信號(hào)做簡(jiǎn)單的再生與放大,所有設(shè)備共享一個(gè)傳輸介質(zhì),設(shè)備必須遵循CSMA/CD方式進(jìn)行通訊。使用HUB連接的傳統(tǒng)共享式以太網(wǎng)中所有工作站處于同一個(gè)沖突域和同一個(gè)廣播域之中。交換機(jī)根據(jù)MAC地址轉(zhuǎn)發(fā)或過(guò)濾數(shù)據(jù)幀,隔離了沖突域,工作在數(shù)據(jù)鏈路層。所以交換機(jī)每個(gè)端口都是單獨(dú)的沖突域。如果工作站直接連接到交換機(jī)的端口,此工作站獨(dú)享帶寬。但是由于交換機(jī)對(duì)目的地址為廣播的數(shù)據(jù)幀做洪泛的操作,廣播幀會(huì)被轉(zhuǎn)發(fā)到所有端口,所以所有通過(guò)交換機(jī)連接的工作站都處于同一個(gè)廣播域之中。2.5 STP的產(chǎn)生在現(xiàn)在的局域網(wǎng)結(jié)構(gòu)中,為了提高整個(gè)網(wǎng)絡(luò)的可靠性,消除單點(diǎn)失效故障,通常在網(wǎng)絡(luò)設(shè)計(jì)中采用多臺(tái)設(shè)備、多個(gè)端口、多條線
16、路的冗余連接方式。但是這樣的連接方式會(huì)產(chǎn)生環(huán)路問(wèn)題,如圖2-1所示:圖2-1 冗余連接在圖2-1所示的網(wǎng)絡(luò)中,可能產(chǎn)生如下的兩種情況:1. 廣播環(huán)路當(dāng)PC A發(fā)出一個(gè)廣播數(shù)據(jù)幀時(shí),該廣播會(huì)被無(wú)休止的轉(zhuǎn)發(fā)。在很短的時(shí)間大量重復(fù)的廣播幀被不斷循環(huán)轉(zhuǎn)發(fā)消耗掉整個(gè)網(wǎng)絡(luò)的帶寬,而連 接在這個(gè)網(wǎng)段上的所有主機(jī)設(shè)備也會(huì)受到影響,CPU 將不得不產(chǎn)生中斷來(lái)處理不 斷到來(lái)的廣播幀,極消耗系統(tǒng)的處理能力,嚴(yán)重的可能導(dǎo)致死機(jī)。2. MAC地址表震蕩在圖2-1中,即使是單播,也有可能導(dǎo)致異常。交換機(jī)SW1可以在端口B上學(xué)習(xí)到PC B的MAC地址,但是由于SW2會(huì)將PC B發(fā)出的數(shù)據(jù)幀向自己其它的端口轉(zhuǎn)發(fā),所以SW1也
17、可能在端口A上學(xué)習(xí)到PC B的MAC地址。如此SW1會(huì)不停的修改自己的MAC地址表。這樣就引起了MAC地址表的抖動(dòng)。在實(shí)際的組網(wǎng)應(yīng)用中經(jīng)常會(huì)形成復(fù)雜的多環(huán)路連接。面對(duì)如此復(fù)雜的環(huán)路,網(wǎng)絡(luò)設(shè)備必須有一種解決辦法阻止環(huán)路的發(fā)生。在這種情況下,生成樹協(xié)議以救世主的角色出現(xiàn)了。第三章 生成樹協(xié)議 STP3.1 STP協(xié)議基本原理STP協(xié)議的基本原理非常簡(jiǎn)單,自然界生長(zhǎng)的樹是不會(huì)出現(xiàn)環(huán)路的,如果網(wǎng)絡(luò)也能夠像一棵樹一樣的生長(zhǎng)就不會(huì)出現(xiàn)環(huán)路。因此,STP協(xié)議中定義了根橋(Root Bridge)、根端口(Root Port)、指定端口(Designated Port)、路徑開銷(Path Cost)等概念,
18、目的就在于通過(guò)構(gòu)造一棵自然樹的方法達(dá)到剪裁冗余環(huán)路的目的,同時(shí)實(shí)現(xiàn)鏈路備份和路徑最優(yōu)化。為了實(shí)現(xiàn)這些功能,交換機(jī)之間就必須進(jìn)行一些信息交流,這些信息交流單元成為配置消息BPDU(Bridge Protocol Data Unit),STP BPDU為二層報(bào)文,數(shù)據(jù)區(qū)攜帶了用于生成樹計(jì)算的所有有用信息,所有支持STP協(xié)議的交換機(jī)都會(huì)接收并處理收到的BPDU報(bào)文。用于構(gòu)造這棵樹的算法稱為生成樹算法SPA(Spanning Tree Algorithm),STP的基本思想是生成“一棵樹”,樹的根是稱為根橋的交換機(jī),根據(jù)橋ID不同,較優(yōu)的交換機(jī)被選為根橋,任意時(shí)刻只能有一個(gè)根橋。由根橋開始,逐級(jí)形成一
19、棵樹,根橋定時(shí)發(fā)送配置消息,非根橋接收配置報(bào)文并轉(zhuǎn)發(fā),如果某臺(tái)交換機(jī)能夠從兩個(gè)以上的端口收到配置報(bào)文,則說(shuō)明從該交換機(jī)到根有不止一條路徑,便構(gòu)成了循環(huán)回路,從此交換機(jī)根據(jù)端口的配置選出一個(gè)端口并把其他的端口阻塞,消除循環(huán)。當(dāng)某個(gè)端口長(zhǎng)時(shí)間不能接收到配置報(bào)文的時(shí)候,交換機(jī)認(rèn)為端口的配置超時(shí),網(wǎng)絡(luò)拓?fù)淇赡芤呀?jīng)改變,此時(shí)重新計(jì)算網(wǎng)絡(luò)拓?fù)?,重新生成一棵樹?.2 STP基本概念1. 跟橋(Root Bridge)樹形的網(wǎng)絡(luò)結(jié)構(gòu),必須要有樹根,于是STP引入了跟橋的概念。根橋在全網(wǎng)中只有一個(gè),而且根橋會(huì)根據(jù)網(wǎng)絡(luò)拓?fù)涞淖兓淖?,因此根橋并不是固定的。網(wǎng)絡(luò)收斂后,根橋會(huì)按照一定的時(shí)間間隔產(chǎn)生并向外發(fā)送配置
20、BPDU,其他的設(shè)備對(duì)該配置BPDU進(jìn)行轉(zhuǎn)發(fā),從而保證拓?fù)涞姆€(wěn)定。2. 根端口(Root Port)所謂根端口,是指一個(gè)非根橋的設(shè)備上離根橋最近的端口。根端口負(fù)責(zé)與根橋進(jìn)行通信。非根橋設(shè)備上有且只有一個(gè)根端口,根橋上沒有根端口。3. 指定橋(Designated Bridge)與指定端口(Designated Port)1) 對(duì)于一臺(tái)設(shè)備而言,指定橋是與交換機(jī)直接相連并且負(fù)責(zé)向交換機(jī)轉(zhuǎn)發(fā)BPDU報(bào)文的設(shè)備,指定端口為指定橋向本機(jī)轉(zhuǎn)發(fā)BPDU報(bào)文的端口;2) 對(duì)于一個(gè)局域網(wǎng)而言,指定橋是負(fù)責(zé)向本網(wǎng)段轉(zhuǎn)發(fā)BPDU報(bào)文的設(shè)備,指定端口為指定橋向本網(wǎng)段轉(zhuǎn)發(fā)BPDU報(bào)文的端口。指定橋與指定端口如圖3-1
21、所以,AP1、AP2、BP1、BP2、CP1、CP2分別表示設(shè)備Device A、Device B、Device C的端口。1) Device A通過(guò)端口AP1向Device B轉(zhuǎn)發(fā)配置消息,則Device B的指定橋就是Device A,指定端口就是Device A的端口AP1;2) 與局域網(wǎng)LAN相連的有兩臺(tái)設(shè)備:Device B和Device C,如果Device B負(fù)責(zé)向LAN轉(zhuǎn)發(fā)配置消息,則LAN的指定橋就是Device B,指定端口就是Device B的BP2。圖3-1 指定橋和指定端口4. 路徑開銷(Path Cost)路徑開銷是STP協(xié)議用于選擇鏈路的參考值。STP協(xié)議通過(guò)計(jì)算
22、路徑開銷,選擇較為“強(qiáng)壯”的鏈路,阻塞多余的鏈路,將網(wǎng)絡(luò)修剪成無(wú)環(huán)路的樹型網(wǎng)絡(luò)結(jié)構(gòu)。3.3 STP端口3.3.1 端口狀態(tài)STP協(xié)議中的端口有五種狀態(tài),如下所示:1. Blocking(阻塞狀態(tài))該端口處于使能狀態(tài),但根據(jù)STP算法的計(jì)算結(jié)果,該端口不屬于生成樹的有效組成端口(既有其他路徑可以生成生成樹結(jié)構(gòu),同時(shí)比該端口所在的路徑具有更優(yōu)的結(jié)構(gòu))。處于阻塞狀態(tài)的端口只接受STP BPDU報(bào)文,不轉(zhuǎn)發(fā)STP BPDU報(bào)文,不接收和轉(zhuǎn)發(fā)其他業(yè)務(wù)報(bào)文。2. Listening(監(jiān)聽狀態(tài))該端口處于使能狀態(tài),同時(shí)該端口已近被選為生成樹的有效組成端口,但為了防止網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的動(dòng)蕩變化造成生成樹的不穩(wěn)當(dāng),
23、在blocking和forwarding狀態(tài)之間添加了listening狀態(tài),該狀態(tài)監(jiān)聽網(wǎng)絡(luò)中的BPDU報(bào)文判斷是否有更優(yōu)的路徑,同時(shí)該端口開始將FDB表中的相關(guān)表項(xiàng)進(jìn)行清除,該狀態(tài)接收轉(zhuǎn)發(fā)STP BPDU報(bào)文,不接受和轉(zhuǎn)發(fā)普通業(yè)務(wù)報(bào)文。3. Learning(學(xué)習(xí)狀態(tài))該端口處于使能狀態(tài),同時(shí)該端口已經(jīng)被選為生成樹的有效組成端口。但為了防止網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的動(dòng)蕩變化造成生成樹的不穩(wěn)當(dāng),在blocking和forwarding狀態(tài)之間添加了learning狀態(tài),在端口保持在listening狀態(tài)一定時(shí)間之后,若沒有發(fā)現(xiàn)其他更有路徑,則該端口由listening狀態(tài)轉(zhuǎn)到learning狀態(tài)。該狀態(tài)監(jiān)
24、聽網(wǎng)絡(luò)中的BPDU報(bào)文判斷是否有更優(yōu)的路徑,同時(shí)端口接收和轉(zhuǎn)發(fā)STP BPDU報(bào)文,接收普通業(yè)務(wù)報(bào)文,并學(xué)習(xí)報(bào)文MAC地址,不轉(zhuǎn)發(fā)普通業(yè)務(wù)報(bào)文。4. Forwarding(轉(zhuǎn)發(fā)狀態(tài))該端口處于使能狀態(tài),同時(shí)該端口已經(jīng) 被選為生成樹的有效組成端口。在端口處于listening狀態(tài)一定時(shí)間之后,若沒有發(fā)現(xiàn)其他更優(yōu)路徑,該端口由listening狀態(tài)轉(zhuǎn)到forwarding轉(zhuǎn)臺(tái)。該狀態(tài)接收和轉(zhuǎn)發(fā)STP BPDU報(bào)文,同時(shí)接收和轉(zhuǎn)發(fā)普通業(yè)務(wù)報(bào)文。5. Disable(禁用狀態(tài))該狀態(tài)可以認(rèn)為是物理上沒有連通的端口。STP端口狀態(tài)和各狀態(tài)情況如表3-1所示。表3-1 端口狀態(tài)端口狀態(tài)地址學(xué)習(xí)能力轉(zhuǎn)發(fā)/接
25、收?qǐng)?bào)文能力接收BPDU報(bào)文發(fā)送BPDU報(bào)文DisableNONONONOBlockingNONOYESNOListeningNONOYESYESLearningYESNOYESYESForwardingYESYESYESYES3.3.2 端口狀態(tài)遷移STP協(xié)議端口狀態(tài)遷移情況如圖3-2所示:圖3-2端口狀態(tài)遷移(1)端口enable (4)端口被選為備用端口(阻塞)(2)端口disable (5)Forward delay 延時(shí)(3)端口被選為根端口或指定端口 3.4 STP協(xié)議報(bào)文STP采用的協(xié)議報(bào)文是BPDU(Bridge Protocol Data Unit,橋協(xié)議數(shù)據(jù)單元),也稱為配置
26、消息。STP BPDU為二層報(bào)文,缺省每2秒發(fā)出,數(shù)據(jù)區(qū)攜帶了用于生成樹計(jì)算的所有有用信息。STP通過(guò)在設(shè)備之間傳遞BPDU來(lái)確定網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。BPDU中包含了足夠的信息來(lái)保證設(shè)備完成生成樹的計(jì)算過(guò)程。BPDU在STP協(xié)議中分為兩類:1. 配置BPDU(Configuration BPDU)用于進(jìn)行生成樹計(jì)算和維護(hù)生成樹拓?fù)涞膱?bào)文。2. TCN BPDU(Topology Change Notification BPDU)當(dāng)拓?fù)浣Y(jié)構(gòu)發(fā)生變化時(shí),用于通知相關(guān)設(shè)備網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化的報(bào)文。3.4.1 配置BPDUSTP通過(guò)在設(shè)備之間傳遞BPDU來(lái)確定網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。配置消息中包含了足夠的信息來(lái)
27、保證設(shè)備完成生成樹的計(jì)算過(guò)程。如圖3-3所示:圖3-3 配置BPDUBPDU數(shù)據(jù)報(bào)文的最后8個(gè)字段,分別是:根橋ID:由樹根的優(yōu)先級(jí)(0-65535,默認(rèn)32768)和MAC地址組合而成,到樹根的最短路徑開銷(實(shí)際由PortPathCost疊加而成),有兩個(gè)標(biāo)準(zhǔn)dot1d-1998,默認(rèn)值為100和dot1t,默認(rèn)值為200000;指定橋的ID:由指定交換機(jī)的優(yōu)先級(jí)和MAC地址組合而成;指定端口的ID:由指定端口的優(yōu)先級(jí)(0-256,默認(rèn)128)和端口編號(hào)組成;配置消息的生存期:MessageAge;配置消息的最大生存期:MaxAge;配置消息發(fā)送的周期:HelloTime;端口狀態(tài)遷移的延時(shí)
28、:ForwardDelay。啟動(dòng)了STP的交換機(jī)互相之間通過(guò)發(fā)送配置BPDU來(lái)完成根橋,指定橋的選舉,各端口狀態(tài)的選擇和整個(gè)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的確定。比較的關(guān)鍵部分在于這八個(gè)字段中的前四個(gè)字段,即:根橋ID、根路徑開銷、指定橋ID和指定端口的ID。其實(shí)還有一個(gè)接收端口的ID,用于本地比較(當(dāng)交換機(jī)的2個(gè)端口都收到一樣的BPDU時(shí)比如上連一個(gè)stp disable的交換機(jī)或hub)。比較的原則:從上到下、從左到右數(shù)值小者優(yōu)先。STP協(xié)議使用的所有BPDU都是組播報(bào)文,目的MAC是01-80-c2-00-00-00。3.4.2 TCN BPDUTCN BPDU 格式如表3-2所示:表3-2 TCN BP
29、DU域字節(jié)協(xié)議號(hào)2版本1類型1協(xié)議號(hào):占用兩個(gè)字節(jié),STP協(xié)議的對(duì)應(yīng)值為0000 0000 0000 0000版本:占用一個(gè)字節(jié),STP協(xié)議的對(duì)應(yīng)值是0000 0000類型:占用一個(gè)字節(jié),configuration BPDU對(duì)應(yīng)值是1000 00003.5 STP算法實(shí)現(xiàn)的具體過(guò)程3.5.1 配置消息比較原則配置消息的比較原則如下:1) 根橋ID較小的配置消息優(yōu)先級(jí)高;2) 若根橋ID一樣,則比較根路徑開銷,比較方法為:用配置消息中的根路徑開銷加上本端口對(duì)應(yīng)的路徑開銷,假設(shè)兩者之和為S,則S較小的配置消息優(yōu)先級(jí)較高;3) 若根路徑開銷也一樣,則比較以下的配置消息優(yōu)先級(jí),優(yōu)先級(jí)較高的為根橋:指定
30、橋ID、指定端口ID、接收該配置消息的端口ID等。3.5.2 最優(yōu)配置消息的選擇各臺(tái)設(shè)備都向外發(fā)送自己的配置消息,同時(shí)也會(huì)收到其他設(shè)備發(fā)送的配置消息。最優(yōu)配置消息的選擇過(guò)程如下所示:1) 每個(gè)端口收到配置消息后的處理過(guò)程如下:a) 當(dāng)端口收到的配置消息比本端口配置消息的優(yōu)先級(jí)低時(shí),設(shè)備會(huì)將接收到的配置消息丟棄,對(duì)該端口的配置消息不作任何處理。b) 當(dāng)端口收到的配置消息比本端口配置消息的優(yōu)先級(jí)高時(shí),設(shè)備就用接收到的配置消息中的容替換該端口的配置消息中的容。2) 設(shè)備將所有端口的配置消息進(jìn)行比較,選出最優(yōu)的配置消息。3.5.3 根橋的選擇網(wǎng)絡(luò)初始化時(shí),網(wǎng)絡(luò)中所有的STP設(shè)備都認(rèn)為自己是“根橋”,根
31、橋ID為自身的橋ID。通過(guò)交換配置消息,設(shè)備之間比較根橋ID,網(wǎng)絡(luò)中根橋ID最小的設(shè)備被選為根橋。1. 根端口、指定端口的選擇根端口、指定端口的選擇如下所示:1) 非根橋設(shè)備將接收最優(yōu)配置消息的那個(gè)端口定為根端口。2) 設(shè)備根據(jù)根端口的配置消息和根端口的路徑開銷,為每個(gè)端口計(jì)算一個(gè)指定端口配置消息:a) 跟橋ID替換為根端口的配置消息的根橋ID;b) 根路徑開銷替換為根端口配置消息的根路徑開銷加上根端口對(duì)應(yīng)的路徑開銷;c) 指定橋ID替換為自身設(shè)備的ID;d) 指定端口ID替換為自身端口ID。3) 設(shè)備使用計(jì)算出來(lái)的配置消息和需要確定端口角色的端口上的配置消息進(jìn)行比較,并根據(jù)比較結(jié)果進(jìn)行不同的
32、處理:a) 如果計(jì)算出來(lái)的配置消息優(yōu),則設(shè)備就將該端口定為指定端口,端口上的配置消息被計(jì)算出來(lái)的配置消息替換,并周期性向外發(fā)送。b) 如果端口上的配置消息優(yōu),則設(shè)備不更新該端口配置消息并將此端口阻塞,該端口將不再轉(zhuǎn)發(fā)數(shù)據(jù),只接收但不發(fā)送配置消息;一旦根橋、根端口、指定端口選舉成功,則整個(gè)樹形拓?fù)渚徒⑼戤吜恕?.6 STP的配置消息傳遞機(jī)制1. 當(dāng)網(wǎng)絡(luò)初始化時(shí),所有的設(shè)備都將自己作為根橋,生成以自己為根的配置消息,并以Hello Time為周期定時(shí)向外發(fā)送。2. 接收到配置消息的端口如果是根端口,且接收的配置消息比該端口的配置消息優(yōu),則設(shè)備將配置消息中攜帶的Message Age按照一定的原則
33、遞增,并啟動(dòng)定時(shí)器為這條配置消息計(jì)時(shí),同時(shí)將此配置消息從設(shè)備的指定端口轉(zhuǎn)發(fā)出去。3. 如果指定端口收到的配置消息比本端口的配置消息優(yōu)先級(jí)低時(shí),會(huì)立刻發(fā)出自己的更好的配置消息進(jìn)行回應(yīng)。4. 如果某條路徑發(fā)生故障,則這條路徑上的根端口不會(huì)再收到新的配置消息,舊的配置消息將會(huì)因?yàn)槌瑫r(shí)而被丟棄,設(shè)備重新生成以自己為根的配置消息并向外發(fā)送BPDU和TCN BPDU,從而引發(fā)生成樹的重新計(jì)算,得到一條新的通路替代發(fā)生故障的鏈路,恢復(fù)網(wǎng)絡(luò)連通性。不過(guò),重新計(jì)算得到的新配置消息不會(huì)立刻就傳遍整個(gè)網(wǎng)絡(luò),因此舊的根端口和指定端口由于沒有發(fā)現(xiàn)網(wǎng)絡(luò)拓?fù)渥兓瑢⑷园丛瓉?lái)的路徑繼續(xù)轉(zhuǎn)發(fā)數(shù)據(jù)。如果新選出的根端口和指定端口立
34、刻就開始數(shù)據(jù)轉(zhuǎn)發(fā)的話,可能會(huì)造成暫時(shí)性的環(huán)路。3.7 STP定時(shí)器STP計(jì)算中,需要使用三個(gè)重要的時(shí)間參數(shù):Forward Delay、Hello Time和Max Age。1. Forward Delay為交換機(jī)狀態(tài)遷移的延遲時(shí)間。鏈路故障會(huì)引發(fā)網(wǎng)絡(luò)重新進(jìn)行生成樹的計(jì)算,生成樹的結(jié)構(gòu)將發(fā)生相應(yīng)的變化。不過(guò)重新計(jì)算得到的新配置消息無(wú)法立刻傳遍整個(gè)網(wǎng)絡(luò),如果新選出的根端口和指定端口立刻就開始數(shù)據(jù)轉(zhuǎn)發(fā)的話,可能會(huì)造成暫時(shí)性的路徑回環(huán)。為此,生成樹協(xié)議采用了一種狀態(tài)遷移的機(jī)制,根端口和指定端口重新開始數(shù)據(jù)轉(zhuǎn)發(fā)之前要經(jīng)歷一個(gè)中間狀態(tài),中間狀態(tài)經(jīng)過(guò)2倍的Forward Delay的延時(shí)后才能進(jìn)入Forw
35、arding狀態(tài),這個(gè)延時(shí)保證了新的配置消息已經(jīng)傳遍整個(gè)網(wǎng)絡(luò)。2. Hello Time用于交換機(jī)檢測(cè)鏈路是否存在故障。交換機(jī)每隔Hello Time時(shí)間會(huì)向周圍的交換機(jī)發(fā)送hello報(bào)文,以確認(rèn)鏈路是否存在故障。3. Max Age是用來(lái)判斷配置消息在交換機(jī)保存時(shí)間是否“過(guò)時(shí)”的參數(shù),交換機(jī)會(huì)將過(guò)時(shí)的配置消息丟棄。3.8 STP拓?fù)浣Y(jié)構(gòu)的改變STP的BPDU除了配置BPDU以外,還有TCN BPDU(Topology Change Notification BPDU)。TCN BPDU的結(jié)構(gòu)很簡(jiǎn)單,只有Configuration BPDU的前3個(gè)字段,也就是Protocol、Version、
36、Type,其余的字段均為填充字節(jié),可以說(shuō)這是一個(gè)不帶橋信息的BPDU。TCN的發(fā)送按照本地配置的Hello Time,不同于配置BPDU的2s的Hello Time。STP中網(wǎng)橋怎么會(huì)認(rèn)為拓?fù)浣Y(jié)構(gòu)發(fā)生改變了呢?根據(jù)以下2個(gè)原則:1. 原來(lái)處于轉(zhuǎn)發(fā)狀態(tài)的端口down了(處于Blocking狀態(tài)非disable狀態(tài));2. 一個(gè)端口轉(zhuǎn)移到了Forwarding狀態(tài),并且網(wǎng)橋有一個(gè)指定端口。對(duì)于拓?fù)浣Y(jié)構(gòu)改變可以作如下理解:這里的拓?fù)浣Y(jié)構(gòu)不是指物理上的拓?fù)渥兓侵笜涞慕Y(jié)構(gòu)的變化,比如A,B,C三臺(tái)交換機(jī)互聯(lián),原本的結(jié)構(gòu)是A(R),B,CA,C之間不通,后來(lái)變?yōu)锳(R),C,BA,B之間不通。這就叫
37、做拓?fù)浣Y(jié)構(gòu)的改變。同樣如果A,B之間又加了一條鏈路,但是新加的鏈路被阻斷了即不影響原來(lái)數(shù)據(jù)流量的轉(zhuǎn)發(fā),則認(rèn)為拓?fù)浣Y(jié)構(gòu)沒有發(fā)生變化。只要2個(gè)原則中的任何一種情況發(fā)生,則認(rèn)為是拓?fù)浣Y(jié)構(gòu)發(fā)生了變化,檢測(cè)到拓?fù)浣Y(jié)構(gòu)變化的交換機(jī)會(huì)從自己的根端口向上發(fā)送TCN,上行的指定端口接收到發(fā)來(lái)的TCN以后,會(huì)以本身的配置BPDU(此時(shí)將Flag字段中的TCA置1,F(xiàn)lag中一共有2個(gè)有效比特位,一個(gè)是TC,一個(gè)是TCA,關(guān)于Flag的描述見表3-3)回送一個(gè)確認(rèn)。并通過(guò)它的根端口繼續(xù)向上發(fā)TCN,一直到達(dá)根橋?yàn)橹?。發(fā)送TCN的交換機(jī)收到確認(rèn)以后將不再發(fā)送TCN,如果上行指定端口沒有發(fā)回確認(rèn),則下行的根端口會(huì)不斷發(fā)
38、送TCN。表3-3 Flag字段Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0TCAReservedTC當(dāng)根橋受到TCN以后由根橋向全網(wǎng)泛洪TC位置1的配置BPDU,所有的交換機(jī)都會(huì)轉(zhuǎn)發(fā)這個(gè)報(bào)文直到整個(gè)網(wǎng)絡(luò)都知道拓?fù)浣Y(jié)構(gòu)發(fā)生了改變。根橋發(fā)送這個(gè)BPDU的時(shí)間是20s+15s=35s,MaxAge + Forwarding Time的時(shí)間。根橋發(fā)送這個(gè)BPDU的實(shí)質(zhì)是為了加快MAC地址表的老化一般情況下MAC地址表要300s才能老化,而已經(jīng)知道拓?fù)浣Y(jié)構(gòu)發(fā)生變化的情況下還要等上數(shù)分鐘才能通過(guò)其他鏈路轉(zhuǎn)發(fā)數(shù)據(jù),這會(huì)在一段時(shí)間造成報(bào)文的無(wú)法轉(zhuǎn)發(fā),最糟糕的就是剛好要等5分鐘。圖3-4
39、拓?fù)渥兓瘜?dǎo)致A一段時(shí)間無(wú)法ping通B在圖3-4中,B的mac地址學(xué)習(xí)在1端口,當(dāng)拓?fù)渥兓螅?端口所在鏈路變成Forwarding,1被阻斷,但是B的MAC地址還是學(xué)習(xí)在端口1,如果B不發(fā)送任何數(shù)據(jù)報(bào)文來(lái)刷新MAC表,那么A只有等到B的MAC地址老化后才能重新訪問(wèn)到B。TC正是通知各交換機(jī)將MAC地址老化時(shí)間更新為ForwardingTime=15s。交換機(jī)收到TC15s以后開始刪除MAC地址表并重新學(xué)習(xí),正好完成狀態(tài)的遷移。3.9 STP算法舉例下面舉例說(shuō)明一下STP算法的具體實(shí)現(xiàn)過(guò)程,拓?fù)鋱D如圖3-5所示;圖3-5 STP算法拓?fù)鋱D為了描述方便,這里指比較BPDU的前四項(xiàng):根橋ID(以以
40、太網(wǎng)交換機(jī)的優(yōu)先級(jí)表示),根路徑開銷,指定交換機(jī)ID(以以太網(wǎng)交換機(jī)的優(yōu)先級(jí)表示),指定端口ID(以端口號(hào)表示)。假設(shè)SWA,SWB,SWC的橋優(yōu)先級(jí)分別為0,1,2。各鏈路開銷為2,3,6。這里要特別說(shuō)明一點(diǎn):Root Path Cost不是一個(gè)可配置項(xiàng),即它是由交換機(jī)根據(jù)Port Path Cost比較而累積得出的,Port Path Cost才是一個(gè)可配置的選項(xiàng)。圖中的鏈路開銷可理解為2端端口的Port Path Cost,只不過(guò)它們恰好一樣而已。1. 初始狀態(tài)各臺(tái)交換機(jī)的各個(gè)端口在初始時(shí)會(huì)生成以自己為根的配置消息,根路徑開銷為0,指定交換機(jī)ID為自身交換機(jī)ID,指定端口為本端口。Swi
41、tch A:端口AP1配置消息:0,0,0,AP1端口AP2配置消息:0,0,0,AP2Switch B:端口BP1配置消息:1,0,1,BP1端口BP2配置消息:1,0,1,BP2Switch C:端口CP2配置消息:2,0,2,CP2端口CP1配置消息:2,0,2,CP12. 選出最優(yōu)配置消息各臺(tái)交換機(jī)都向外發(fā)送自己的配置消息。相互進(jìn)行比較,如果收到比自己更優(yōu)的BPDU則進(jìn)行BPDU的更新,把對(duì)方的BPDU信息緩存下來(lái),并不再發(fā)送BPDU。3. 確定根橋,確定根端口,確定其余端口為指定端口還是Block端口。圖3-5中各臺(tái)交換機(jī)的比較過(guò)程如下:Switch A:端口AP1收到Switch
42、B的配置消息,Switch A發(fā)現(xiàn)本端口的配置消息優(yōu)先級(jí)優(yōu)于接收到的配置消息的優(yōu)先級(jí),就把接收到的配置消息丟棄。端口AP2的配置消息處理過(guò)程與端口AP1類似。Switch A發(fā)現(xiàn)自己各個(gè)端口的配置消息中樹根和指定交換機(jī)都是自己,則認(rèn)為自己是樹根,各個(gè)端口的配置消息都不作任何修改,以后周期性的向外發(fā)送配置消息。此時(shí)兩個(gè)端口的配置消息如下:端口AP1配置消息:0,0,0,AP1。端口AP2配置消息:0,0,0,AP2。Switch B:端口BP1收到來(lái)自Switch A的配置消息,經(jīng)過(guò)比較后Switch B發(fā)現(xiàn)接收到的配置消息的優(yōu)先級(jí)比端口BP1的配置消息的優(yōu)先級(jí)優(yōu),于是更新端口BP1的配置消息。
43、端口BP2收到來(lái)自Switch C的配置消息,Switch B發(fā)現(xiàn)該端口的配置消息優(yōu)先級(jí)優(yōu)于接收到的配置消息的優(yōu)先級(jí),就把接收到的配置消息丟棄。則此時(shí)各個(gè)端口的配置消息如下:端口BP1配置消息:0,0,0,AP1,端口BP2配置消息:1,0,1,BP2。確定根端口:Switch B對(duì)各個(gè)端口的配置消息進(jìn)行比較,(這是一個(gè)計(jì)算的過(guò)程,將各個(gè)端口的配置BPDU讀取并加上Port Path Cost然后進(jìn)行比較,其他的字段值不變。)選出端口BP1的配置消息為最優(yōu)配置消息,然后將端口BP1定為根端口。BP1配置消息不作改變:0,0,0,AP1。確定指定端口:每一個(gè)非根端口都會(huì)做如下比較:將根端口保存的
44、BPDU加上根端口的Port Path Cost并把BID修改為本橋PID修改為本端口后和本端口的BPDU比較,如果比本端口的BPDU更優(yōu),則本端口被選為指定端口,(如果本端口的更優(yōu),那么本端口被選為Blocking端口)并且原BPDU被刷新,下一次向外發(fā)送更優(yōu)的BPDU。端口BP2配置消息中,樹根ID更新為最優(yōu)配置消息中的樹根ID,根路徑開銷更新為2,指定交換機(jī)ID更新為本交換機(jī)ID,指定端口ID更新為本端口ID,配置消息變?yōu)椋?,2,1,BP2。Switch C:端口CP2先會(huì)收到來(lái)自Switch B端口BP2更新前的配置消息1,0,1,BP2,Switch C觸發(fā)更新過(guò)程,更新后的配置消
45、息如下:1,0,1,BP2。端口CP1收到來(lái)自Switch A的配置消息0,0,0,AP2后Switch C也觸發(fā)更新過(guò)程,更新后的配置消息如下:0,0,0,AP2。經(jīng)過(guò)比較,端口CP1的配置消息被選為最優(yōu)的配置消息,端口CP1就被定為根端口;而端口CP2就會(huì)被選為指定端口,并發(fā)送更新后的BPDU:0,6,2,CP2接著端口CP2會(huì)收到Switch B更新后的配置消息0,2,1,BP2,由于收到的配置消息比原配置消息優(yōu),則Switch C觸發(fā)更新過(guò)程,更新后的配置消息為:0,2,1,BP2。同時(shí)端口CP1收到來(lái)自Switch A配置消息,比較后Switch C不會(huì)觸發(fā)更新過(guò)程,配置消息仍然為:
46、0,0,0,AP2。經(jīng)過(guò)部比較,( CP10,6,0,AP2,CP20,5,1,BP2 )端口CP2的配置消息被選為最優(yōu)的配置消息,端口CP2就被選為根端口,而端口CP1就被阻塞,狀態(tài)穩(wěn)定后,不接收從Switch A轉(zhuǎn)發(fā)的數(shù)據(jù),直到新的情況觸發(fā)生成樹的計(jì)算,比如從Switch A到Switch C的鏈路down掉,或者端口收到更優(yōu)的配置消息。3.10 STP 的缺點(diǎn)STP協(xié)議雖然可以很好的解決網(wǎng)絡(luò)環(huán)路的問(wèn)題,但是還是有它自身的缺陷,主要表現(xiàn)在收斂速度上,STP收斂時(shí)間為秒級(jí)。當(dāng)拓?fù)浒l(fā)生變化,新的配置消息要等待兩倍的forward delay(協(xié)議默認(rèn)值為15秒)的時(shí)間延遲網(wǎng)絡(luò)才能傳播到整個(gè)網(wǎng)絡(luò)
47、。在這段收斂時(shí)間,交換機(jī)會(huì)出現(xiàn)嚴(yán)重的丟包現(xiàn)象。在一個(gè)10M的以太網(wǎng)中,對(duì)于1526字節(jié)的最長(zhǎng)幀,一秒最多會(huì)有812個(gè)幀通過(guò);對(duì)于72字節(jié)的最短幀,最多有14880個(gè)幀通過(guò),這樣會(huì)造成上萬(wàn)個(gè)數(shù)據(jù)包的丟失,這對(duì)于一些高質(zhì)量要求的業(yè)務(wù)是不能滿足的。如衛(wèi)星傳輸,實(shí)時(shí)會(huì)議等,這樣嚴(yán)重的丟包對(duì)之造成的影響是不言而喻的。為了解決STP的這一缺陷,快速生成樹RSTP應(yīng)運(yùn)而生。第四章 快速生成樹協(xié)議 RSTP4.1 RSTP的產(chǎn)生背景STP協(xié)議雖然能夠解決環(huán)路問(wèn)題,但是還是有很多不足之處。首先,STP并沒有細(xì)致區(qū)分端口狀態(tài)和端口角色。網(wǎng)絡(luò)協(xié)議的優(yōu)劣往往取決于協(xié)議是否對(duì)各種情況加以細(xì)致區(qū)分。事實(shí)上,從用戶角度上看
48、Listening、Learning和Blocking狀態(tài)是沒有區(qū)別的,都同樣不轉(zhuǎn)發(fā)用戶流量。從使用和配置上來(lái)講,端口之間最本質(zhì)的區(qū)別并不在于端口狀態(tài),而是在于端口扮演的角色。根端口和指定端口也可能處于Listening狀態(tài),也可能都處Forwarding狀態(tài)。其次,STP算法是被動(dòng)的算法,對(duì)網(wǎng)絡(luò)是否已經(jīng)達(dá)到收斂沒有一種反饋機(jī)制。對(duì)待拓?fù)渥兓幕镜姆椒ㄊ峭ㄖ鶚颍薷腗AC地址表老化時(shí)間,自動(dòng)學(xué)習(xí),確立新路徑。這種以計(jì)時(shí)器來(lái)等待的方式顯然是浪費(fèi)時(shí)間,響應(yīng)遲緩。再次,STP的算法要求在穩(wěn)定拓?fù)淅铮鶚蛑鲃?dòng)發(fā)出BPDU而其他交換機(jī)進(jìn)行中繼,這樣整個(gè)STP網(wǎng)絡(luò)龐大而笨拙。STP協(xié)議的缺陷主要表現(xiàn)在
49、收斂速度上。當(dāng)拓?fù)浒l(fā)生變化,新的配置消息要經(jīng)過(guò)一定的時(shí)延才能傳播到整個(gè)網(wǎng)絡(luò),這個(gè)時(shí)延稱為Forward Delay,協(xié)議默認(rèn)值是15秒。在所有網(wǎng)橋收到這個(gè)變化的消息之前,若舊拓?fù)浣Y(jié)構(gòu)中處于轉(zhuǎn)發(fā)的端口還沒有發(fā)現(xiàn)自己應(yīng)該在新的拓?fù)渲型V罐D(zhuǎn)發(fā),則可能存在臨時(shí)環(huán)路。為了解決臨時(shí)環(huán)路的問(wèn)題,生成樹使用了一種定時(shí)器策略,即在端口從阻塞狀態(tài)到轉(zhuǎn)發(fā)狀態(tài)中間加上一個(gè)只學(xué)習(xí)MAC地址但不參與轉(zhuǎn)發(fā)的中間狀態(tài),兩次狀態(tài)切換的時(shí)間長(zhǎng)度都是Forward Delay,這樣就可以保證在拓?fù)渥兓臅r(shí)候不會(huì)產(chǎn)生臨時(shí)環(huán)路。但是,這個(gè)看似良好的解決方案實(shí)際上帶來(lái)的卻是至少兩倍Forward Delay的收斂時(shí)間。為了解決STP協(xié)議
50、的這些缺陷,在世紀(jì)之初IEEE推出了802.1w標(biāo)準(zhǔn),作為對(duì)802.1D標(biāo)準(zhǔn)的補(bǔ)充。在IEEE 802.1w標(biāo)準(zhǔn)里定義了快速生成樹協(xié)議RSTP(Rapid Spanning Tree Protocol)。RSTP協(xié)議在STP協(xié)議基礎(chǔ)上做了三點(diǎn)重要改進(jìn),使得收斂速度快得多(最快1秒以)。第一點(diǎn)改進(jìn):為根端口和指定端口設(shè)置了快速切換用的替換端口(Alternate Port)和備份端口(Backup Port)兩種角色,當(dāng)根端口/指定端口失效的情況下,替換端口/備份端口就會(huì)無(wú)時(shí)延地進(jìn)入轉(zhuǎn)發(fā)狀態(tài)。第二點(diǎn)改進(jìn):在只連接了兩個(gè)交換端口的點(diǎn)對(duì)點(diǎn)鏈路中,指定端口只需與下游網(wǎng)橋進(jìn)行一次握手就可以無(wú)時(shí)延地進(jìn)入轉(zhuǎn)
51、發(fā)狀態(tài)。如果是連接了三個(gè)以上網(wǎng)橋的共享鏈路,下游網(wǎng)橋是不會(huì)響應(yīng)上游指定端口發(fā)出的握手請(qǐng)求的,只能等待兩倍Forward Delay時(shí)間進(jìn)入轉(zhuǎn)發(fā)狀態(tài)。第三點(diǎn)改進(jìn):直接與終端相連而不是把其他網(wǎng)橋相連的端口定義為邊緣端口(Edge Port)。邊緣端口可以直接進(jìn)入轉(zhuǎn)發(fā)狀態(tài),不需要任何延時(shí)。由于網(wǎng)橋無(wú)法知道端口是否是直接與終端相連,所以需要人工配置??梢姡琑STP協(xié)議相對(duì)于STP協(xié)議的確改進(jìn)了很多。為了支持這些改進(jìn),BPDU的格式做了一些修改,但RSTP協(xié)議仍然向下兼容STP協(xié)議,可以混合組網(wǎng)。4.2 RSTP協(xié)議的改進(jìn)1. 端口角色的增補(bǔ)根據(jù)STP的不足,RSTP新增加了端口的角色概念。并且把端口屬
52、性充分的按照狀態(tài)和角色解耦,使得可以更加精確的描述端口。RSTP的端口角色共有4種:即根端口、指定端口、Alternate端口和Backup端口。Alternate端口如圖4-1所示,Backup端口如圖4-2所示。 圖4-1 Alternate端口圖4-2 Backup端口從BPDU的發(fā)送上來(lái)看,Alternate端口就是由于學(xué)習(xí)到其它交換機(jī)的發(fā)送的BPDU而阻塞的端口;而Backup端口就是由于學(xué)習(xí)到自己發(fā)送的BPDU而阻塞的端口。從用戶流量上來(lái)看,Alternate端口提供了從指定橋到根的另一條可切換路徑,作為指定端口的備選切換;而同時(shí)Backup端口,作為根端口的備份,提供了另外一條從
53、根橋到葉節(jié)點(diǎn)的可切換的通路。給一個(gè)RSTP域所有端口分配角色的過(guò)程就是整個(gè)拓?fù)涫諗康倪^(guò)程。2. 端口狀態(tài)的重新劃分RSTP的狀態(tài)規(guī)把原來(lái)的5種狀態(tài)縮減為3種。根據(jù)端口是否轉(zhuǎn)發(fā)用戶流量和學(xué)習(xí)MAC地址來(lái)劃分。如果不轉(zhuǎn)發(fā)用戶流量也不學(xué)習(xí)MAC地址,那么就是Discarding狀態(tài);如果不轉(zhuǎn)發(fā)用戶流量但是學(xué)習(xí)MAC地址,那么就是Learning狀態(tài);如果既轉(zhuǎn)發(fā)用戶流量又學(xué)習(xí)地址,那么就是Forwarding狀態(tài)。RSTP和STP的端口狀態(tài)對(duì)比如表4-1所示。表4-1 STP和RSTP端口狀態(tài)比較STP端口狀態(tài)RSTP端口狀態(tài)BlockingDiscardingListeningDiscardingL
54、earningLearningForwardingForwarding3. BPDU格式的改變?cè)贐PDU的格式上,除了保證和STP格式基本一致之外,RSTP作了一些小的變化。一個(gè)是在Type字段,配置BPDU類型不再是0而是2,版本號(hào)也變成了2。所以運(yùn)行STP的交換機(jī)收到該類BPDU時(shí)會(huì)丟棄。另一個(gè)變化是在Flag字段,把原來(lái)保留的中間6位使用起來(lái)。這樣改變了的配置BPDU叫做RST BPDU。RSTP BPDU的Flag字段格式如表4-2所示。 表4-2 RSTP Flag字段Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0TCAAgreementForwardingLear
55、ning端口角色ProposalTC4. BPDU的處理方式RSTP對(duì)BPDU的處理發(fā)生的變化,主要表現(xiàn)在以下幾個(gè)方面:1) 穩(wěn)態(tài)BPDU的發(fā)送方式:靠收到上游BPDU而觸發(fā)發(fā)送BPDU的方式使得STP龐大而笨拙。RSTP穩(wěn)態(tài)后,BPDU由每個(gè)交換機(jī)自主按照每個(gè)個(gè)Hello時(shí)間進(jìn)行發(fā)送。2) 更短的BPDU超時(shí)計(jì)時(shí):如果一個(gè)端口連續(xù)三個(gè)Hello時(shí)間接受不到上游指定橋送來(lái)的BPDU,那么該交換機(jī)認(rèn)為與此鄰居之間的鏈路失敗,不等待Max Age。3) 處理次等BPDU:當(dāng)一個(gè)端口收到上游的指定橋發(fā)來(lái)的RSTP BPDU中的信息,不如自己端口信息的時(shí)候,會(huì)立刻回應(yīng)自己的信息。上游的指定端口馬上接受
56、這個(gè)信息,并且更新自己的信息。5. 快速轉(zhuǎn)換到轉(zhuǎn)發(fā)狀態(tài)STP的網(wǎng)絡(luò)端口從阻斷到轉(zhuǎn)發(fā)狀態(tài),如果想快速收斂的話,需要修改默認(rèn)的轉(zhuǎn)發(fā)延遲和老化時(shí)間定時(shí)器。RSTP可以快速收斂而不依賴于定時(shí)器,這些快速的收斂主要依賴邊緣端口和點(diǎn)到點(diǎn)鏈路來(lái)實(shí)現(xiàn)。1) 邊緣端口直接與終端相連而不是把其他網(wǎng)橋相連的端口定義為邊緣端口(Edge Port)。邊緣端口可以直接進(jìn)入轉(zhuǎn)發(fā)狀態(tài),不需要任何延時(shí)。由于網(wǎng)橋無(wú)法知道端口是否是直接與終端相連,所以需要人工配置。2) 點(diǎn)到點(diǎn)鏈路兩臺(tái)交換機(jī)之間的鏈路只有一根鏈路,同時(shí)端口之間的連接為全雙工,這樣的鏈路類型叫點(diǎn)到點(diǎn)鏈路。對(duì)于半雙工的鏈路叫共享端口。鏈路類型交換機(jī)自己檢查,也可人為修改。6. P/A協(xié)商 快速收斂機(jī)制P/A機(jī)制即Proposal/Agreement機(jī)制。其目的是使一個(gè)指定端口盡快進(jìn)入Forwarding狀態(tài)。其過(guò)程的完成根據(jù)以下幾個(gè)端口變量:1) Proposing當(dāng)一個(gè)指定端口處于Discarding或Learning狀態(tài)的時(shí)候,該變量置位。向下游交換機(jī)傳遞Proposing位被置位的RSTP BPDU。2) Proposed當(dāng)端口收到對(duì)端的指定端口發(fā)來(lái)的攜帶proposal的RSTP BPDU的時(shí)候,該變量置位。該變量指示本網(wǎng)段上的指定端口希望盡快進(jìn)入Forwarding狀態(tài)。3) Sync當(dāng)Proposed被
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 五年級(jí)下冊(cè)數(shù)學(xué)教案-4.1 容積|北師大版
- 2025年機(jī)動(dòng)車典當(dāng)合同
- 六年級(jí)上冊(cè)數(shù)學(xué)教案-總復(fù)習(xí) 你會(huì)算嗎-求陰影部分的面積|北師大版
- 2025年科研合作協(xié)議
- 第四單元驕人祖先 燦爛文化整體教學(xué)設(shè)計(jì)-2024-2025學(xué)年道德與法治五年級(jí)上冊(cè)統(tǒng)編版
- Unit 3 I'm more outgoing than my sister. SectionB 1a-1e教學(xué)設(shè)計(jì)2024-2025學(xué)年人教版英語(yǔ)八年級(jí)上冊(cè)
- 2025年湖北三峽職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)匯編
- 2024年全腦開發(fā)項(xiàng)目資金申請(qǐng)報(bào)告代可行性研究報(bào)告
- 2025年嘉興南洋職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)完整
- 2025年共青科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)完整版
- 企業(yè)承包經(jīng)營(yíng)合同范本
- 教師讀書分享《給教師的建議》課件
- 人民警察紀(jì)律條令試卷含答案
- 婚姻矛盾糾紛調(diào)解培訓(xùn)課件
- 《工程熱力學(xué)》(第四版)配套教學(xué)課件
- 氧化還原反應(yīng)和氧化還原平衡--ppt課件
- 國(guó)內(nèi)外旅游公共服務(wù)研究的文獻(xiàn)綜述
- 2022年北京市專升本英語(yǔ)真題
- 鍺的提取方法
- 有害物質(zhì)管控清單(歐盟)
- 乙酸乙酯的制備ppt課件
評(píng)論
0/150
提交評(píng)論