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

分享

圖解 STP:你可能不用,但是不能不懂

 新用戶0935snDB 2022-04-10
文章圖片1

網(wǎng)絡(luò)環(huán)路

現(xiàn)在我們的生活已經(jīng)離不開網(wǎng)絡(luò),如果我家斷網(wǎng),我會(huì)抱怨這什么破網(wǎng)絡(luò),影響我刷抖音、打游戲;如果公司斷網(wǎng),那老板估計(jì)會(huì)罵娘,因?yàn)闀?huì)影響到公司正常運(yùn)轉(zhuǎn),直接造成經(jīng)濟(jì)損失。網(wǎng)絡(luò)通信中,通常是以一條鏈路能夠正常工作為前提,如果鏈路斷開或節(jié)點(diǎn)故障,那么互聯(lián)的設(shè)備就無(wú)法正常通信了,這類網(wǎng)絡(luò)問題叫做單點(diǎn)故障。沒有備份的鏈路或節(jié)點(diǎn),出現(xiàn)故障會(huì)直接斷網(wǎng)。

文章圖片2

如果要提供 7×24 小時(shí)不間斷的服務(wù),那就需要在網(wǎng)絡(luò)中提前部署冗余。避免出現(xiàn)單點(diǎn)故障,合理的做法是在網(wǎng)絡(luò)中的關(guān)鍵設(shè)備和關(guān)鍵鏈路添加冗余。在冗余的網(wǎng)絡(luò)環(huán)境中,任意一條鏈路發(fā)生故障斷開,都不會(huì)影響網(wǎng)絡(luò),直接使用其它鏈路繼續(xù)轉(zhuǎn)發(fā)數(shù)據(jù),解決單點(diǎn)故障的隱患。

文章圖片3

但同時(shí)也帶來(lái)了另外的網(wǎng)絡(luò)問題。這種組網(wǎng)會(huì)構(gòu)成二層環(huán)路,會(huì)引發(fā)廣播風(fēng)暴、重復(fù)幀、MAC 地址漂移等問題,嚴(yán)重時(shí)會(huì)占滿鏈路帶寬,或打爆設(shè)備 CPU ,導(dǎo)致設(shè)備無(wú)法正常工作,最終造成網(wǎng)絡(luò)癱瘓。當(dāng)然,在實(shí)際的網(wǎng)絡(luò)中,不少二層環(huán)路是由于人為的錯(cuò)誤操作導(dǎo)致的,比如接錯(cuò)了網(wǎng)線。

文章圖片4

舉個(gè)栗子

大劉的主機(jī)想要與小美的主機(jī)進(jìn)行通信,現(xiàn)在只知道小美主機(jī)的 IP 地址,不知道 MAC 地址。有 IP 地址,就可以通過 ARP 協(xié)議來(lái)獲取小美主機(jī)的 MAC 地址。我們來(lái)看看有冗余的網(wǎng)絡(luò)中數(shù)據(jù)交換的過程:

文章圖片5
  1. 大劉主機(jī)向交換機(jī) A 發(fā)送 ARP 廣播幀,來(lái)解析小美主機(jī)的 MAC 地址;
文章圖片6
  1. 交換機(jī) A 收到廣播幀后,查看自己的 MAC 地址表,沒找到相應(yīng)的表項(xiàng),就向所有端口(除接收端口之外)泛洪這個(gè)廣播幀。也就是向 G0/1 和 G0/2 兩個(gè)端口泛洪廣播幀;
文章圖片7
  1. 交換機(jī) B 和交換機(jī) C 收到廣播幀后,沒有對(duì)應(yīng) MAC 地址表項(xiàng),也將廣播幀所有端口(除接收端口之外)泛洪出去;
文章圖片8
  1. 小美主機(jī)終于收到了大劉發(fā)送的 ARP 廣播幀,發(fā)現(xiàn)是查詢自己的 MAC 地址后,小美主機(jī)將會(huì)通過單播幀返回自己的 MAC 地址;
文章圖片9
  1. 這個(gè)過程看似正常,大劉主機(jī)發(fā)送的 ARP 廣播幀順利到達(dá)小美主機(jī),小美主機(jī)也進(jìn)行了響應(yīng),但是網(wǎng)絡(luò)中廣播幀的傳輸還沒有結(jié)束。在第 3 步中,交換機(jī) C 也把 ARP 廣播幀泛洪到交換機(jī) B 。這時(shí)交換機(jī) B 就收到了兩個(gè)相同的 ARP 廣播幀,分別來(lái)自交換機(jī) A 和交換機(jī) C ,收到的廣播幀都會(huì)泛洪出去。那么,小美主機(jī)也會(huì)收到兩個(gè)相同的 ARP 廣播幀,也就是重復(fù)幀。出現(xiàn)這種現(xiàn)象說明網(wǎng)絡(luò)中存在不合理的冗余鏈路;
