交換機中的冗余鏈路管理
一 交換機冗余鏈路
許多交換機或交換機設備組成的網(wǎng)絡環(huán)境中,通常使用一些備份連接,以提高網(wǎng)絡的健全性,穩(wěn)定性。備份連接也叫備份鏈路,冗余鏈路等。
為了解決共享式局域網(wǎng)的碰撞問題,采用了交換機構(gòu)成的交換式局域網(wǎng),它可以識別數(shù)據(jù)幀中的封裝的MAC地址,并根據(jù)地址信息將數(shù)據(jù)交換到特定端口,這樣的工作方式使交換機不同端口之間不會碰撞,即分割碰撞域。但是單點失敗問題難以保證通信正常,因此需要冗余技術(shù)解決單點失敗問題。
雖然使用冗余備份能夠為網(wǎng)絡帶來健全性,穩(wěn)定性,和可靠性等好處。但備份鏈路使網(wǎng)絡存在環(huán)路。環(huán)路問題是備份鏈路面臨的最嚴重的問題,將導致廣播風暴,多幀復制,不穩(wěn)定的MAC地址表等問題。
(1)廣播風暴
廣播風暴是一種由于網(wǎng)絡上廣播太多導致的特殊堵塞情況,這也可能由失常的NIC卡,設計不足的網(wǎng)絡或橋接/交換回路導致。
如果沒有回路規(guī)避服務,每個交換機就會無窮無盡地泛濫廣播。這種情況通常稱為網(wǎng)絡回路,從而產(chǎn)生廣播風暴,導致帶寬浪費,嚴重影響網(wǎng)絡和主機性能。消除回路的方案是通過在正常操作期間阻止四個接口中的傳輸或接收數(shù)據(jù)來解決的,也可以看到生成樹的工作情況。
(2)重復非廣播幀傳輸
多份非廣播幀傳給目的站。很多協(xié)議期望接收每個傳輸?shù)膯蝹€副本,同一幀的多個副本可能導致不可恢復的錯誤。多數(shù)協(xié)議設計既不識別也不處理傳輸副本。通常利用序列號機制的協(xié)議假定多數(shù)傳輸失敗,序列號將被循環(huán)使用。其他協(xié)議試著傳輸副本到上層協(xié)議——這會導致不可預測的結(jié)果。
消除回路的方案是通過在正常操作期間阻止四個接口中的傳輸或接收數(shù)據(jù)來解決的,這也是生成樹協(xié)議的另一個目的。
(3)MAC地址表的不穩(wěn)定性
當一個幀的多個副本到達交換機的不同端口時,導致網(wǎng)絡MAC地址表信息不穩(wěn)定。
當交換機在MAC地址表中因克服地址顛簸而消耗資源時,轉(zhuǎn)發(fā)的數(shù)據(jù)可能被損壞,而根據(jù)交換機的內(nèi)部結(jié)構(gòu),不可能處理或不可能很好處理MAC數(shù)據(jù)庫的快速變化問題。
消除回路的方案也是通過在正常操作期間阻止四個接口中的傳輸或接收數(shù)據(jù)來解決的,阻止數(shù)據(jù)庫的不穩(wěn)定性是生成樹協(xié)議的另一個功能。
二 生成樹協(xié)議
冗余功能是高可用性分層網(wǎng)絡拓撲的關(guān)鍵要素,但是在網(wǎng)絡中配置多條路徑有可能導致環(huán)路。可使用生成樹協(xié)議(STP)來防止環(huán)路。
生成樹協(xié)議定義在IEEE802.1d中,是一種橋到橋的鏈路管理協(xié)議,在防止產(chǎn)生自循環(huán)的基礎上提供路徑冗余。為了使以太網(wǎng)更好的工作,兩個工作站之間只有一條活動路徑。網(wǎng)絡環(huán)路的發(fā)生有多種原因,最常見的是故意生成的冗余,萬一一個鏈路或者交換機失敗,會有另一個鏈路或者交換機替代。所以STP的主要思想是存在冗余鏈路時,只允許主鏈路激活,如果主鏈路因故障斷開后,備用鏈路才會被打開。
生成書協(xié)議分為三代:第一代生成樹協(xié)議STP(IEEE802.1d);第二代生成樹協(xié)議RSTP(IEEE802.1w);第三代生成樹協(xié)議MSTP。
STP的主要作用:避免回路,冗余備份。生成樹的協(xié)議基于以下幾點:
(1)有唯一的組地址(01-80-C2-00-00-00)標識一個特定LAN上的所有的交換機。這個組地址能被所有的交換機識別。
(2)每個交換機有唯一的標識。
(3)每個交換機的端口有唯一的端口標識。
對生成樹的管理還需要:對每個交換機協(xié)調(diào)一個相對的優(yōu)先級;對每個交換機的每個端口協(xié)調(diào)一個相對的優(yōu)先級;對每個端口協(xié)調(diào)一個路徑花費。
關(guān)于STP的工作原理:
首先網(wǎng)橋有三個典型方式:透明橋,源路由橋,源路由透明橋。網(wǎng)橋連接兩個用同樣介質(zhì)存取控制方法的網(wǎng)段,IEEE802.1d 規(guī)范定義了透明橋。橋的兩邊的網(wǎng)段分屬于不同的沖突域,卻屬于同一個廣播域。
透明橋是指對于數(shù)據(jù)的接收端看不到路徑中經(jīng)由的交換機,認為數(shù)據(jù)是從發(fā)送端直接到達目的地。源路由橋是由IBM公司為它的令牌環(huán)路網(wǎng)絡開發(fā)的。源透明路由橋是透明橋和源路由橋的結(jié)合。
在一個由透明橋橋接的網(wǎng)絡里,存在冗余的路徑就能建立一個橋回路,但橋回路對一個局域網(wǎng)來說是致命的。而生成樹協(xié)議是一種嵌套橋協(xié)議,可以用來消除橋回路。它的工作原理是:生成樹協(xié)議定義一個數(shù)據(jù)包,稱為橋協(xié)議數(shù)據(jù)單元BPDU,網(wǎng)橋用BPDU來相互通信,并使用BPDU的相關(guān)機能來動態(tài)選擇根橋和備份橋,所以橋回路被消除。
含BPDU的以太幀格式
以太網(wǎng)幀頭包括DLC頭部,LLC頭部,BPDU字段,填充DLC的Padding。BPDU也經(jīng)常被封裝在IEEE802.q的頭部后。
(1)DLC頭部:長度14字節(jié),包含 DMA , SAMA , L/T 三個字段。
* DMA:指目的MAC地址,BPDU通常采用的是Bridge group addr 網(wǎng)橋組多播地址,其多播目標MAC地址為:01-80-c2-00-00-00.
* SAM:指源MAC地址。
* L/T:指幀長。
(2)LLC頭部:長度為3字節(jié),包括DSAP Address,SSAP Address,Unnumbered frame 字段。
(3)BPDU:長度為32字節(jié)。
(4)DLC:長度為8字節(jié),是為了補齊60字節(jié)邊界用的DLC填充(Padding)8字節(jié)。
BDPU分為兩種:包含配置信息的BPDU包,稱為配置BPDU;檢測到網(wǎng)絡拓撲結(jié)構(gòu)發(fā)生變化時,則要發(fā)送拓撲變化通知BPDU。
配置BPDU編碼
發(fā)送拓撲變化通知BPDU幀格式
對于配置BPDU,超過35字節(jié)的部分將被忽略;對于拓撲變化通知BPDU,超過4字節(jié)的部分將被忽略掉。由配置BPDU和和發(fā)送拓撲變化通知BPDU格式可見,發(fā)送拓撲變化通知BPDU的組成部分是配置BPDU幀格式的幀頭部分。
BPDU幀格式含義:
(1)Protocol Identifier: 協(xié)議ID,長度2字節(jié),協(xié)議標識符值固定為0。
(2)Protocol Version Identifier:版本號,長度為1字節(jié),當數(shù)值為00時,表示使用協(xié)議IEEE802.d;當數(shù)值為02時,表示使用協(xié)議IEEE802.1w。
(3)BPDU Type:消息類型,長度為1字節(jié),配置BPDU數(shù)值為ox00,配置TCN數(shù)值為ox80。
(4)Flag:標志長度為一字節(jié),字節(jié)最高低位用于標識TC(Topology Change ,拓撲是否變化),字節(jié)最高位用于標識TCA(Topology Change Acknowlegment,是否是拓撲變化確認信息)。
(5)Root Identifier:根ID,長度為8字節(jié),用于表示根網(wǎng)橋的網(wǎng)橋ID,習慣寫成Root ID。其包括兩部分:字節(jié)的priority(根優(yōu)先級)和6字節(jié)的MAC Address (根端口IP地址)組成。
(6)Root Path Cost:路徑開銷,長度為4字節(jié),用于表示從交換機到達根網(wǎng)橋方向STP開銷的疊加。如果交換機自己就是根網(wǎng)橋,其值為0。
(7)Bridge Identifier:網(wǎng)橋ID,長度為8字節(jié),用于轉(zhuǎn)發(fā)根網(wǎng)橋BPDU的網(wǎng)橋的ID,習慣寫成Bridge ID。Bridge ID 包括兩部分:Priority(交換機自己的優(yōu)先級),MAC Addresss(交換機自己的MAC地址)其中,Priority 數(shù)值范圍為0~61440,默認值為0x8000,即十進制的32768;在設定時,其值只能為"0"或"4096"的倍數(shù),故共16個。
(8)Port Identifier:端口ID,長度為2字節(jié),用于轉(zhuǎn)發(fā)根網(wǎng)橋BPDU的網(wǎng)橋的端口ID,習慣寫為Port ID。Port ID由1字節(jié)的端口優(yōu)先級和1字節(jié)的端口ID組成。端口優(yōu)先級的范圍為0~240,默認值為128,在設定時,其值必須是"0"或"16"的倍數(shù),總共16個。
(9)Message Age :消息老化時間,長度為2字節(jié)。
(10)Max Age:最大壽命,長度為2字節(jié),用于記錄對方有效BPDU消息的最長時間,當一段時間未收到任何BPDU,生成期到達Max Age時,網(wǎng)橋認為該端口連接的鏈路發(fā)生故障,默認20秒。
(11)Hello Time:長度為2字節(jié),用于根橋定期發(fā)送BPDU的時間間隔,默認2秒。
(12)Forward Delay:指轉(zhuǎn)發(fā)延遲,長度為2字節(jié),通常是指網(wǎng)橋端口由網(wǎng)橋監(jiān)聽與學習狀態(tài)改變的時間間隔,默認為15秒。
STP為解決環(huán)路和重復幀問題,會通過生成樹算法(STA)堵塞可能導致環(huán)路的冗余路徑(邏輯堵塞),這些物理路徑仍然實際存在,一旦需要啟用此類路徑來抵消網(wǎng)絡電纜和交換機故障的影響時,STP會重新計算路徑,將必要的端口解除堵塞,使冗余路徑進入活動狀態(tài)。
生成樹形成方法如下:
(1)決定根交換機(根的上端口都是根端口)
-
所有交換機首先會認為自己是根。
-
全網(wǎng)選取Bridge ID 最小的交換機為根交換機。
-
每個交換機唯一的橋ID由交換機優(yōu)先級和MAC地址組合而成。
-
交換機優(yōu)先級和Mac地址越小,則Bridge ID越小。
-
默認優(yōu)先級為32678。
-
(2)決定根端口
-
比較Root Path Cost(路徑開銷是到根橋的路徑上所有端口的開銷總和,其計算方法是從根交換機進入到拓撲中其他交換機的過程中,端口開銷的累加。路徑開銷最低的會成為首選路徑,所有其他冗余路徑都會被阻塞。
-
比較相鄰交換機的Bridge ID。
-
比較本地Port ID。
-
比較交換機端口的物理編號(如F0/1或G0/1等)。
開銷->對端BID->對端PID->本端PID
(3)決定指定交換機
(4)決定指定端口
指定交換機和LAN相連的端口稱為指定端口;除根端口之外,可以在網(wǎng)絡中獲準轉(zhuǎn)發(fā)流量的所有端口,都指的是指定端口。交換機確定哪臺交換機上的哪個端口作為特定LAN網(wǎng)段的特定端口時所采用的步驟如下:
-
使用網(wǎng)段上具有到達根交換機的最低累加路徑成本的已連接交換機。
-
如果兩臺交換機之間的累加路徑成本相同,那么將選擇具有最低交換機ID的交換機
-
如果碰巧是相同的交換機,但有兩個到達LAN網(wǎng)段單獨連接,那么將選擇具有最低優(yōu)先級的交換機端口。
-
如果交換機上端口的優(yōu)先級仍然相同,那么選擇該交換機上具有最低物理編號的端口。
-
根交換機上每個活動端口都是指定端口
(5)決定非指定端口
除了根端口和指定端口之外所有端口都被稱為未指定端口,其是被堵塞的交換機端口,不會轉(zhuǎn)發(fā)數(shù)據(jù)幀,也不會使用源地址填充MAC地址。
(6)確定端口狀態(tài)
運行生成樹協(xié)議的交換機端口具有4種狀態(tài):轉(zhuǎn)發(fā),學習,監(jiān)聽和堵塞,并且總處于四種狀態(tài)之一。
(1)堵塞:接收BPDU,不學習MAC地址,不轉(zhuǎn)發(fā)數(shù)據(jù)幀,所有端口為堵塞狀態(tài),由交換機決定哪個端口轉(zhuǎn)為轉(zhuǎn)發(fā)狀態(tài)。
(2)監(jiān)聽:接收BPDU,不學習MAC地址,不轉(zhuǎn)發(fā)數(shù)據(jù)幀,交換機向其他交換機通告此端口,參與選舉根端口和指定端口,這種狀態(tài)屬于臨時狀態(tài)。
(3)學習:接收BPDU,學習MAC地址,不轉(zhuǎn)發(fā)數(shù)據(jù)幀,這種狀態(tài)屬于臨時狀態(tài)。
(4)轉(zhuǎn)發(fā):可以正常的傳送和接受數(shù)據(jù),數(shù)據(jù)幀。
確定完根端口和指定端口后進入轉(zhuǎn)發(fā)狀態(tài),其它冗余非指定端口設為堵塞狀態(tài),這樣一個生成樹的拓撲結(jié)構(gòu)也就產(chǎn)生了。
好了,以上內(nèi)容就是海翎光電關(guān)于交換機的冗余鏈路管理這個問題的相關(guān)詳細介紹,希望能對大家有所幫助!