使用者工具

網站工具


network:linkspanningtreefamilyvlan

PVST

當網路規模較很大需要Switch特別多時,使用RSTP還是會導致較長收斂時間,若是將網路架構用VLAN方式切割成多個VLAN,或需是可以解決 的方法,但實際上RSTP及STP無法跨越不同VLAN來運作,因為以RSTP及STP觀點來看,雖然切割成不同VLAN,不同Vlan之間還是共用一樣的Spanning Tree。根據上述缺點,Cisco 提出一個解決方案PVST(Per-VLAN Spanning Tree),也就是每個Vlan 各自擁有自己的Spanning Tree,但PVST並不與STP及RSTP相容,後來Cisco又提出pVST+(per-VLAN Spanning Tree Plus)可以與STP及RSTP相容。 但PVST+也是有它的缺點,如下:

  • 每個VLan都有各自的Spanning Tree,假若建 100 個 VLAN就有100個Spanning Tree(或是100個不同的BPDU),這不僅會耗費不少

Switch 網路設備的CPU資源。

  • PVST與PVST+都是Cisco專屬的協定,並非所有廠牌Switch都可以與其互通使用。

另外,Dell Force 10 網路作業系統目前可以支援PVST+,與Cisco Switch 互通使用。

PVST Demo

如下圖所示

  • SA是 Vlan 10 的Root Bridge(藍色線)
  • SB是 Vlan 20 的Root Bridge(紅色線)
  • SC是 Vlan 1 的Root Bridge(棕色線)

設定配置

本實作採用Cisco Packet Tracer模擬器

  1. 建立Vlan 10及Vlan 20
    SA#conf t
    SA(config)#vlan 10
    SA(config-vlan)#vlan 20
    SA#show vlan brief
    
    SB(config)#vlan 10
    SB(config-vlan)#vlan 20
    
    SC(config)#vlan 10
    SC(config-vlan)#vlan 20
  2. 將SA、SB及SC互連的網路介面設定為trunk
    SA(config)#int fa0/1
    SA(config-if)#switchport mode trunk
    SA(config-if)#int fa0/2
    SA(config-if)#switchport mode  trunk
    
    SB(config)#int fa0/1
    SB(config-if)#switchport mode trunk
    SB(config-if)#int fa0/3
    SB(config-if)#switchport mode trunk
  3. 將Switch的Spanning Tree模式設成PVST(預設模式就是 PVST)
    SA(config)#spanning-tree mode pvst 
    SB(config)#spanning-tree mode pvst
    SC(config)#spanning-tree mode pvst 
  4. 指定SA為Vlan 10的Root Bridge;SB為Vlan 20的 Root Bridge;SC為Vlan 1 的Root Vlan
    SA(config)#spanning-tree vlan 10 root  primary
    SB(config)#spanning-tree vlan 20 root primary
    SC(config)#spanning-tree vlan 1 root primary 
  5. 驗證SA結果
    SA#show spanning-tree vlan 10
    VLAN0010
      Spanning tree enabled protocol ieee
      Root ID    Priority    24586
                 Address     0060.4746.A954
                 This bridge is the root
                 Hello Time  2 sec  Max Age 20 sec  Forward Delay 15
                 ~略
    Interface        Role Sts Cost      Prio.Nbr Type
    ---------------- ---- --- --------- -------- --------------------------------
    Fa0/1            Desg FWD 19        128.1    P2p
    Fa0/2            Desg FWD 19        128.2    P2p             
  6. 驗證SB結果
    SB#show spanning-tree vlan 20
    Spanning tree enabled protocol ieee
      Root ID    Priority    24596
                 Address     00E0.B047.0540
                 This bridge is the root
                 Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec
    ~略~
    Interface        Role Sts Cost      Prio.Nbr Type
    ---------------- ---- --- --------- -------- --------------------------------
    Fa0/1            Desg FWD 19        128.1    P2p
    Fa0/3            Desg FWD 19        128.3    P2p
  7. 驗證SC結果
    SC#show spanning-tree vlan 1
    VLAN0001
      Spanning tree enabled protocol ieee
      Root ID    Priority    24577
                 Address     0002.4A3C.06DC
                 This bridge is the root
                 Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec
    ~略~
    Interface        Role Sts Cost      Prio.Nbr Type
    ---------------- ---- --- --------- -------- --------------------------------
    Fa0/2            Desg FWD 19        128.2    P2p
    Fa0/3            Desg FWD 19        128.3    P2p

