STP,RSTP,MSTP和鏈路聚合

STP

STP(Spanning Tree Protocol,生成樹協議)是根據IEEE 802.1D 標準建立的,用於在局域網中消除數據鏈路層物理環路的協議。運行該協議的設備通過彼此交互信息發現網絡中的環路,並有選擇的對某些端口進行阻塞,最終將環路網絡結構修剪成無環路的樹型網絡結構,從而防止報文在環路網絡中不斷增生和無限循環,避免設備由於重複接收相同的報文所造成的報文處理能力下降的問題發生。

STP採用的協議報文是BPDU(Bridge Protocol Data Unit,橋協議數據單元),也稱爲配置消息,BPDU中包含了足夠的信息來保證設備完成生成樹的計算過程。STP即是通過在設備之間傳遞BPDU來確定網絡的拓撲結構。

STP(spanning tree protocol,生成樹協議)不能使端口狀態快速遷移,即使是在點對點鏈路或邊緣端口,也必須等待2倍的forward delay的時間延遲,端口才能遷移到轉發狀態。

STP 的基本原理是通過在交換機之間傳遞一種特殊的協議報文IEEE802.1D 協議將這種協議報文稱爲配置消息來確定網絡的拓撲結構配置消息中包含了足夠的信息來保證交換機完成生成樹計算.

配置消息中主要包括以下內容
(1) 樹根的 ID 由樹根的優先級和MAC 地址組合而成
(2) 到樹根的最短路徑開銷
(3) 指定交換機的 ID 由指定交換機的優先級和MAC 地址組合而成
(4) 指定端口的 ID 由指定端口的優先級和端口編號組成
(5) 配置消息的生存期 MessageAge
(6) 配置消息的最大生存期 MaxAge
(7) 配置消息發送的週期 HelloTime
(8) 端口狀態遷移的延時 ForwardDelay

BPDU格式及字段說明

要實現生成樹的功能,交換機之間傳遞BPDU報文實現信息交互,所有支持STP協議的交換機都會接收並處理收到的報文。該報文在數據區裏攜帶了用於生成樹計算的所有有用信息。

標準生成樹的BPDU幀格式及字段說明:

image

Protocol identifier協議標識

Version協議版本

Message type: BPDU類型

Flag: 標誌位

Root ID: 根橋ID,由兩字節的優先級和6字節MAC地址構成

Root path cost: 根路徑開銷

Bridge ID: 橋ID,表示發送BPDU的橋的ID,由2字節優先級和6字節MAC地址構成

Port ID: 端口ID,標識發出BPDU的端口

Message age: BPDU生存時間

Maximum age: 當前BPDU的老化時間,即端口保存BPDU的最長時間

Hello time: 根橋發送BPDU的週期

Forward delay: 表示在拓撲改變後,交換機在發送數據包前維持在監聽和學習狀態的時間

STP的基本概念

橋ID(Bridge Identifier):橋ID是橋的優先級和其MAC地址的綜合數值,其中橋優先級是一個可以設定的參數。橋ID越低,則橋的優先級越高,這樣可以增加其成爲根橋的可能性。

根橋(Root Bridge):具有最小橋ID的交換機是根橋。請將環路中所有交換機當中最好的一臺設置爲根橋交換機,以保證能夠提供最好的網絡性能和可靠性。

指定橋(Designated Bridge):在每個網段中,到根橋的路徑開銷最低的橋將成爲指定橋,數據包將通過它轉發到該網段。當所有的交換機具有相同的根路徑開銷時,具有最低的橋ID的交換機會被選爲指定橋。

根路徑開銷(Root Path Cost):一臺交換機的根路徑開銷是根端口的路徑開銷與數據包經過的所有交換機的根路徑開銷之和。根橋的根路徑開銷是零。

橋優先級(Bridge Priority):是一個用戶可以設定的參數,數值範圍從0到32768。設定的值越小,優先級越高。交換機的橋優先級越高,才越有可能成爲根橋。

