溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

第十三章 生成樹協(xié)議

發(fā)布時間:2020-08-05 16:04:42 來源:網(wǎng)絡(luò) 閱讀:590 作者:dengli1 欄目:網(wǎng)絡(luò)安全

    一個局域網(wǎng)通常由多臺交換機互連而成,為了避免廣播風(fēng)暴,我們需要保證在網(wǎng)絡(luò)中不存在路徑環(huán)路,也就是說所有鏈路應(yīng)該組成一顆無回環(huán)的樹,交換機上的STP(生成樹協(xié)議)就實現(xiàn)了這樣的功能。在本章中我們首先會學(xué)習(xí)有關(guān)STP協(xié)議的一些基本概念,以及STP協(xié)議是如何通過實現(xiàn)冗余鏈路的閉塞和開啟從而實現(xiàn)一棵動態(tài)的生成樹的,最后我們還會介紹一下RSTP(快速生成樹協(xié)議)和MSTP(多生成樹協(xié)議),以及如何在交換機上對生成樹進行配置。


STP產(chǎn)生背景

路徑回環(huán)的影響

第十三章 生成樹協(xié)議

    在交換網(wǎng)絡(luò)中,網(wǎng)橋不會對以太網(wǎng)數(shù)據(jù)幀做任何修改,幀中也不會記錄到底經(jīng)過了幾個網(wǎng)橋。如果網(wǎng)絡(luò)小紅存在環(huán)路,幀有可能在環(huán)路中不斷循環(huán)和增生,造成網(wǎng)絡(luò)帶寬被大量重復(fù)幀占據(jù),導(dǎo)致網(wǎng)絡(luò)擁塞。

    上圖中是一個由于環(huán)路造成數(shù)據(jù)幀循環(huán)和增生的例子。

    開始,假定PCA還沒有發(fā)送過任何幀,因此網(wǎng)橋SWA、SWB和SWC的地址表中都沒有PCA的地址記錄。

    當(dāng)PCA發(fā)送了一個幀,最初三個網(wǎng)橋都接收了這個幀,記錄PCA的地址在物理段A上,并將這個幀轉(zhuǎn)發(fā)到物理段B上。

    網(wǎng)橋SWA會將此幀轉(zhuǎn)發(fā)到物理段B上,從而SWB和SWC將會再次接收到這個幀,因為SWA對于SWB和SWC來說是透明的,這個幀就好像是PCA在物理段B上發(fā)送的一樣,于是SWB和SWC記錄PCA在物理段B上,將這個新幀轉(zhuǎn)發(fā)到物理段A上。

    同樣的道理,SWB會將最初的幀發(fā)到物理段B上,那么SWA和SWC都接收到這個幀。SWC認(rèn)為PCA仍然在物理段B上,而SWA又發(fā)現(xiàn)PCA已經(jīng)轉(zhuǎn)移到物理段B上了,然后SWA和SWC都會轉(zhuǎn)發(fā)新幀到物理段A上。如此下去,幀就在環(huán)路中不斷循環(huán),更糟糕的是每次成功的幀發(fā)送都會導(dǎo)致網(wǎng)絡(luò)中出現(xiàn)兩個新幀。

STP的作用

第十三章 生成樹協(xié)議

    盡管透明網(wǎng)橋存在這個隱患,但是它的應(yīng)用還是相當(dāng)有誘惑力的,因為透明網(wǎng)橋在無回路的網(wǎng)絡(luò)中發(fā)揮的作用是無可指摘的。那么是不是就認(rèn)為我們不能組建有回路的網(wǎng)絡(luò)呢?這顯然是不合適的,因為回路的存在可以在拓撲結(jié)構(gòu)的某條鏈路斷開之后,仍然保證網(wǎng)絡(luò)的連通性。

    為此,我們找到了一種很好的算法,它通過阻斷冗余鏈路將一個有回路的橋接網(wǎng)絡(luò)修剪成一個無回路的樹形拓撲結(jié)構(gòu),這樣既解決了回路問題,又能在某條活動(active)的鏈路斷開時,通過激活被阻斷的冗余鏈路重新修剪拓撲結(jié)構(gòu)以恢復(fù)網(wǎng)絡(luò)的連通。

    上面的圖中給出了一個應(yīng)用生成樹的橋接網(wǎng)絡(luò)的例子,其中字符ROOT所標(biāo)識的網(wǎng)橋是生成樹的樹根,實線是活動的鏈路,也就是生成樹的枝條,而虛線則是被阻斷的冗余鏈路,只有在活動鏈路斷開時才會被激活。

STP生成樹協(xié)議

