計算網路之MSTP協議與VRRP協議

回憶也交給時間發表於2023-11-15

一.MSTP協議

MSTP協議出現是基於STP協議和RSTP協議的,要了解MSTP協議就需要先了解其它兩個協議

首先,STP協議是交換機生成樹協議,它的出現主要是為了解決二層交換機環路的問題,當多個交換機構成環路時,就會發生網路風暴,即一個資料包不斷的在環路中傳遞,浪費交換機資源

為了解決這一問題,就誕生了生成樹協議STP,有很多交換機也是自執行STP協議,如華為的,STP解決環路的主要方法是阻塞埠,

當環路存在會在交換機中選取根橋交換機,負責資料的轉發,其根橋的埠都是指定埠用來傳送資料的

而其它交換機就會選舉出根埠或指定埠,根埠負責接收資料

當沒有被選上的埠就會阻塞,即不是根埠也不是指定埠

STP也叫單生成樹協議,當環路被阻塞一個埠後,其構成的網路拓撲就好比一棵樹一樣,但是這種STP協議由於出現早,技術不成熟,導致了它對於鏈路的選舉十分慢

所以後面就出現了RSTP快速生成樹協議,它的收斂速度很快,並且在STP的基礎上增加了2種埠標識,並且把埠屬性充分地按照狀態和角色解耦

但是RSTP協議也是單生成樹協議,它和STP應用面臨相同的問題,即無法實現負載均衡

 如上圖:

當使用STP或RSTP協議時,以阻塞埠解除環路時,它的問題就是不能實現負載均衡,但是容災能力依舊存在

不管是PC9還是PC10,訪問LSW9和LSW10,路徑都是同樣的路徑3,路徑4,這使得路徑3的開銷會很大,而被阻塞的那個路徑沒有資料傳輸的開銷,這就使得它們不能實現負載均衡

還有一個問題就是次優路徑的問題,我們看圖PC10,如果他要去LSW10應該是透過被阻塞的那條路徑是最短的,但是它是被阻塞的,導致它要繞道LSW9然後到LSW10,所以就產生了鏈路存在最優路徑,而被迫走次優路徑的情況

所以為了解決這些問題,MSTP孕育而生了

MSTP出現解決了STP收斂慢的特點,又解決了RSTP不能實現負載均衡和次優路徑的問題

MSTP協議也叫多生成樹協議,聽名字就知道,它不再是單獨的一棵生成樹,MSTP是基於例項來劃分生成樹的,例項可以有255個,每個例項中裝的都是VLAN,每個例項可以裝多個Vlan

這樣我們大概就可以知道,MSTP中生成樹就是根據Vlan來劃分成的,每個例項都有自己的一些vlan,所以不同的例項就會走自己的生成樹,從而不同的生成樹堵塞埠也不一樣

 如上圖:

這就是MSTP生成樹協議的解除環路的方式,它不在統一構建單顆生成樹,而是依舊例項vlan構建多棵生成樹

由於LSW9是PC9的閘道器,而LSW10是PC10的閘道器,在通訊時它們會依據生成樹去找閘道器,這就解決了負載均衡的問題

當到達閘道器後,它可以沿著閘道器去任何一條路徑,並且兩個例項的路徑時對立的,不存在走重的路徑,這就解決了一個PC去閘道器需要去另外一個PC的路徑借道到閘道器,使得發生次優路徑的情況

理論我們已經清楚了,記住提到MSTP協議一定要想到多生成樹,現在來看看實現

二.MSTP配置(ENSP)

 配命令:

LSW9:

vlan batch 10 20
stp instance 1 root primary
stp instance 2 root secondary
stp region-configuration
 region-name huawei
 instance 1 vlan 10
 instance 2 vlan 20
 active region-configuration
interface Ethernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
interface Ethernet0/0/2
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094

 

LSW10:

vlan batch 10 20
stp instance 1 root secondary
stp instance 2 root primary
stp region-configuration
 region-name huawei
 instance 1 vlan 10
 instance 2 vlan 20
 active region-configuration
interface Ethernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
interface Ethernet0/0/2
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094

 

LSW11:

vlan batch 10 20
stp region-configuration
 region-name huawei
 instance 1 vlan 10
 instance 2 vlan 20
 active region-configuration
interface Ethernet0/0/1
 port link-type access
 port default vlan 10
interface Ethernet0/0/2
 port link-type access
 port default vlan 20
interface Ethernet0/0/21
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
interface Ethernet0/0/22
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094

 

提出MSTP協議的關鍵配置:

stp mode mstp

切換預設STP協議為MSTP協議

stp region-configuration

進入MSTP協議的配置

region-name huawei

配置服務為華為雲服務區域名稱

instance 1 vlan 10

將Vlan10加入例項1
instance 2 vlan 20

將Vlan20加入例項2
active region-configuration

啟用MSTP配置

三.抓包分析MSTP

 如上圖:

例項10的路徑是沿著LSW11  到  LSW9  在到LSW10因為ping的是對方的閘道器,自己的閘道器是LSW9

根據抓包路徑就可以看到例項10是阻塞的LSW11 到  LSW10這條路徑,

如果是STP協議那麼例項20也應該是堵塞的這條路徑,但是這是MSTP協議,我們在看看例項20的抓包,相同的也是ping對方的閘道器,也就是例項10的閘道器

 如上圖

例項20走的路徑則是和例項10相反,為什麼呢?因為多生成樹協議,解決了次優路徑的問題,

透過圖就可以看到LSW11  到  LSW10的路徑到閘道器是最短的,LSW10是例項20的閘道器,因為要先到閘道器再到例項10的閘道器

同時我們也可以發現LSW11 到 LSW9這段路徑被阻塞了,然後具體分析一下

例項10堵塞的是路徑:LSW11----LSW10

例項20堵塞的是路徑:LSW11----LSW9

透過上面的抓包就大概可以瞭解到為什麼MSTP是多生成樹協議了吧,因為它真的生成了多棵樹,而且是更具最優路徑來生成樹

補充:

要想例項10去閘道器都走LSW9,其實相對於LSW9來說,它就是例項10這顆生成樹的根橋交換機,所以要想它被選為例項10的根橋交換機,就可以對其進行配置:

stp instance 10 root primary

 

在LSW9交換機上配置stp例項10為其根橋

相同的道理,例項20去閘道器都走LSW10,那麼LSW10也是例項20的根橋交換機,對其配置:

stp instance 20 root primary

 

如上,配置LSW10後它就是例項10這顆生成樹的根橋了,資料包會優先到根橋交換機,然後轉發

這樣它即是根橋交換機又是閘道器,二者兼得

四.VRRP協議

什麼是VRRP協議?

 VRRP叫路由冗餘協議,是一種提高網路可靠性的容錯協議,它可以在主機的下一跳裝置故障時,及時將業務切換到備份裝置,從而保證網路的正常通訊

從定義中我們需要抓住一個關鍵字,備份,路由冗餘協議需要備份什麼,當然是路由

VRRP常常用於備份閘道器,它和MSTP協議結合使用,首先我們要知道VRRP是怎麼來備份的,

它在備份的裝置上設定一個閘道器,且優先順序大於100,因為預設的VRRP虛擬介面是100,大於100則表示在本機未故障的時候優先順序是最高的,而其它裝置上就需要備份設定相同的閘道器,不更改優先順序就是100,那麼它就是次優閘道器

當然,多備份的時候,只要小於主交換機的時候,也是可以當作備份的閘道器

這就和浮動路由很像,有兩條路徑都可以到達目的地址,但是在路由表中會記錄最優的那條路徑,當最優路徑down掉以後,另外一條次優路徑才會浮起來,保證鏈路通暢

相同的VRRP的配置中只要主閘道器還存在,那麼其它的閘道器都是浮動的,無效路由,只有主閘道器(優先順序最高的)當機以後,其它的備份閘道器才會浮起來

VRRP配置的閘道器也是一個在虛介面上,所以它可以在物理層上將兩個或多個路由器邏輯的劃分為一個,根據優先順序來決定去那個路由器

這也是VRRP主要的實現方式,邏輯的將多個路由器閘道器構成一個閘道器

 如上圖:

當兩個VRRP虛擬介面閘道器都存在的時候,則是優先順序高的來當閘道器,提供閘道器服務

當優先順序高的閘道器2當機以後,備份閘道器1也就浮動起來了,然後由閘道器1來當閘道器,然後繼續提供閘道器服務

VRRP實驗(ENSP)

 實現的目的

LSW9作為192.168.1.0網段的主閘道器,並且作為192.168.2.0的備份閘道器

LSW10作為192.168.2.0網段的主閘道器,並且作為192.168.1.0的備份閘道器

然後來看配置:

LSW9:

interface Vlanif10
 ip address 192.168.1.200 255.255.255.0
 vrrp vrid 1 virtual-ip 192.168.1.254
 vrrp vrid 1 priority 200

interface Vlanif20
 ip address 192.168.2.200 255.255.255.0
 vrrp vrid 2 virtual-ip 192.168.2.254

 

 

LSW10:

interface Vlanif10
 ip address 192.168.1.200 255.255.255.0
 vrrp vrid 1 virtual-ip 192.168.1.254

interface Vlanif20
 ip address 192.168.2.200 255.255.255.0
 vrrp vrid 2 virtual-ip 192.168.2.254
 vrrp vrid 2 priority 200

 

 

如上,

在交換機上配置IP地址是需要先進入Vlanif中的,如果是在路由器上配置就進入介面中就行了

首先給Vlanif增加一個IP地址,因為VRRP是虛擬介面,所以不需要直接配置在Vlanif介面上

而是在此介面上虛擬化一個VRRP,在LSW9上192.168.1.254的優先順序為200,而192.168.2.254的優先順序為100(預設)

且在LSW10上192.168.1.254優先順序為100,192.168.2.254的優先順序為200

由此LSW9為192.168.1.0的主閘道器,為192.168.2.0的備份閘道器

LSW10為192.168.2.0的主閘道器,為192.168.1.0備份閘道器

在任何一個交換機故障後,VRRP配置會使備份頂上來,維護鏈路完整通訊。