根端口(Root Port):非根橋的交換機上離根橋最近的端口,負責與根橋進行通信,這個端口到根橋的路徑開銷最低。當多個端口具有相同的到根橋的路徑開銷時,具有最高端口優先級的端口會成爲根端口。

指定端口(Designated Port):指定橋上向本交換機轉發數據的端口。

端口優先級(Port Priority):數值範圍從0到255,值越小,端口的優先級就越高。端口的優先級越高,才越有可能成爲根端口。

路徑開銷(Path Cost):STP協議用於選擇鏈路的參考值。STP協議通過計算路徑開銷,選擇較爲“強壯”的鏈路,阻塞多餘的鏈路,將網絡修剪成無環路的樹型網絡結構。

生成樹基本概念的組網示意圖如圖所示。交換機A、B、C三者順次相連,經STP計算過後,交換機A被選爲根橋,端口2和端口6之間的線路被阻塞。

橋:交換機A爲整個網絡的根橋;交換機B是交換機C的指定橋。

端口:端口3和端口5分別爲交換機B和交換機C的根端口;端口1和端口4分別爲交換機A和交換機B的指定端口;端口6爲交換機C的阻塞端口。

STP定時器

聯絡時間(Hello Time):

數值範圍從1秒到10秒。是指根橋向其它所有交換機發出BPDU數據包的時間間隔,用於交換機檢測鏈路是否存在故障。

老化時間(Max. Age):

數值範圍從6秒到40秒。如果在超出老化時間之後,還沒有收到根橋發出的BPDU數據包,那麼交換機將向其它所有的交換機發出BPDU數據包,重新計算生成樹。

傳輸時延(Forward Delay):

數值範圍從4秒到30秒。是指交換機的端口狀態遷移所用的時間。

當網絡故障引發生成樹重新計算時,生成樹的結構將發生相應的變化。但是重新計算得到的新配置消息無法立刻傳遍整個網絡,如果端口狀態立刻遷移的話,可能會產生暫時性的環路。爲此,生成樹協議採用了一種狀態遷移的機制,新的根端口和指定端口開始數據轉發之前要經過2倍的傳輸時延,這個延時保證了新的配置消息已經傳遍整個網絡。

STP模式的BPDU的優先級比較原則

假定有兩條BPDU X和Y,則:

如果X的根橋ID小於Y的根橋 ID,則X優於Y

如果X和Y的根橋ID相同,但X的根路徑開銷小於Y,則X優於Y

如果X和Y的根橋ID和根路徑開銷相同,但X的橋ID小於Y,則X優於Y

如果X和Y的根橋ID、根路徑開銷和橋ID相同,但X的端口ID小於Y,則X優於Y

STP的計算過程

初始狀態:每臺交換機在初始時會生成以自己爲根橋的BPDU,根路徑開銷爲0,指定橋ID爲自身設備ID,指定端口爲本端口。

最優BPDU的選擇:每臺交換機都向外發送自己的BPDU,同時也會收到其它交換機發送的BPDU。比較過程如下表所述:

根橋的選擇:通過交換配置消息,設備之間比較根橋ID,網絡中根橋ID 最小的設備被選爲根橋。

根端口、指定端口的選擇過程如下表所述:

RSTP

RSTP(Rapid Spanning Tree Protocol,快速生成樹協議)是優化版的STP,他大大縮短了端口進入轉發狀態的延時,從而縮短了網絡最終達到拓撲穩定所需要的時間。RSTP的端口狀態實現快速遷移的前提如下:

根端口的端口狀態快速遷移的條件是:本設備上舊的根端口已經停止轉發數據,而且上游指定端口已經開始轉發數據。

指定端口的端口狀態快速遷移的條件是:指定端口是邊緣端口或者指定端口與點對點鏈路相連。如果指定端口是邊緣端口,則指定端口可以直接進入轉發狀態;如果指定端口連接着點對點鏈路,則設備可以通過與下游設備握手,得到響應後即刻進入轉發狀態。