第十三章 生成樹協(xié)議

    STP(Spanning Tree Protocol,生成樹協(xié)議)是根據(jù)IEEE協(xié)會制定的802.1D標(biāo)準(zhǔn)建立的,用于在局域網(wǎng)中消除數(shù)據(jù)鏈路層物理環(huán)路的協(xié)議。運行該協(xié)議的設(shè)備通過彼此交互信息發(fā)現(xiàn)網(wǎng)絡(luò)中的環(huán)路,并有選擇的對某些端口進行阻塞,最終將環(huán)路網(wǎng)絡(luò)結(jié)構(gòu)修剪成無環(huán)路的樹型網(wǎng)絡(luò)結(jié)構(gòu),從而防止報文在環(huán)路網(wǎng)絡(luò)中不斷增生和無限循環(huán),避免設(shè)備由于重復(fù)接收相同的報文造成的報文處理能力下降的問題發(fā)生。

    STP包含了兩個含義,狹義的STP是指IEEE 802.1D中定義的STP協(xié)議,廣義的STP是指包括IEEE 802.1D定義的STP協(xié)議以及各種在它的基礎(chǔ)上經(jīng)過改進的生成樹協(xié)議,如RSTP、MSTP。

    STP采用的協(xié)議報文時BPDU(Bridge Protocol Data Unit,橋協(xié)議數(shù)據(jù)單元),BPDU中包含了足夠的信息來完成生成樹的計算。

    BPDU在STP協(xié)議中分為兩類:

  • 配置BPDU(Configuration BPDU):用來進行生成樹計算和維護生成樹拓撲的報文。

  • TCN BPDU(Topology Change Notification BPDU):當(dāng)拓撲結(jié)構(gòu)發(fā)生變化時,用來通知相關(guān)設(shè)備網(wǎng)絡(luò)拓撲結(jié)構(gòu)發(fā)生的報文。


配置BPDU的生成和傳遞

第十三章 生成樹協(xié)議

    STP協(xié)議的配置BPDU報文攜帶了如下幾個重要信息:



    • 根橋ID(RootID)

      由根橋的優(yōu)先級和MAC地址組成。通過比較BPDU重根橋ID,STP最終決定誰是根橋。

    • 根路徑開銷(RootPathCost)

      到根橋的路徑開銷。根端口選舉時,開銷最小的端口被選舉為根端口:指定橋選舉時,開銷最小的橋北選舉為指定橋。

    • 指定橋ID(DesignatedBridgeID)

      根端口選舉時,所連橋ID最小的端口被選舉為根端口。指定橋選舉時,橋ID最小的橋被選舉為指定橋。

指定端口ID(DesignatedPortID)

根端口選舉時,所連端口ID最小的端口被選舉為根端口。

各臺設(shè)備的各個端口再初始時會生成以自己為根橋的配置消息,根路徑開銷為0,指定橋ID為自身設(shè)備ID,指定端口為本端口。各臺設(shè)備都向外發(fā)送自己的配置信息,同時也會收到其他設(shè)備發(fā)送的配置消息。通過比較這些配置消息,交換機進行生成樹計算,選舉根橋,決定端口角色。


網(wǎng)絡(luò)收斂后,根橋會按照一定的時間間隔產(chǎn)生并向外發(fā)送配置BPDU,其他的設(shè)備對該配置BPDU進行轉(zhuǎn)發(fā),從而保證拓撲的穩(wěn)定。


根橋的選舉

第十三章 生成樹協(xié)議

    樹形的網(wǎng)絡(luò)結(jié)構(gòu),必須要有樹根,于是STP引入了根橋(Root Bridge)的概念。

    網(wǎng)絡(luò)中每臺設(shè)備都有自己的橋ID,橋ID由優(yōu)先級(BridgePriority)和橋MAC地址(BridgeMacAddress)兩部分組成。因為橋MAC地址在網(wǎng)絡(luò)中是唯一的,所以能夠保證橋ID在網(wǎng)絡(luò)中也是唯一的。在進行橋ID比較時,先比較優(yōu)先級,優(yōu)先級值小者為優(yōu);在優(yōu)先級相等的情況下,再用MAC地址來進行比較,MAC地址小者為優(yōu)。

    網(wǎng)絡(luò)初始時,網(wǎng)絡(luò)中所有的STP設(shè)備都認(rèn)為自己是“根橋”。設(shè)備之間通過配置BPDU而比較橋ID,網(wǎng)絡(luò)中橋ID最小的設(shè)備被選為根橋。根橋會按照一定的時間間隔產(chǎn)生并向外發(fā)送配置BPDU,其他的設(shè)備對該配置BPDU進行轉(zhuǎn)發(fā),從而保證拓撲的穩(wěn)定。

    在上圖中,因為SWA的橋ID最小,所有SWA被選舉為根橋。

端口角色的確定

