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