RSTP(rapid spanning tree protocol,快速生成樹協議)可以快速收斂,但是和stp一樣存在以下缺陷:局域網內所有網橋共享一棵生成樹,不能按vlan阻塞冗餘鏈路,所有vlan的報文都沿着一棵生成樹進行轉發。

RSTP的基本概念

邊緣端口(Edge Port):直接與終端相連而不是與其它交換機相連的端口。

點對點鏈路:是兩臺交換機之間直接連接的鏈路。

RSTP主要配置任務列表如下:
   開啓/關閉設備Spanning Tree 特性
   開啓/關閉端口Spanning Tree 特性
   配置交換網絡的網絡直徑
   配置 RSTP協議的工作模式
   配置特定網橋的 Bridge 優先級
   配置特定網橋的 Forward Delay 特性
   配置特定網橋的 hello-time 特性

   配置特定網橋的 Max Age 特性
   配置特定端口的最大發送速率
   配置特定端口是否可以作爲 EdgePort
   配置特定端口的路徑開銷
   配置特定端口的優先級
   配置特定端口是否與點對點鏈路相連
   執行 mCheck 操作

MSTP

MSTP(Multiple Spanning Tree Protocol,多生成樹協議)是在STP和RSTP的基礎上,根據IEEE協會制定的802.1S標準建立的,他既可以快速收斂,也能使不同VLAN的流量沿各自的路徑轉發,從而爲冗餘鏈路提供了更好的負載分擔機制。

MSTP(multiple spanning tree protocol,多生成樹協議)將環路網絡修剪成爲一個無環的樹型網絡,避免報文在環路網絡中的增生和無限循環,同時還提供了數據轉發的多個冗餘路徑,在數據轉發過程中實現vlan數據的負載均衡。

MSTP的特點如下:

MSTP通過VLAN-實例映射表,把VLAN和生成樹聯繫起來,將多個VLAN捆綁到一個實例中,並以實例爲基礎實現負載均衡。

MSTP把一個生成樹網絡劃分成多個域,每個域內形成多棵內部生成樹,各個生成樹之間彼此獨立。

MSTP在數據轉發過程中實現VLAN 數據的負載分擔。

MSTP 兼容STP 和RSTP,並且可以彌補stp和rstp的缺陷。它既可以快速收斂,也能使不同vlan的流量沿各自的路徑分發,從而爲冗餘鏈路提供了更好的負載分擔機制。

MSTP的基本概念

MST(Multiple Spanning Tree Region,多生成樹域):由具有相同域配置和相同Vlan-實例映射關係的交換機所構成。

IST(Internal Spanning Tree,內部生成樹):MST域內的一棵生成樹。

CST(Common Spanning Tree,公共生成樹):連接網絡內所有MST域的單生成樹。

CIST(Common and Internal Spanning Tree,公共和內部生成樹):連接網絡內所有設備的單生成樹,由IST和CST共同構成。

MSTP基本概念的組網圖如圖所示。

MSTP的基本原理

MSTP將整個網絡劃分爲多個MST域,各個域之間通過計算生成CST;域內則通過計算生成多棵生成樹,每棵生成樹都被稱爲是一個多生成樹實例。MSTP同STP一樣,使用BPDU進行生成樹的計算,只是BPDU中攜帶的是MSTP的配置信息。

MSTP模式的BPDU優先級比較原則

假定有兩條MSTP的BPDU X和Y,則:

如果X的總根ID小於Y的總根ID,則X優於Y

如果X和Y的總根ID相同,但X的外部路徑開銷小於Y,則X優於Y

如果X和Y的總根ID和外部路徑開銷相同,但X的域根ID小於Y的域根ID,則X優於Y

如果X和Y的總根ID、外部路徑開銷和域根ID相同,但X的內部路徑開銷小於Y,則X優於Y

如果X和Y的總根ID、外部路徑開銷、域根ID和內部路徑開銷相同,但X的橋ID小於Y,則X優於Y

如果X和Y的總根ID、外部路徑開銷、域根ID、內部路徑開銷和橋ID均相同,但X的端口ID小於Y,則X優於Y

端口狀態

MSTP中,根據端口是否轉發數據和如何處理BPDU報文,可將端口狀態劃分爲以下四種:

轉發:接收並轉發數據,接收併發送BPDU報文,進行地址學習。

學習:不接收或轉發數據,接收併發送BPDU報文,進行地址學習。

阻塞:不接收或轉發數據,接收但不發送BPDU報文,不進行地址學習。

斷開:物理鏈路斷開。

端口角色

MSTP的端口角色分爲以下幾種:

根端口:到根橋的路徑開銷最低,負責向根橋方向轉發數據的端口。

指定端口:負責向下遊網段或設備轉發數據的端口。

Master端口:連接MST域到總根的端口,位於整個域到總根的最短路徑上。

替換端口:根端口和Master端口的備份端口。

備份端口:指定端口的備份端口。

禁用端口:物理鏈路斷開的端口。

鏈路聚合

簡介:

鏈路聚合是將兩個或更多數據信道結合成一個單個的信道,該信道以一個單個的更高帶寬的邏輯鏈路出現。鏈路聚合一般用來連接一個或多個帶寬需求大的設備,例如連接骨幹網絡的服務器或服務器羣。

鏈路聚合

如果聚合的每個鏈路都遵循不同的物理路徑,則聚合鏈路也提供冗餘和容錯。通過聚合調制解調器鏈路或者數字線路,鏈路聚合可用於改善對公共網絡的訪問。鏈路聚合也可用於企業網絡,以便在吉比特以太網交換機之間構建多吉比特的主幹鏈路。

交換機基礎:鏈路聚合定義

鏈路聚合技術亦稱主幹技術(Trunking)或捆綁技術(Bonding),其實質是將兩臺設備間的數條物理鏈路“組合”成邏輯上的一條數據通路,稱爲一條聚合鏈路,如Figure1示意。交換機之間物理鏈路Link1、Link2和Link3組成一條聚合鏈路。該鏈路在邏輯上是一個整體,內部的組成和傳輸數據的細節對上層服務是透明的。

交換機基礎知識:鏈路聚合技術

鏈路聚合示意圖

聚合內部的物理鏈路共同完成數據收發任務並相互備份。只要還存在能正常工作的成員,整個傳輸鏈路就不會失效。仍以上圖的鏈路聚合爲例,如果Link1和Link2先後故障,它們的數據任務會迅速轉移到Link3上,因而兩臺交換機間的連接不會中斷(參見Figure2)。

交換機基礎知識:鏈路聚合技術

鏈路聚合成員相互備份

交換機基礎:鏈路聚合的優點

從上面可以看出,鏈路聚合具有如下一些顯著的優點:

1.提高鏈路可用性

鏈路聚合中,成員互相動態備份。當某一鏈路中斷時,其它成員能夠迅速接替其工作。與生成樹協議不同,鏈路聚合啓用備份的過程對聚合之外是不可見的,而且啓用備份過程只在聚合鏈路內,與其它鏈路無關,切換可在數毫秒內完成。

2.增加鏈路容量

鏈路聚合技術的另一個明顯的優點是爲用戶提供一種經濟的提高鏈路傳輸率的方法。通過捆綁多條物理鏈路,用戶不必升級現有設備就能獲得更大帶寬的數據鏈路,其容量等於各物理鏈路容量之和。聚合模塊按照一定算法將業務流量分配給不同的成員,實現鏈路級的負載分擔功能。

某些情況下,鏈路聚合甚至是提高鏈路容量的唯一方法。例如當市場上的設備都不能提供高於10G的鏈路時,用戶可以將兩條10G鏈路聚合,獲得帶寬大於10G的傳輸線路。

此外,特定組網環境下需要限制傳輸線路的容量,既不能太低影響傳輸速度,也不能太高超過網絡的處理能力。但現有技術都只支持鏈路帶寬以10爲數量級增長,如10M、100M、1000M等。而通過聚合將n條物理鏈路捆綁起來,就能得到更適宜的、n倍帶寬的鏈路。

