華爲交換技術——MSTP協議原理

MSTP是IEEE 802.1s中提出的一種STP和VLAN結合使用的新協議,它既繼承了RSTP端口快速遷移的優點,又解決了RSTP中不同VLAN必須運行在同一棵生成樹上的問題。接下來我們詳細瞭解一下MSTP協議。

MSTP協議是一個公有的生成樹協議,在實際生產環境中得到了廣泛的應用。

一、MSTP概述

傳統的生成樹只能運行一個實例,且收斂速度慢,RSTP在傳統STP基礎上通過改進達到了加速網絡拓補收斂的目的,但是目前依然存在一些缺陷。由於STP和RSTP在整個局域網中,所有的VLAN共享一個生成樹實例,因此無法實現基於VLAN的負載均衡,網絡環境穩定狀態下備份鏈路始終不能轉發數據流量,造成帶寬的浪費!如圖所示:華爲交換技術——MSTP協議原理
當交換機S1爲根網橋時,S2和S3之間的鏈路將處於阻塞狀態,不能轉發任何流量。即使網絡出現擁塞時,S2和S3之間的鏈路也不可以被使用,造成資源的浪費!

學過Cisco的朋友都知道Cisco的PVST技術是一種基於VLAN的生成樹技術。每個VLAN運行一個生成樹,可以重複使用所有的鏈路,但是當企業生產環境中,有很多VLAN(比如100個VLAN時),交換網絡中就需要運行100多個生成樹實例,從而將大量佔用交換設備的硬件資源及網絡開銷。
PVST和MSTP的比較圖:華爲交換技術——MSTP協議原理
下面詳細介紹一下——MSTP

MSTP是多生成樹技術,允許在一個交換環境中運行多個生成樹,每個生成樹成爲一個實例。實例之間的生成樹彼此獨立,比如一個實例下的阻塞接口在另一個實例中可能是轉發接口。和PVST不同的是:MSTP允許多個VLAN運行一個生成樹實例。大部分情況下,運行多個生成樹實例的好處就在於鏈路的負載分擔,但是當只有一個冗餘鏈路時,運行兩個生成樹實例完全可以實現負載均衡,同時又能節約系統開銷。如圖:華爲交換技術——MSTP協議原理
現實企業環境中,網絡環境中運行多個實例是非常常見的情況。因爲這樣可以實現:不同實例的根網橋在不同物理交換機上,不但可以實現負載分擔,而且不會因爲過多的實例而佔用系統資源。

MSTP將環形網絡修剪成一個無環的樹形網絡,避免廣播風暴的發生,同時還提供了數據轉發的多個冗餘路徑,在數據轉發過程中實現VLAN數據的負載均衡。MSTP還兼容STP和RSTP。
MSTP把一個交換網絡劃分成多個域,每個域內形成多棵生成樹,生成樹之間彼此獨立。每棵生成樹成爲一個多生成樹實例(MSTI),每個域稱爲一個MST域。

MSTP通過設置VLAN映射表,把VLAN和MSTI聯繫起來。每個VLAN只能對應一個MSTI,即同一VLAN的數據只能在一個MSTI中傳輸,而一個MSTI可以對應多個VLAN。這樣就可以充分的利用網絡帶寬,有效避免資源浪費!

二. MSTP的基本原理

在MSTP中。通過把整個互聯的二層以太網劃分成若干域。在域內,把其中的VLAN分成若干組,每組具有相同的拓補結構,然後定義若干MSTI,並把這些生成樹實例和不同的VLAN映射起來!

所謂實例就是多個VLAN的一個集合。通過將多個VLAN映射到一個實例,可以節省通信開銷和資源佔用率。MSTP各個實例拓補的計算相互獨立,在這些實例上可以實現負載均衡。可以把多個相同拓補結構的VLAN映射到一個實例中,這些VLAN在接口上的轉發狀態取決於接口在對應MSTP實例的狀態。

如果僅僅是爲了防止廣播風暴等環路問題,運行CST已經可以實現。運行多實例的主要目的在於使其負載分擔鏈路負載。所以運行的生成樹實例數量一般取決於冗餘線路的數量,如果只有一條冗餘線路,那麼最好運行兩個實例。如果有兩條冗餘鏈路,那麼運行三個實例將是最好的選擇,並儘可能保證每個實例中流量相差不大。
1. MSTP的網絡層次
*一個二層交換網絡可以劃分多個MSTP域,每個生成樹域可以劃分成多個MSTI,每個實例中可以映射多個VLAN。爲了讓朋友更加詳細的瞭解,請看下圖:
華爲交換技術——MSTP協議原理
圖中的MSTP網絡中包含3個MST域,分別是A、B、C,每個MST域中包含一個或多個MSTI。以MSTP域B爲例,包含兩個MSTI,分別是Instance1和Instance2。Instance1和VLAN1~5映射;Instance2和VLAN6~10映射。

2.MST域
MST域是多生成樹域,由局域網中的多臺交換機及它們之間的網段構成。一個局域網可以存在多個MST域,各MST域之間在物理上直接或間接相連。用戶可以通過MSTP配置命令把多臺交換機劃分在同一個MST域內。MST域中的交換機都啓用了MSTP,配置相同的域名及VLAN映射表。

3.MSTI
一個MST域內可以運行多個MSTI,MSTI之間彼此獨立,MSTI可以與一個或者多個VLAN對應。但一個VLAN只能與一個MSTI對應。

4.端口角色
爲了更好的理解端口的角色,請看下圖:華爲交換技術——MSTP協議原理
華爲交換技術——MSTP協議原理
MSTP中的端口角色除了邊緣端口外,其他端口角色都參與MSTP的計算過程。同一端口在不同的MSTI可以擔任搞不同的角色。
5.MSTP的端口狀態

MSTP的端口狀態分爲一下三種:
Forwarding:在這種狀態下,端口即轉發用戶流量,又接收/發送BPDU報文。
Learning:這是一種過渡狀態,在learning狀態下,交換機會根據收到的用戶流量,學習MAC地址表,但不轉發用戶流量,所以被稱爲學習狀態,learning狀態的端口接收/發送BPDU報文,不轉發用戶流量。
Discarding:在這種狀態下,端口只能接收BPDU報文。

三.MSTP的保護功能

在面對一些二層生成樹*時,下面四個技術可以增加生成樹的安全性
1.BPDU保護
在交換機上,通常將直接與用戶端或文件服務器等非交換機設備相連的端口配置爲邊緣端口,以實現這些端口的快速收斂。正常情況下,這些端口不會受到BPDU。如果有人僞造BPDU惡氣進攻交換機,當這些端口收到BPDU時,交換機自動將這些端口設置爲非邊緣端口,並重新進行生成樹計算,從而引起網絡震盪。
啓用BPDU保護功能後,如果接口收到BPDU報文,那麼該接口將被自動shutdown,從而避免了後續的非法操作及由此帶來的網絡震盪。配置的命令如下:
華爲交換技術——MSTP協議原理
2.根保護
由於管理失誤或人爲惡意操作,網絡中的合法交換機的端口可能會接收到優先級更高的BPDU,這將使目前網絡中的根失去根的地位,之後將重新計算生成樹,引起網絡震盪,還有可能造成網絡擁塞。爲了防止以上情況的發生,交換機提供根保護功能。根保護功能維持端口的角色來保護根交換機的地位。配置了根保護功能的端口,在所有實例上的端口角色都保持爲指定端口。當端口收到優先級更高的BPDU時,端口的角色不會變爲非指定端口,而是進入偵聽狀態,不再轉發報文。經過足夠長的時間,如果端口一直沒有再收到優先級較高的BPDU,端口則會恢復原本的正常狀態。配置命令如下:
華爲交換技術——MSTP協議原理
3.環路保護
根端口和其他阻塞端口狀態會週期性地接收來自上游交換機的BPDU。當鏈路擁塞或者單向鏈路故障時,這些端口無法接收來自上游交換機的BPDU,交換機會重新選擇根端口。原先的根端口會轉變爲指定端口,而原先阻塞的端口會變成轉發狀態,從而造成交換網絡中可能產生環路。環路保護功能會抑制這種環路的產生。在啓動了環路保護功能後,如果根端口收不到來自上游的BPDU,根端口會被設置進入阻塞狀態;而阻塞端口則會一直保持在阻塞狀態,不再轉發報文,從而不會在網絡中形成環路。收到拓補變更的BPDU時,端口才會被激活。配置命令如下:
華爲交換技術——MSTP協議原理
4.TCP保護**
交換機在接收到TC-BPDU報文後,會執行MAC地址表項和ARP表項的刪除操作。如果有人僞造TC-BPDU報文非法操作交換機,交換機短時間內會收到很多TCP-BPDU報文,頻繁的刪除操作會給設備造成很大的負擔,給網絡的穩定帶來很大的隱患,啓用TC保護功能後,在單位時間內,MSTP進程收到TC類型BPDU報文的數量大於配置的閾值,那麼MSTP進程只會處理閾值指定的次數。對於其他超出閾值的TC類型BPDU報文,定時器到期後,MSTP進程只對其統一處理一次,這樣可以避免頻繁的刪除MAC地址表項和ARP表項,從而達到保護交換機的目的。配置命令如下:
華爲交換技術——MSTP協議原理

四.MST的相關配置

案例圖如下:
華爲交換技術——MSTP協議原理
實驗要求如下:
華爲交換技術——MSTP協議原理
實驗步驟:
華爲交換技術——MSTP協議原理
1.配置客戶端IP地址。
華爲交換技術——MSTP協議原理
2.配置vlan及trunk。
S1配置如下:
華爲交換技術——MSTP協議原理
S2配置如下:
華爲交換技術——MSTP協議原理
S3配置如下:
華爲交換技術——MSTP協議原理
3.配置MSTP
S1配置如下:
華爲交換技術——MSTP協議原理
S2配置如下:
華爲交換技術——MSTP協議原理
S3配置如下
華爲交換技術——MSTP協議原理
4.驗證
在S3上使用display stp brief 命令查看STP接口角色及狀態信息,結果如下圖所示,其中instance1中的Ethernet0/0/1和instance2中的Ethernet0/0/1處於堵塞狀態。同時兩個實例之間互相獨立,彼此不受影響。
PC1和PC2是可以通信的,不管任何交換機之間任意一條線路故障,也不會影響通信。
華爲交換技術——MSTP協議原理

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