MSTP

針對解決上述PVST的缺點,2002年IEEE 提出802.1s標準,Multiple Spanning Tree Protocol(MSTP),利用多個VLAN映對 到一個Spanning Tree Instance,因此不管建立多少個VLAN,每個VLAN都只有一份BPDU。並且提供多條轉送路徑及負載平衡的機制。也與STP及RSTP相容。

重點概要

  1. 1個Vlan只能加入一個MSTI
  2. 1個MSTI可以有1個或多個Vlan

MSTP實作

本實作在 Dell S4810 Switch, 網路OS:force 10。參考以下實作架構圖

實作要點

  1. 需要建立 3個VLAN 分別是 Vlan 100,Vlan 200及Vlan 300
  2. 將Vlan 100 加入 MSTI 1 instance;Vlan 200 加入 MSTI 2 instance;Vlan 300 加入 MSTI 3 instance
  3. 下表是Msti 的 Bridge Priority
設備編號MSTi 1MSTi 2MSTi 3
C0 4096819212288
C1 1228840968192
C2 8192122884096

設定配置

本實作在Dell S4810 Switch設備及以Force10網路作業系統。

  1. 將C0,C1及C2設備上介面分別設定成Level 2 switch並啟動它。
    C1(conf)#int ten 0/1
    C1(conf-if-ten-0/1)#switchport
    C1(conf-if-ten-0/1)#no shut
    C1(conf-if-ten-0/1)#int ten 0/12
    C1(conf-if-ten-0/12)#switchport
    C1(conf-if-ten-0/12)#no shut
    C0(conf)#int ten 0/1
    C0(conf-if-ten-0/1)#switchport
    C0(conf-if-ten-0/1)#no shut
    C0(conf-if-ten-0/1)#int ten 0/2
    C0(conf-if-ten-0/2)#switchport
    C0(conf-if-ten-0/2)#no shut
    C2(conf)#int ten 0/2
    C2(conf-if-ten-0/2)#switchport
    C2(conf-if-ten-0/2)#no shut
    C2(conf-if-ten-0/2)#int ten 0/12
    C2(conf-if-ten-0/12)#switchport
    C2(conf-if-ten-0/12)#no shut
  2. 建立Vlan100,Vlan200及Vlan300。在介面上設定帶tag(vlan 100-300),本範例只演示C0設備,其他C1及C2按照以下方法做
    C0(conf)#int vlan100
    C0(conf-if-v1-100)#int vlan200
    C0(conf-if-v1-200)#int vlan300
    C0(conf-if-v1-300)#exit
    C0(conf)#int range vlan 100 - 300
    C0(conf-if-range-vl-100-300)#tagged ten 0/1
    C0(conf-if-range-vl-100-300)#tagged ten 0/2
  3. 設定MSTP。將VLAN 100 加入到MSTI1;VLAN 200 加入到MSTI2;VLAN 300 加入到MSTI3,本範例只演示C0設備,其他C1及C2按照以下方法做
    C0(conf)#protocol spanning-tree mstp
    C0(conf-mstp)#mti 1  vlan 100
    C0(conf-mstp)#mti 2  vlan 200
    C0(conf-mstp)#mti 3  vlan 300
  4. 設定MSTi優先權,將msti 1 設定成4096;msti 2 設定成 8192;msti 3 設定成 12288
    C0(conf-mstp)#msti 1 bridge-priority 4096
    C0(conf-mstp)#msti 2 bridge-priority 8192
    C0(conf-mstp)#msti 3 bridge-priority 12288
  5. 啟動MSTP 協定。本範例只演示C0設備,其他C1及C2按照以下方法做
    C0(conf-mstp)#no disable
  6. 驗證MSTP及顯示MSTP設定完後,相關參數
    C0#show spanning-tree mst config
    C0#show spanning-tree mst vlan
    C0#show spanning-tree msti 1 brief
    C0#show spanning-tree msti 2 brief
    C0#show spanning-tree msti 3 brief

結果呈現

結果呈現(以 Logical Topology 方式)

參考資料

network/linkspanningtreefamilyvlan.txt · 上一次變更: 2014/08/21 02:35 由 ali88