第十三章 生成樹協(xié)議

    STP的作用是通過阻斷冗余鏈路使一個有回路的橋接網(wǎng)絡(luò)修剪成一個無回路的樹型拓撲結(jié)構(gòu)。它通過將環(huán)路上的某些端口置為阻塞狀態(tài),不允許數(shù)據(jù)幀通過而做到這一點。下面是確定哪些端口是阻塞狀態(tài)的過程:

  1. 根橋上的所有端口為指定端口(Designated Port);

  2. 為每個非根橋選擇根路徑開銷(RootPathCost)最小的那個端口作為根端口(RootPort),該端口到根橋的路徑是此網(wǎng)橋到根橋的最佳路徑;

  3. 為每個物理段選出根路徑開銷最小的那個網(wǎng)橋作為指定橋(Designated Bridge),該指定橋到該物理段的端口作為指定端口,負責(zé)所在物理段上的數(shù)據(jù)轉(zhuǎn)發(fā);

  4. 既不是指定端口也不是根端口的端口置于阻塞狀態(tài)。

根路徑開銷

第十三章 生成樹協(xié)議

    根路徑開銷(RootPathCost)是生成樹協(xié)議中用來判斷到達根的距離的參數(shù)。它是到達根的路徑上所有鏈路開銷(Cost)的代數(shù)和。

    非根橋進行根端口選舉時,會首先比較各端口的根路徑開銷,開銷最小的端口被選舉為根端口;物理段進行指定橋選舉時,也會首先比較各橋的根路徑開銷,開銷最小的橋北選舉為指定橋。

    通常情況下,鏈路的開銷與物理帶寬成反比。帶寬越大,表明鏈路通過能力越強,則路徑開銷越小。

    IEEE802.1D和802.1t定義了不同速率和工作模式下的以太網(wǎng)鏈路(端口)開銷,H3C則根據(jù)實際的網(wǎng)絡(luò)運行狀況優(yōu)化了開銷的數(shù)值定義,制定了私有標(biāo)準(zhǔn)。上述三種標(biāo)準(zhǔn)的常用定義如表所示。其他細節(jié)定義請參照相關(guān)標(biāo)準(zhǔn)文檔及設(shè)備手冊。

第十三章 生成樹協(xié)議

    H3C交換機默認(rèn)采用私有標(biāo)準(zhǔn)定義的鏈路開銷。交換機端口的鏈路開銷可手工設(shè)置,以影響生成樹的選路。

通過橋ID決定端口角色

第十三章 生成樹協(xié)議

  在跟路徑開銷和指定橋ID都相同的情況下,生成樹協(xié)議根據(jù)端口ID來決定端口角色。

  如果非根橋上多個端口經(jīng)過相同的上游到達根,且根路徑開銷相同,則協(xié)議會比較端口所連上游橋的端口ID,所連端口ID最小的端口被選舉為根端口。

    端口ID由端口索引號和端口優(yōu)先級兩部分組成。在進行比較時,先比較端口優(yōu)先級,優(yōu)先級小得端口優(yōu)先;在優(yōu)先級相同時,再比較端口索引號,索引號小得端口優(yōu)先。

    上圖中,SWB上的2個端口連接到SWA,這2個端口的根路徑開銷相同,上游指定橋ID也相同,協(xié)議根據(jù)上游指定端口ID來判定,所連指定端口ID小得端口為根端口。

    在通常情況下,端口索引號無法改變,用戶可通過設(shè)置端口優(yōu)先級來影響生成樹的選路。

端口狀態(tài)

第十三章 生成樹協(xié)議

    事實上,在802.1D的協(xié)議中,端口共有五種狀態(tài):

  • Disabled:表示該端口處于失效狀態(tài),不接收和發(fā)送任何報文,這種狀態(tài)可以是由于端口的物理狀態(tài)(比如端口物理層沒有up)導(dǎo)致的,也可能是管理者手工將端口關(guān)閉。

  • Blocking:處于這個狀態(tài)的端口不能夠參與轉(zhuǎn)發(fā)數(shù)據(jù)報文,但是可以接收配置消息,并交給CPU處理。不過不能發(fā)送配置消息,也不進行地址學(xué)習(xí)。

  • Listening:處于這個狀態(tài)的端口也不參與數(shù)據(jù)轉(zhuǎn)發(fā),不進行地址學(xué)習(xí);但是可以接收并發(fā)送配置消息。

  • Learing:處于這個狀態(tài)的端口也不參與數(shù)據(jù)轉(zhuǎn)發(fā),但是開始地址學(xué)習(xí),并可以接收、處理和發(fā)送配置消息。

  • Forwarding:一旦端口進入該狀態(tài),就可以轉(zhuǎn)發(fā)任何數(shù)據(jù)了,同時也進行地址學(xué)習(xí)和配置消息的接收、處理和發(fā)送。

    以上五種狀態(tài)中,Listening和Learing是不穩(wěn)定的中間狀態(tài)。





向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI