MSTP (多重生成樹協定) 是 STP 和 RSTP 的延伸,在 STP 和 RSTP 中,只要連線被封鎖,所有流量都無法透過此連線傳輸。由於其他連線會乘載更多流量,將導致負載不平衡。為解決此問題,發展出了 MSTP。
MSTP 根據 VLAN 封鎖連接埠。例如 port 1 屬於 VLAN 1 和 VLAN 2,MSTP 會封鎖 VLAN 1 中的 port 1,但 VLAN 2 的 port 1 仍可以連線。因此,port 1 未被完全封鎖,且仍可以從 VLAN 2 轉發封包。
以下為 MSTP 範例,如圖所示,網路由三台交換器組成。VLAN 101-VLAN 106 中的流量在網路中傳輸,交換器之間的連線速度為 100Mb/s (這裡代表 port 的預設路徑 cost 為 200000)。需要 VLAN 101-VLAN 103 的流量和 VLAN 104-VLAN 106 的流量在不同路徑傳輸。
設定流程:
我們可以設定 MSTP 達到此需求。透過設定 MSTP,您可以為 VLAN 101-VLAN 103 和 VLAN 104-VLAN 106 手動設計兩條不同連線。若要達成此目的,我們需要建立兩條規則並將它們分別對應到 VLAN 101-VLAN 103 和 VLAN 104-VLAN 106。接著在每個規則中,手動指定 root switch 並為每個連接埠設定路徑 cost,讓我們可以決定哪個連接埠會被封鎖。
下圖為我們為 VLAN 設計的路徑,我們建立了 instance 1 和 instance 2,並將它們分別對應至 VLAN101-VLAN103 和 VLAN 104-VLAN 106。在 instance 1 中,我們將在交換器 A 上封鎖連接埠 1/0/2; 在 instance 2 中,我們將封鎖交換器 B 的連接埠 1/0/1。因此 VLAN 101-VLAN 103 和 VLAN 104-VLAN 106 的流量將透過不同路徑傳輸。
設定總覽如下:
- 在每台交換器上設定 MSTP,在對應連接埠上設定 spanning tree。
- 在同一區域設定 Switch A、Switch B 和 Switch C,將區域名稱設為 1,revision level 設為 100。將 VLAN 101-VLAN 103 對應至 instance 1 而 VLAN 104-VLAN 106 對應至 instance 2。
- 將 Switch B 的 priority 設為 4096,作為 instance 1 中的 root bridge; 將 Switch C 的 priority 設為 4096,作為 instance 2 中的 root bridge。
- 設定路徑 cost 封鎖特定連接埠。在 instance 1 中,將 Switch A 的連接埠 port 1/0/1 路徑 cost 設定大於預設路徑 cost (200000); 在 instance 2 中,將 Switch B 的連接埠 1/0/2 路徑 cost 設定大於預設路徑 cost (200000)。在此設定後,instance 1 中 Switch A 的連接埠 1/0/2 和 instance 2 中 Switch B 的連接埠 1/0/1 將被封鎖,這些連接埠不可為 neither root port 或指定(designated) port。
注意:
請先在每台交換器上設定 MSTP 後,將他們互相連線以避免廣播風暴。
設定 Switch A:
- 前往 L2 FEATURES > Spanning Tree > STP Config > STP Config 頁面。啟用 MSTP 功能,這裡的其他參數維持預設值。
- 前往 L2 FEATURES > Spanning Tree > STP Config > Port Config 頁面,在連接埠 1/0/1 和連接埠 1/0/2 啟用 Spanning tree,其他參數維持預設值。
- 前往 L2 FEATURES > Spanning Tree > MSTP Instance > Region Config 頁面,將區域名稱設為 1,revision level 設為 100。
- 前往 L2 FEATURES > Spanning Tree > MSTP Instance > Instance Config 頁面,將 VLAN101-VLAN103 對應至 instance 1,將 priority 設為 32768; 將 VLAN104-VLAN106 對應至 instance 2,將 priority 設定為 32768。
5. 前往 L2 FEATURES > Spanning Tree > MSTP Instance > Instance Port Config 頁面,將 instance 1 中的連接埠 1/0/1 的路徑 設為 300000 ,讓 Switch C 的連接埠 1/0/1 可被選為指定(designated) port。
設定 Switch B:
- 前往 L2 FEATURES > Spanning Tree > STP Config > STP Config 頁面。啟用 MSTP 功能,讓其他參數維持預設值。
- 前往 L2 FEATURES > Spanning Tree > STP Config > Port Config 頁面,啟用連接埠 1/0/1 和連接埠 1/0/2 上的 Spanning Tree 功能。讓其他參數維持預設值。
- 前往 L2 FEATURES > Spanning Tree > MSTP Instance > Region Config 頁面,將區域名稱設為 1,revision level 設為 100。
- 前往 L2 FEATURES > Spanning Tree > MSTP Instance > Instance Config 頁面,將 VLAN101-VLAN103 對應到 instance 1,將 priority 設為 4096; 將 VLAN104-VLAN106 對應到 instance 2,將 priority 設為 32768。
- 前往 L2 FEATURES > Spanning Tree > MSTP Instance > Instance Port Config 頁面,將 instance 2 中的連接埠 1/0/2 的路徑 cost 設為 300000 ,讓 Switch A 的連接埠 1/0/1 可被選為指定(designated) port。
設定 Switch C:
- 前往 L2 FEATURES > Spanning Tree > STP Config > STP Config 頁面,啟用 MSTP 功能,讓其他參數維持預設值。
- 前往 L2 FEATURES > Spanning Tree > STP Config > Port Config 頁面,在連接埠 1/0/1 和連接埠 1/0/2 啟用 Spanning Tree 功能,讓其他參數維持預設值。
- 前往 L2 FEATURES > Spanning Tree > MSTP Instance > Region Config 頁面,將區域名稱設為 1,revision level 設為 100。
- 前往 L2 FEATURES > Spanning Tree > MSTP Instance > Instance Config 頁面,將 VLAN101-VLAN103 對應至 instance 1 並將 priority 設為 32768; 將 VLAN104-VLAN106 對應至 instance 2 並將 priority 設為 4096。