文章圖片10
  1. 接下來(lái)我們看下交換機(jī) C ,交換機(jī) C 收到從交換機(jī) A 發(fā)過來(lái)的廣播幀,同時(shí)交換機(jī) C 的 MAC 地址表添加一條表項(xiàng),記錄大劉主機(jī) MAC 地址和端口 G0/0 的映射關(guān)系。交換機(jī) C 又從交換機(jī) B 收到相同的廣播幀,大劉主機(jī) MAC 地址的映射端口從 G0/0 變成 G0/1 。從不同的端口收到相同的數(shù)據(jù)幀,導(dǎo)致 MAC 地址表項(xiàng)發(fā)生變化的現(xiàn)象,就叫做 MAC 地址漂移,這種現(xiàn)象說明網(wǎng)絡(luò)中可能存在環(huán)路。這樣一來(lái),交換機(jī) C 就無(wú)法確定大劉主機(jī)到底位于自己的哪個(gè)端口;
  2. 主機(jī)收到廣播幀,會(huì)進(jìn)行解封裝,查看上層的 IP 地址是否是發(fā)送給自己的,再進(jìn)行下一步處理。交換機(jī)(只指二層交換機(jī))收到廣播幀,會(huì)直接進(jìn)行泛洪。大劉主機(jī)發(fā)出的廣播幀,經(jīng)過交換機(jī) A 后,從交換機(jī) A 的 G0/1 口泛洪的廣播幀,交換機(jī) B 收到后再?gòu)?G0/2 口進(jìn)行泛洪,交換機(jī) C 收到廣播幀后,又從 G0/0 口泛洪出去,結(jié)果廣播幀回到了交換機(jī) A ,交換機(jī) A 再?gòu)?G0/1 進(jìn)行泛洪,最終這個(gè)廣播幀會(huì)一直逆時(shí)針、永無(wú)止境的進(jìn)行泛洪;同理,交換機(jī) A 從 G0/2 口進(jìn)行泛洪的廣播幀,也會(huì)按順時(shí)針、無(wú)休止的在三臺(tái)交換機(jī)上進(jìn)行泛洪。這種廣播幀不停泛洪的現(xiàn)象,叫做廣播風(fēng)暴。廣播風(fēng)暴不僅會(huì)大量消耗網(wǎng)絡(luò)設(shè)備的帶寬和 CPU 使用率,也會(huì)影響到主機(jī)。主機(jī)收到一個(gè)廣播幀后,會(huì)解封裝上送網(wǎng)絡(luò)層去處理,大量的廣播幀泛洪,很可能導(dǎo)致主機(jī)癱瘓。

通過這個(gè)簡(jiǎn)單的演示,我們看到了冗余鏈路帶來(lái)的風(fēng)險(xiǎn)。重復(fù)幀、MAC 地址漂移和廣播風(fēng)暴,都是由一個(gè)廣播幀引起的,可是網(wǎng)絡(luò)中不可避免出現(xiàn)廣播幀,也不能因?yàn)槎迎h(huán)路問題而忽略冗余鏈路增加網(wǎng)絡(luò)可靠性的好處。

那么如何在保證網(wǎng)絡(luò)冗余的情況下,消除二層環(huán)路呢?實(shí)際上交換機(jī)的二層環(huán)路是一個(gè)典型問題,解決方案也有不少。其中的一個(gè)解決方案就是 STP(生成樹協(xié)議),能夠阻斷冗余鏈路來(lái)消除可能存在的環(huán)路,并且在網(wǎng)絡(luò)故障時(shí)激活被阻斷的冗余備份鏈路,恢復(fù)網(wǎng)絡(luò)的連通性,保障業(yè)務(wù)的不間斷服務(wù)。

文章圖片11

當(dāng)網(wǎng)絡(luò)中部署了 STP 后,交換機(jī)之間會(huì)交互相關(guān)協(xié)議報(bào)文,并計(jì)算出一個(gè)無(wú)環(huán)路的網(wǎng)絡(luò)拓?fù)洹.?dāng)網(wǎng)絡(luò)存在環(huán)路時(shí),STP 會(huì)將網(wǎng)絡(luò)中的一個(gè)或多個(gè)接口進(jìn)行阻塞,將環(huán)路網(wǎng)絡(luò)結(jié)構(gòu)修剪成無(wú)環(huán)路的樹狀網(wǎng)絡(luò)結(jié)構(gòu)。被阻塞的接口不再轉(zhuǎn)發(fā)數(shù)據(jù),這樣二層環(huán)路問題便迎刃而解。STP 會(huì)持續(xù)監(jiān)控網(wǎng)絡(luò)拓?fù)錉顩r,當(dāng)網(wǎng)絡(luò)拓?fù)浒l(fā)生變化時(shí),STP 能夠及時(shí)感知,并動(dòng)態(tài)調(diào)整被阻塞接口,而無(wú)需人工干預(yù)。

文章圖片12

STP 基本概念

STP 是用在局域網(wǎng)中消除數(shù)據(jù)鏈路層物理環(huán)路的協(xié)議,標(biāo)準(zhǔn)名稱是 802.1D 。STP 帶來(lái)的好處有:

  • 消除環(huán)路:STP 可以通過阻塞冗余端口,確保網(wǎng)絡(luò)無(wú)環(huán)且連通;
  • 鏈路備份:當(dāng)使用的鏈路因故障斷開時(shí),可以檢測(cè)到這種情況,并自動(dòng)開啟阻塞狀態(tài)的冗余端口,網(wǎng)絡(luò)迅速恢復(fù)正常。

在了解 STP 的原理之前,我們先來(lái)看看幾個(gè)專業(yè)術(shù)語(yǔ):

1、橋 ID( Bridge ID ,BID )

在公司內(nèi)我們使用資產(chǎn)編號(hào)標(biāo)記不同的設(shè)備,在 STP 里我們使用不同的橋 ID 標(biāo)識(shí)不同的交換機(jī)。每一臺(tái)運(yùn)行 STP 的交換機(jī)都有一個(gè)唯一的橋 ID 。橋 ID 一共 8 字節(jié),包含 2 字節(jié)的橋優(yōu)先級(jí)和 6 字節(jié)的橋 MAC 地址。橋優(yōu)先級(jí)的值可以人為設(shè)定,默認(rèn)值是 32768 。橋 MAC 地址通常是交換機(jī)默認(rèn) VLAN1 的 MAC 地址。

文章圖片13

2、根橋( Root Bridge ,RB )

STP 要在整個(gè)二層網(wǎng)絡(luò)中計(jì)算出一棵無(wú)環(huán)的 “ 樹 ” ,樹形成了,網(wǎng)絡(luò)中的無(wú)環(huán)拓?fù)湟簿托纬闪?。其中最重要的就是樹根,樹根明確了,“ 樹枝 ” 才能沿著網(wǎng)絡(luò)拓?fù)溥M(jìn)行延伸。STP 的根橋就是這棵樹的樹根。當(dāng) STP 啟動(dòng)后,第一件事就是在網(wǎng)絡(luò)中選舉出根橋。在一個(gè)二層網(wǎng)絡(luò)中,根橋只有一個(gè),其余設(shè)備都是非根橋。當(dāng)網(wǎng)絡(luò)的拓?fù)浒l(fā)生變化時(shí),根橋也可能會(huì)發(fā)生變化。

文章圖片14

網(wǎng)絡(luò)中橋 ID 最小的交換機(jī)將成為根橋。在比較橋 ID 大小時(shí),首先比較的是橋優(yōu)先級(jí),橋優(yōu)先級(jí)的值最小的交換機(jī)選為根橋;如果橋優(yōu)先級(jí)相同,那么會(huì)比較 MAC 地址,MAC 地址最小的交換機(jī)選為根橋。

3、根路徑開銷( Root Path Cost ,RPC )

STP 交換機(jī)每一個(gè)端口都對(duì)應(yīng)一個(gè)開銷值,這個(gè)值表示數(shù)據(jù)通過端口發(fā)送時(shí)的開銷,這個(gè)值與端口帶寬有關(guān),帶寬越高,開銷值越小。對(duì)于端口開銷值的定義有不同的標(biāo)準(zhǔn),通常設(shè)備默認(rèn)使用 IEEE 802.1t 中定義的開銷值,同時(shí)還支持其它標(biāo)準(zhǔn),以便兼容不同廠家的設(shè)備。

非根橋到達(dá)根橋可能有多條路徑,每條路徑都有一個(gè)總開銷值,也就是根路徑開銷( RPC ),這個(gè)值是通過這條路徑所有出端口的開銷值累加而來(lái)的。STP 不會(huì)計(jì)算入端口的開銷,只在數(shù)據(jù)通過端口發(fā)出時(shí),才計(jì)算這個(gè)端口的開銷。對(duì)于根橋來(lái)說,根路徑開銷是 0 。

文章圖片15

4、端口 ID( Port ID ,PID )

運(yùn)行 STP 的交換機(jī)使用端口 ID 標(biāo)識(shí)每個(gè)端口,端口 ID 主要用于選舉指定端口。端口 ID 長(zhǎng)度為 16 比特,其中前 4 比特是端口優(yōu)先級(jí),后 12 比特是端口編號(hào)。在進(jìn)行比較時(shí),先比較端口優(yōu)先級(jí),優(yōu)先級(jí)小的端口優(yōu)先;在優(yōu)先級(jí)相同時(shí),再比較端口編號(hào),編號(hào)小的端口優(yōu)先。通常情況下,端口編號(hào)無(wú)法改變,可通過設(shè)置端口優(yōu)先級(jí)來(lái)影響生成樹的選路。

文章圖片16

5、BPDU

STP 協(xié)議使用 BPDU 報(bào)文進(jìn)行交互,BPDU 包含與 STP 協(xié)議相關(guān)的所有信息,并且使用這些信息來(lái)完成生成樹的計(jì)算。BPDU 是組播幀,地址為 0180-c200-0000 ,并由 STP 交換機(jī)產(chǎn)生、發(fā)送、接收、處理,終端主機(jī)不參與。BPDU 分為兩種類型:

  • 配置 BPDU( Configuration BPDU ):在 STP 的初始化過程中,每臺(tái)交換機(jī)都會(huì)產(chǎn)生并發(fā)送配置 BPDU 。在 STP 樹形成后的穩(wěn)定期,只有根橋才會(huì)周期性地發(fā)送配置 BPDU ;相應(yīng)的,非根橋會(huì)從自己的根端口收到配置 BPDU ,并更新自己的配置 BPDU ,再?gòu)闹付ǘ丝诎l(fā)送出去。這個(gè)過程看起來(lái)像根橋發(fā)出的配置 BPDU 逐跳的經(jīng)過了其它交換機(jī)。
文章圖片17

配置 BPDU 的參數(shù)詳情如下:

文章圖片18
  • 拓?fù)渥兓ㄖ?BPDU( Topology Change Notification BPDU ):簡(jiǎn)稱 TCN BPDU ,是非根橋通過根端口向根橋發(fā)送的。當(dāng)非根橋檢測(cè)到拓?fù)渥兓?,就?huì)生成一個(gè)描述拓?fù)渥兓?TCN BPDU ,并從自己的根端口發(fā)送出去。
文章圖片19

STP 樹的生成

STP 的基本原理是在一個(gè)有二層環(huán)路的網(wǎng)絡(luò)中,交換機(jī)通過運(yùn)行 STP ,自動(dòng)生成一個(gè)沒有環(huán)路的網(wǎng)絡(luò)拓?fù)?。這個(gè)無(wú)環(huán)網(wǎng)絡(luò)拓?fù)湟步凶?STP 樹( STP Tree ),樹節(jié)點(diǎn)為某些交換機(jī),樹枝為某些鏈路。當(dāng)網(wǎng)絡(luò)拓?fù)浒l(fā)生變化時(shí),STP 樹也會(huì)自動(dòng)地發(fā)生相應(yīng)的改變。

文章圖片20

STP 樹的生成過程是:首先選舉根橋,然后確定根端口和指定端口,最后阻塞備用端口。既然是選舉,我們就看下參選者和選舉范圍。

文章圖片21

STP 是通過比較 BPDU 中的信息進(jìn)行選舉的,最終的結(jié)果是:

  • 在整個(gè) STP 網(wǎng)絡(luò)中,唯一的一個(gè)根橋被選舉出來(lái);
  • 對(duì)于所有的非根橋,選舉出根端口和指定端口,負(fù)責(zé)轉(zhuǎn)發(fā)數(shù)據(jù);落選的端口就是備用端口,處于阻塞狀態(tài),不能轉(zhuǎn)發(fā)數(shù)據(jù)。
文章圖片22

1、選舉根橋

根橋是 STP 樹的根節(jié)點(diǎn)。要生成一棵 STP 樹,首先要確定一個(gè)根橋。根橋是整個(gè)二層網(wǎng)絡(luò)的邏輯中心,但不一定是物理中心。

在 STP 交換機(jī)剛連接到網(wǎng)絡(luò)時(shí),每臺(tái)交換機(jī)都以自己為根橋,從所有啟動(dòng)的端口發(fā)送 BPDU ,宣告自己是根橋。收到 BPDU 的交換機(jī)會(huì)比較 BPDU 中的根橋 ID 與自己的根橋 ID ,選擇根橋 ID 值小的配置成自己 BPDU 中的根橋 ID 。交換機(jī)不停地交互 BPDU ,同時(shí)對(duì)根橋 ID 進(jìn)行比較,直至選出一臺(tái)根橋 ID 最小的交換機(jī)作為根橋。根橋會(huì)在固定的時(shí)間間隔發(fā)送 BPDU ,其它設(shè)備對(duì) BPDU 進(jìn)行轉(zhuǎn)發(fā),從而保證網(wǎng)絡(luò)拓?fù)涞姆€(wěn)定。

文章圖片23

根橋交換機(jī)往往會(huì)承擔(dān)這個(gè)網(wǎng)絡(luò)中最大流量的轉(zhuǎn)發(fā)工作,我們希望性能最高的交換機(jī)當(dāng)選根橋交換機(jī)。但是 STP 在選舉時(shí),并不會(huì)把交換機(jī)的性能列入考量。為了讓網(wǎng)絡(luò)流量更合理的轉(zhuǎn)發(fā),可以通過配置橋優(yōu)先級(jí)的值來(lái)影響根橋的選舉。

文章圖片24

同時(shí),根橋是可以搶占的,在 STP 完成網(wǎng)絡(luò)收斂后,如果網(wǎng)絡(luò)中接入一臺(tái)新的交換機(jī),且新增交換機(jī)的優(yōu)先級(jí)比根橋交換機(jī)更優(yōu),那么新增交換機(jī)會(huì)成為網(wǎng)絡(luò)中新的根橋。同時(shí),STP 將會(huì)重新收斂、重新計(jì)算網(wǎng)絡(luò)拓?fù)?,這個(gè)過程會(huì)引發(fā)網(wǎng)絡(luò)震蕩,對(duì)流量的正常轉(zhuǎn)發(fā)造成影響。

2、選舉根端口( Root Port ,RP )

根橋選舉出來(lái)后,其它沒有成為根橋的交換機(jī)稱為非根橋。STP 會(huì)為每個(gè)非根橋選舉一個(gè)根接口,也就是在交換機(jī)的所有端口中,選擇距離根橋最近的一個(gè)端口,這就是根端口。

在 STP 樹形成后的穩(wěn)定期,根橋依然會(huì)周期性的向網(wǎng)絡(luò)中發(fā)送 BPDU ,而非根橋的根端口會(huì)收到 BPDU ,并向指定端口發(fā)送出去。

那是如何選擇根端口的呢?根橋周期性的發(fā)送 BPDU ,非根橋的所有端口都能收到 BPDU ,對(duì)比端口收到的 BPDU 中的參數(shù)值。

文章圖片25
  • 選擇根路徑開銷( RPC )最小的端口;
文章圖片26
  • 如果 RPC 相同,那就選對(duì)端橋 ID( BID )最小的端口;
文章圖片27
  • 如果對(duì)端橋 ID 相同,那就選對(duì)端端口 ID( PID )最小的端口。
文章圖片28

準(zhǔn)確的說,選舉根端口的目的是選舉出 STP 網(wǎng)絡(luò)中每臺(tái)交換機(jī)上與根交換機(jī)通信效率最高的端口。

3、選舉指定端口( Designated Port ,DP )

根端口確保了交換機(jī)到根橋的路徑是唯一的,也是最優(yōu)的。網(wǎng)絡(luò)中的每條鏈路與根橋之間的路徑也要是唯一且最優(yōu)的。當(dāng)一條鏈路中有兩條或兩條以上的路徑到達(dá)根橋,就必須確定出一個(gè)唯一的指定端口,防止出現(xiàn)二層環(huán)路。指定端口不但是這條鏈路內(nèi)所有端口中到達(dá)根橋的最優(yōu)接口,還會(huì)向鏈路內(nèi)發(fā)送 BPDU 。

雖然選舉指定端口的范圍和根端口不同,但是選舉的原則是一致的。指定端口的選舉同樣會(huì)按照以下過程進(jìn)行:

文章圖片29
  • 選擇根路徑開銷( RPC )最小的端口;
  • 如果 RPC 相同,那就選對(duì)端橋 ID 最小的端口;
  • 如果對(duì)端橋 ID 相同,那就選對(duì)端端口 ID 最小的端口。
文章圖片30

如果有人不小心將同一臺(tái)交換機(jī)上的兩個(gè)端口用網(wǎng)線連接起來(lái),網(wǎng)絡(luò)中就會(huì)產(chǎn)生環(huán)路。選舉指定端口就是為了預(yù)防這種錯(cuò)誤連接導(dǎo)致環(huán)路的情況。當(dāng)出現(xiàn)這種連接時(shí),STP 會(huì)以端口 ID 較小的端口作為指定端口,從而打破環(huán)路。

為什么根橋交換機(jī)的所有端口都是指定端口呢?

因?yàn)楦鶚蚪粨Q機(jī)端口的根路徑開銷都是 0 ,根據(jù)選擇選舉原則,成為這條鏈路的指定端口。

4、阻塞備用端口( Alternate Port ,AP )

在確定了根端口和指定端口后,交換機(jī)上剩下的非根端口和非指定端口都叫做備用端口。備用端口是打破環(huán)路的關(guān)鍵,STP 會(huì)對(duì)這些備用端口進(jìn)行邏輯阻塞。邏輯阻塞,是指端口不會(huì)接收或發(fā)送任何數(shù)據(jù),但是會(huì)監(jiān)聽 BPDU 。當(dāng)網(wǎng)絡(luò)的一些端口出現(xiàn)故障時(shí),STP 會(huì)讓備用端口開始轉(zhuǎn)發(fā)數(shù)據(jù),用來(lái)恢復(fù)網(wǎng)絡(luò)的正常通信。

文章圖片31

三種端口的異同如下:

文章圖片32

一旦備用端口被邏輯阻塞后,STP 樹的生成過程就完成了。

STP 端口狀態(tài)機(jī)

STP 不但定義了 3 種端口角色:根端口、指定端口、備用端口,還講定義了 5 種端口狀態(tài):禁用狀態(tài)、阻塞狀態(tài)、偵聽狀態(tài)、學(xué)習(xí)狀態(tài)、轉(zhuǎn)發(fā)狀態(tài)。

文章圖片33

STP 交換機(jī)的端口啟動(dòng)時(shí),首先會(huì)從禁用狀態(tài)自動(dòng)進(jìn)入到阻塞狀態(tài)。在阻塞狀態(tài),端口只能接收和分析 BPDU ,不能發(fā)送 BPDU 。如果端口選為根端口或指定端口,則會(huì)進(jìn)入偵聽狀態(tài),這時(shí)端口可以接收并發(fā)送 BPDU ,這種狀態(tài)會(huì)持續(xù)一個(gè) Forward Delay 的時(shí)間,默認(rèn)是 15 秒。15 秒后端口會(huì)進(jìn)入到學(xué)習(xí)狀態(tài),并持續(xù)一個(gè) Forward Delay 的時(shí)間。學(xué)習(xí)狀態(tài)的端口可以接收和發(fā)送 BPDU ,同時(shí)開始進(jìn)行 MAC 地址學(xué)習(xí),為數(shù)據(jù)轉(zhuǎn)發(fā)做好準(zhǔn)備。最后,端口由學(xué)習(xí)狀態(tài)進(jìn)入到轉(zhuǎn)發(fā)狀態(tài),就開始進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。在整個(gè)狀態(tài)的遷移過程中,端口一旦關(guān)閉或發(fā)生鏈路故障,就會(huì)進(jìn)入到禁用狀態(tài);如果端口不再是根端口或指定端口,那么端口狀態(tài)會(huì)立刻退回到阻塞狀態(tài)。

文章圖片34

在 STP 的生成過程中,為什么要有兩個(gè) Forward Delay 時(shí)間?

偵聽狀態(tài)有一個(gè) Forward Delay 的時(shí)間,是因?yàn)?BPDU 泛洪到全網(wǎng)需要一定的時(shí)間,STP 完成全網(wǎng)拓?fù)涞挠?jì)算同樣需要時(shí)間,所以停留 15 秒讓 STP 有充分的時(shí)間計(jì)算全網(wǎng)拓?fù)?,避免網(wǎng)絡(luò)中出現(xiàn)臨時(shí)的環(huán)路。在學(xué)習(xí)狀態(tài)又有一個(gè) Forward Delay 的時(shí)間,是由于交換機(jī)的接口上未學(xué)習(xí)到任何 MAC 地址,需要時(shí)間學(xué)習(xí) MAC 地址,避免網(wǎng)絡(luò)中出現(xiàn)不必要的數(shù)據(jù)幀泛洪現(xiàn)象。停留 15 秒,為進(jìn)入轉(zhuǎn)發(fā)狀態(tài)做好準(zhǔn)備。

STP 時(shí)間參數(shù)

STP 定義了 3 個(gè)重要的時(shí)間參數(shù)。

  • Hello Time( Hello 時(shí)間 ):STP 交換機(jī)發(fā)送配置 BPDU 的時(shí)間間隔,默認(rèn)是 2 秒。如果要修改時(shí)間參數(shù),那么必須在根橋上修改才有效。
  • Forward Delay(轉(zhuǎn)發(fā)延遲):接口從偵聽狀態(tài)進(jìn)入學(xué)習(xí)狀態(tài),或從學(xué)習(xí)狀態(tài)進(jìn)入轉(zhuǎn)發(fā)狀態(tài)的延遲時(shí)間,默認(rèn)值是 15 秒。避免在 STP 樹的生成過程中可能出現(xiàn)的臨時(shí)環(huán)路,或短暫的數(shù)據(jù)幀泛洪現(xiàn)象,分別在偵聽和學(xué)習(xí)的端口狀態(tài)各停留一個(gè)轉(zhuǎn)發(fā)延遲時(shí)間。對(duì)于 STP 而言,一個(gè)阻塞端口選舉為根接口或指定接口后,進(jìn)入轉(zhuǎn)發(fā)狀態(tài)至少需要經(jīng)歷 30 秒的時(shí)間。
  • Max Age(最大生存時(shí)間):BPDU 的最大生存時(shí)間,也稱為 BPDU 的老化時(shí)間,Max Age 的值由根橋指定,默認(rèn)值是 20 秒。如果端口在 20 秒內(nèi)收到 BPDU ,最大生存時(shí)間會(huì)重新計(jì)時(shí);如果端口一直沒收到 BPDU ,那么 BPDU 將會(huì)老化,設(shè)備會(huì)重新在端口上選擇最優(yōu) BPDU ,也就是重新進(jìn)行根接口的選舉。

由于時(shí)間參數(shù)的設(shè)計(jì),一個(gè) STP 接口從阻塞狀態(tài)進(jìn)入到轉(zhuǎn)發(fā)狀態(tài),可能需要 30 ~ 50 秒的時(shí)間,這段時(shí)間內(nèi),網(wǎng)絡(luò)無(wú)法正常使用。

舉例說明

文章圖片35
  1. 交換機(jī) A 、B 、C 一起啟動(dòng),各交換機(jī)的每個(gè)互聯(lián)端口立即從禁用狀態(tài)進(jìn)入到阻塞狀態(tài)。在阻塞狀態(tài)的端口只能接收而不能發(fā)送 BPDU ,所以任何端口都收不到 BPDU 。在等待 Max Age 后,每臺(tái)交換機(jī)都會(huì)認(rèn)為自己是根橋,所有端口的角色都成為指定端口,并且端口的狀態(tài)遷移為偵聽狀態(tài)。
  2. 交換機(jī)的端口進(jìn)入到偵聽狀態(tài)后,開始發(fā)送自己產(chǎn)生的配置 BPDU ,同時(shí)也收到其它交換機(jī)發(fā)送的配置 BPDU 。
  • 因?yàn)楦鱾€(gè)交換機(jī)發(fā)送 BPDU 的時(shí)間有一定的隨機(jī)性,所以有可能交換機(jī) B 和交換機(jī) C 先選舉根橋?yàn)榻粨Q機(jī) B ,再收到交換機(jī) A 的配置 BPDU ,最后選舉出根橋?yàn)榻粨Q機(jī) A 。因此,無(wú)論交換機(jī)開始的狀態(tài)如何,也不管中間過程有多大差異,最終的結(jié)果總是確定且唯一的:橋 ID 最小的交換機(jī)會(huì)成為根橋。
  • 端口在偵聽狀態(tài)持續(xù) Forward Delay 的時(shí)間后,開始進(jìn)入學(xué)習(xí)狀態(tài)。由于交換機(jī) C 的 G0/2 端口已經(jīng)成為備用端口,所以狀態(tài)也會(huì)變成阻塞狀態(tài)。
  1. 各個(gè)端口(交換機(jī) C 的 G0/2 端口除外)陸續(xù)進(jìn)入學(xué)習(xí)狀態(tài)后,會(huì)持續(xù) Forward Delay 的時(shí)間。在這段時(shí)間里,交換機(jī)開始學(xué)習(xí) MAC 地址和端口的映射關(guān)系,同時(shí)希望 STP 樹在這個(gè)時(shí)間內(nèi)能夠完全收斂。
  2. 之后各個(gè)端口(交換機(jī) C 的 G0/2 端口除外)相繼進(jìn)入轉(zhuǎn)發(fā)狀態(tài),開始進(jìn)行數(shù)據(jù)幀的轉(zhuǎn)發(fā)。

STP 的改進(jìn)和代替技術(shù)

在實(shí)際應(yīng)用中,STP 有很多不足之處,RSTP/MSTP 對(duì) STP 進(jìn)行了哪些改良?有哪些其它技術(shù)用來(lái)代替生成樹技術(shù)?欲知具體細(xì)節(jié),且看下篇文章。

實(shí)戰(zhàn)演練

STP 基礎(chǔ)配置

我們用 3 臺(tái)交換機(jī)搭建一個(gè)網(wǎng)絡(luò)環(huán)境,而且網(wǎng)絡(luò)中存在二層環(huán)路。為了對(duì)網(wǎng)絡(luò)進(jìn)行破環(huán),將在交換機(jī)上部署 STP 。

