本章主要講述的是MSTP,關於STP、RSTP、MSTP會有很多人分不清出,下面可以瞭解一下這三個協議,相信你會有一個清晰的認識。
STP (Spanning Tree Protocol,生成樹協議)不能使端口狀態快速遷移,即使是在
點對點鏈路或邊緣端口,也必須等待2 倍的Forward delay 的時間延遲,端口才能
遷移到轉發狀態。
RSTP(Rapid Spanning Tree Protocol,快速生成樹協議)可以快速收斂,但是和
STP 一樣存在以下缺陷:局域網內所有網橋共享一棵生成樹,不能按 VLAN 阻塞冗
餘鏈路,所有VLAN 的報文都沿着一棵生成樹進行轉發。
MSTP(Multiple Spanning Tree Protocol,多生成樹協議)將環路網絡修剪成爲一
個無環的樹型網絡,避免報文在環路網絡中的增生和無限循環,同時還提供了數據
轉發的多個冗餘路徑,在數據轉發過程中實現VLAN 數據的負載均衡。
MSTP 兼容 STP 和RSTP,並且可以彌補STP 和RSTP 的缺陷。它既可以快速收
斂,也能使不同VLAN 的流量沿各自的路徑分發,從而爲冗餘鏈路提供了更好的負
載分擔機制。
MSTP 將整個二層網絡劃分爲多個 MST域,各個域之間通過計算生成CST ;域內
則通過計算生成多棵生成樹,每棵生成樹都被稱爲是一個MSTI。MSTP 同RSTP
一樣,使用配置消息進行生成樹的計算,只是配置消息中攜帶的是交換機上MSTP
的配置信息。
從上面我們可以看到mstp有很強的優勢,不但可以環路網絡修剪成爲一個無環的樹型網絡,而且還可以實現VLAN 數據的負載均衡。有了更加優秀的生成樹協議我們何不一起來了解一下MSTP呢?
下面將介紹一個案例:
方案:交換機SW1的橋跟爲instance 1 備份橋跟爲instance 2
交換機SW1的橋跟爲instance 1 備份橋跟爲instance 2
我們要實現全網的無環結構,而且還要實現vlan的負載均衡
拓撲圖:
方案:交換機SW1的橋跟爲instance 1 備份橋跟爲instance 2
交換機SW1的橋跟爲instance 1 備份橋跟爲instance 2
這次我們使用華爲的交換機,型號:LS-2403H-HI,因爲這個型號的交換機支持MSTP
SW1配置
首先我們啓動MSTP
[SW1]stp enable
這裏默認啓動的是MSTP
如果你要是想設置其他生成樹協議可以設置STP 模式
[SW1]stp mode ?
mstp Multiple spanning tree protocol mode
rstp Rapid spanning tree protocol mode
stp Spanning tree protocol mode
[SW1]stp region-configuration 進入MST域視圖
[SW1-mst-region]region-name jrd 配置MST域的域名,這裏域名爲jrd,域名必須一致
[SW1-mst-region]instance 1 vlan 10 20 配置VLAN 映射表 ,第一個樹映射vlan 10 20
[SW1-mst-region]instance 2 vlan 30 40 第二樹映射vlan 30 40
[SW1-mst-region]revision-level 1 配置MST域的 MSTP 修訂級別爲1
[SW1-mst-region]active region-configuration 激活MST域的配置
下面配置當前交換機爲根橋或備份根橋
[SW1] stp instance 2 root primary 指定SW1爲instance 2生成樹的根橋
[SW1] stp instance 1 root secondary 指定SW1爲instance 1生成樹的備份根橋
下面來看下MST域的信息
[SW1]stp region-configuration
[SW1-mst-region]check region-configuration
別忘了vlan在交換機之間的通信走的是trunk鏈路,我們還要設置trunk鏈路
[SW1]interface Ethernet 1/0/1
[SW1-Ethernet1/0/1]port link-type trunk
[SW1-Ethernet1/0/1]port trunk permit vlan all
[SW1]interface Ethernet 1/0/24
[SW1-Ethernet1/0/24]port link-type trunk
[SW1-Ethernet1/0/24]port trunk permit vlan all
SW2
[SW2]stp enable 已經啓動MSTP
%Apr 2 07:56:21:127 2000 SW2 MSTP/3/STPSTART:- 1 -STP is now enabled on the device.
[SW2]vlan 10
[SW2]vlan 20
[SW2]vlan 30
[SW2]vlan 40
[SW2]stp region-configuration 進入MST域視圖
[SW2-mst-region]region-name jrd 配置MST域的域名,這裏域名爲jrd,域名必須一致
[SW2-mst-region]instance 1 vlan 10 20 配置VLAN 映射表 ,第一個樹映射vlan 10 20
[SW2-mst-region]instance 2 vlan 30 40 第二樹映射vlan 30 40
[SW2-mst-region]revision-level 1 配置MST域的 MSTP 修訂級別爲1
[SW2-mst-region]active region-configuration 激活MST域的配置
下面配置當前交換機爲根橋或備份根橋
[SW2] stp instance 1 root primary 指定SW2爲instance 1生成樹的根橋
[SW2] stp instance 2 root secondary 指定SW2爲instance 2生成樹的備份根橋
下面來看下MST域的信息
[SW2]stp region-configuration
[SW2-mst-region]check region-configuration
別忘了vlan在交換機之間的通信走的是trunk鏈路,我們還要設置trunk鏈路
[SW2]interface Ethernet 1/0/24
[SW2-Ethernet1/0/24]port link-type trunk
[SW2-Ethernet1/0/24]port trunk permit vlan all
[SW2]interface Ethernet 1/0/22
[SW2-Ethernet1/0/22]port link-type trunk
[SW2-Ethernet1/0/22]port trunk permit vlan all
SW3配置
[SW3]stp enable 已經啓動MSTP
%Apr 2 07:56:21:127 2000 SW2 MSTP/3/STPSTART:- 1 -STP is now enabled on the device.
[SW3]stp region-configuration 進入MST域視圖
[SW3-mst-region]region-name jrd 配置MST域的域名,這裏域名爲jrd,域名必須一致
[SW3-mst-region]instance 1 vlan 10 20 配置VLAN 映射表 ,第一個樹映射vlan 10 20
[SW3-mst-region]instance 2 vlan 30 40 第二樹映射vlan 30 40
[SW3-mst-region]active region-configuration 激活MST域的配置
因爲這個交換機不是任何一個vlan的跟和備份跟,所以不需要配置,這裏我們只將SW3加入MST區域
別忘了vlan在交換機之間的通信走的是trunk鏈路,我們還要設置trunk鏈路
[SW3]interface Ethernet 1/0/1
[SW3-Ethernet1/0/22]port link-type trunk
[SW3-Ethernet1/0/22]port trunk permit vlan all
[SW3]interface Ethernet 1/0/22
[SW3-Ethernet1/0/22]port link-type trunk
[SW3-Ethernet1/0/22]port trunk permit vlan all
下面我們來測試下
首先我們需要了解MSTP的端口角色和端口狀態
端口角色
在MSTP 的計算過程中,端口角色主要有根端口、指定端口、Master端口、域邊緣
端口、Alternate端口和Backup端口。
根端口是負責向樹根方向轉發數據的端口。
指定端口是負責向下遊網段或交換機轉發數據的端口。
Master端口是連接 MST域到總根的端口,位於整個域到總根的最短路徑上。
域邊緣端口是連接不同MST域、MST域和運行STP 的區域、MST域和運行
RSTP 的區域的端口,位於 MST域的邊緣。
Alternate端口是Master端口的備份端口,如果Master端口被阻塞後,Alternate
端口將成爲新的Master端口。
當同一臺交換機的兩個端口互相連接時就存在一個環路,此時交換機會將其中
一個端口阻塞,Backup端口是被阻塞的那個端口。
MSTP 中,根據端口是否轉發用戶流量、接收/ 發送BPDU 報文,端口狀態劃分爲三
種:
Forwarding 狀態:既轉發用戶流量又接收/ 發送BPDU 報文;
Learning 狀態:不轉發用戶流量,只接收/ 發送BPDU 報文;
Discarding 狀態:只接收BPDU 報文。
通過上面的介紹,我們已經知道這些端口的狀態以及含義,下面我們一起看下SW1、SW2、SW3的端口狀態,從下圖可以看到每一個樹都有自己的跟端口(root)、指定端口(mast)、阻塞端口。