交換機基礎:鏈路聚合的標準

目前鏈路聚合技術的正式標準爲IEEEStandard802.3ad,由IEEE802委員會制定。標準中定義了鏈路聚合技術的目標、聚合子層內各模塊的功能和操作的原則,以及鏈路聚合控制的內容等。

其中,聚合技術應實現的目標定義爲必須能提高鏈路可用性、線性增加帶寬、分擔負載、實現自動配置、快速收斂、保證傳輸質量、對上層用戶透明、向下兼容等等。

交換機基礎:鏈路聚合控制協議LACP

鏈路聚合控制協議(LinkAggregationControlProtocol)是IEEE802.3ad標準的主要內容之一,定義了一種標準的聚合控制方式。聚合的雙方設備通過協議交互聚合信息,根據雙方的參數和狀態,自動將匹配的鏈路聚合在一起收發數據。聚合形成後,交換設備維護聚合鏈路狀態,當雙方配置變化時,自動調整或解散聚合鏈路。

LACP協議報文中的聚合信息包括本設備的配置參數和聚合狀態等,報文發送方式分爲事件觸發和週期發送。當聚合狀態或配置變化事件發生時,本系統通過發送協議報文通知對端自身的變化。聚合鏈路穩定工作時,系統定時交換當前狀態以維護鏈路。協議報文不攜帶序列號,因此雙方不檢測和重發丟失的協議報文。

鏈路聚合中需要指出的是,LACP協議並不等於鏈路聚合技術,而是IEEE802.3ad提供的一種鏈路聚合控制方式,具體實現中也可採用其它的聚合控制方式。

案例:

一、 實驗目的

1、 瞭解鏈路聚合技術的使用場合;

2、 熟練掌握鏈路聚合技術的配置。

二、 應用環境

兩個實驗室分別使用一臺交換機提供20多個信息點,兩個實驗室的互通通過一根級聯網線。每個實驗室的信息點都是百兆到桌面。兩個實驗室之間的帶寬也是100M,如果實驗室之間需要大量傳輸數據,就會明顯感覺帶寬資源緊張。當樓層之間大量用戶都希望以100M傳輸數據的時候,樓層間的鏈路就呈現出了獨木橋的狀態,必然造成網絡傳輸效率下降等後果。

解決這個問題的辦法就是提高樓層主交換機之間的連接帶寬,實現的辦法可以是採用千兆端口替換原來的100M端口進行互聯,但這樣無疑會增加組網的成本,需要更新端口模塊,並且線纜也需要作進一步的升級。另一種相對經濟的升級辦法就是鏈路聚合技術。

顧名思義,鏈路聚合,是將幾個鏈路作聚合處理,這幾個鏈路必須是同時連接兩個相同的設備的,這樣,當作了鏈路聚合之後就可以實現幾個鏈路相加的帶寬了。比如,我們可以將4個100M鏈路使用鏈路聚合作成一個邏輯鏈路,這樣在全雙工條件下就可以達到800M的帶寬,即將近1000M的帶寬。這種方式比較經濟,實現也相對容易。

三、 實驗設備

1、 DCS-3926S交換機2臺

2、 PC機2臺

3、 Console線1-2根

4、 直通網線4-8根

四、 實驗拓撲

五、 實驗要求

image

如果鏈路聚合成功,則PC1可以ping 通PC2。

六、 實驗步驟

第一步:正確連接網線,交換機全部恢復出廠設置,做初始配置,避免廣播風暴出現

交換機A:

switch#config

switch(Config)#hostname switchA

switchA(Config)#interface vlan 1

switchA(Config-If-Vlan1)#ip address 192.168.1.11 255.255.255.0

switchA(Config-If-Vlan1)#no shutdown

switchA(Config-If-Vlan1)#exit

switchA(Config)#spanning-tree

MSTP is starting now, please wait...........

MSTP is enabled successfully.

switchA(Config)#

交換機B:

switch#config