網(wǎng)絡(luò)拓?fù)?/h2>
文章圖片36

實(shí)驗(yàn)要求

  • 三臺(tái)交換機(jī)( SW )配置 STP 功能,使用命令指定根橋交換機(jī),使用命令改變端口狀態(tài)。

操作步驟

  1. 三臺(tái) SW 按照網(wǎng)絡(luò)拓?fù)鋱D,對(duì)相應(yīng)的端口進(jìn)行連接。SW 默認(rèn)的生成樹工作模式是 MSTP ,并且自動(dòng)協(xié)商出了根橋、根端口和指定端口。交換機(jī)的橋優(yōu)先級(jí)默認(rèn)是 32768 ,MAC 地址最小的交換機(jī)成為網(wǎng)絡(luò)中的根橋。通過命令查看,發(fā)現(xiàn) SWB 選舉為根橋。
文章圖片37
  1. 在三臺(tái)交換機(jī)上分別配置工作模式從默認(rèn)的 MSTP 改成 STP ,并且啟動(dòng) STP 功能。stp mode 命令用來(lái)修改交換機(jī)的工作模式。stp enable 命令用在設(shè)備上激活生成樹功能,默認(rèn)處于激活狀態(tài),所以這條命令為可選。
文章圖片38
  1. 在實(shí)際的網(wǎng)絡(luò)部署中,我們通常會(huì)修改某臺(tái)設(shè)備的優(yōu)先級(jí),確保它成為這個(gè)網(wǎng)絡(luò)的根橋,從而保證 STP 的穩(wěn)定性。假設(shè) SW1 是高性能的核心交換機(jī),SW2 和 SW3 是普通性能的接入交換機(jī)??梢詫?SW1 設(shè)置成根橋。在 SW1 配置的 stp root primary 命令讓它成為網(wǎng)絡(luò)中的根橋,實(shí)際上這條命令是把交換機(jī)的優(yōu)先級(jí)設(shè)置成最小值 0 ,而且這個(gè)優(yōu)先級(jí)不能修改。因此在 SW1 使用替代命令 stp priority 0 也能實(shí)現(xiàn)相同效果。stp priority 命令可以修改設(shè)備的 STP 優(yōu)先級(jí),取值范圍是 0 ~ 61440 ,而且要是 4096 的倍數(shù),例如 0 、4096 、8192 等。
文章圖片39
  1. 在設(shè)備上使用 display stp 命令查看 STP 狀態(tài),SW1 上的輸出如下。交換機(jī)的橋 ID 是 0.4c1f-ccff-4a7d ,其中 0 為交換機(jī)的優(yōu)先級(jí)值,這就是命令 stp root primary 的作用。4c1f-ccff-4a7d 是交換機(jī)的 MAC 地址,且根橋的 MAC 地址也是 4c1f-ccff-4a7d ,說明這臺(tái)交換機(jī)就是根橋。
文章圖片40
  1. 還可以使用 display stp brief 命令查看接口的 STP 狀態(tài),在 SW1 上輸出如下。由于 SW1 是根橋,所有端口都是指定狀態(tài),都處于轉(zhuǎn)發(fā)狀態(tài)。
文章圖片41
  1. SWC 的 G0/0/2 端口將會(huì)被阻塞,命令輸出如下。為什么 G0/0/2 的端口狀態(tài)是禁用,而不是阻塞。因?yàn)?STP 已經(jīng)不再使用,交換機(jī)默認(rèn)使用 MSTP ,即使將生成樹的模式修改為 STP ,交換機(jī)的端口狀態(tài)依然和 MSTP 保持一致。端口角色( Role )也是 MSTP 中的概念。
文章圖片42
  1. 因?yàn)?SWC 的 G0/0/1 端口是根端口,收到的 BPDU 比 G0/0/2 收到的更優(yōu),所以端口被阻塞。如果我們希望阻塞的不是 G0/0/2 ,而是 G0/0/1 端口,那就要讓 G0/0/2 成為根端口,比如將 G0/0/1 端口的 Cost 值調(diào)大,讓 SWC 的 G0/0/1 到達(dá)根橋的 RPC 比 G0/0/2的更大。SWC 增加配置如下:
文章圖片43
  1. 我們?cè)儆^察下 SWC 的端口狀態(tài),G0/0/2 端口成為根端口,G0/0/1 端口被阻塞。
文章圖片44

功能驗(yàn)證

查看三臺(tái) STP 交換機(jī)的端口狀態(tài),是否符合預(yù)期結(jié)果。

文章圖片45

還可以抓包驗(yàn)證 STP 交互的 BPDU 報(bào)文內(nèi)容是否正常。

文章圖片46

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

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多