switch(Config)#hostname switchB

switchB(Config)#interface vlan 1

switchB(Config-If-Vlan1)#ip address 192.168.1.12 255.255.255.0

switchB(Config-If-Vlan1)#no shutdown

switchB(Config-If-Vlan1)#exit

switchB(Config)#spanning-tree

MSTP is starting now, please wait...........

MSTP is enabled successfully.

switchB(Config)#

第二步:創建port group

交換機A:

switchA(Config)#port-group 1

switchA(Config)#

驗證配置:

switchA#show port-group detail

Sorted by the ports in the group 1:

--------------------------------------------

switchA#show port-group brief

Port-group number : 1

Number of ports in port-group : 0 Maxports in port-channel = 8

Number of port-channels : 0 Max port-channels : 1

switchA#

交換機B

switchB(Config)#port-group 2

switchB(Config)#

第三步:手工生成鏈路聚合組(第三、四步任選其一操作)

交換機A:

switchA(Config)#interface ethernet 0/0/1-2

switchA(Config-Port-Range)#port-group 1 mode on

switchA(Config-Port-Range)#exit

switchA(Config)#interface port-channel 1

switchA(Config-If-Port-Channel1)#

驗證配置:

switchA#show vlan

VLAN Name Type Media Ports

---- ------------ ---------- --------- -------------------

1 default Static ENET Ethernet0/0/3 Ethernet0/0/4

Ethernet0/0/5 Ethernet0/0/6

Ethernet0/0/7 Ethernet0/0/8

Ethernet0/0/9 Ethernet0/0/10

Ethernet0/0/11 Ethernet0/0/12

Ethernet0/0/13 Ethernet0/0/14

Ethernet0/0/15 Ethernet0/0/16

Ethernet0/0/17 Ethernet0/0/18

Ethernet0/0/19 Ethernet0/0/20

Ethernet0/0/21 Ethernet0/0/22

Ethernet0/0/23 Ethernet0/0/24

Port-Channel1

switchA# !port-channel1已經存在

交換機B:

switchB(Config)#int e 0/0/3-4

switchB(Config-Port-Range)#port-group 2 mode on

switchB(Config-Port-Range)#exit

switchB(Config)#interface port-channel 2

switchB(Config-If-Port-Channel2)#

驗證配置:

switchB#show port-group brief

Port-group number : 2

Number of ports in port-group : 2 Maxports in port-channel = 8

Number of port-channels : 1 Max port-channels : 1

switchB#

第四步: LACP動態生成鏈路聚合組(第三、四步任選其一操作)

switchA(Config)#interface ethernet 0/0/1-2

switchA(Conifg-Port-Range)#port-group 1 mode active

switchA(Config)#interface port-channel 1

switchA(Config-If-Port-Channel1)#

驗證配置:

switchA#show vlan

VLAN Name Type Media Ports

---- ------------ ---------- --------- -------------------

1 default Static ENET Ethernet0/0/3 Ethernet0/0/4

Ethernet0/0/5 Ethernet0/0/6

Ethernet0/0/7 Ethernet0/0/8

Ethernet0/0/9 Ethernet0/0/10

Ethernet0/0/11 Ethernet0/0/12

Ethernet0/0/13 Ethernet0/0/14

Ethernet0/0/15 Ethernet0/0/16

Ethernet0/0/17 Ethernet0/0/18

Ethernet0/0/19 Ethernet0/0/20

Ethernet0/0/21 Ethernet0/0/22

Ethernet0/0/23 Ethernet0/0/24

Port-Channel1

switchA# !port-channel1已經存在

交換機B:

switchB(Config)#interface ethernet 0/0/3-4

switchB(Conifg-Port-Range)#port-group 2 mode passive

switchB(Config)#interface port-channel 2

switchB(Config-If-Port-Channel2)#

驗證配置:

switchB#show port-group brief

Port-group number : 2

Number of ports in port-group : 2 Maxports in port-channel = 8

Number of port-channels : 1 Max port-channels : 1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章