講過STP的原理之后,我們就要說一下實際的工作環境,
在實際工作中,很少有人會使用STP這樣的公有標准(所有vlan共用一棵樹)因為這有些不夠靈活,
Cisco 私有協議 PVST\PVST+ 橫空出世,
PVST ,針對每個VLAN,一棵樹的原理進行設計,更加的靈活
PVST+,升級版,比PVST多三個高級特性,
(portfast,uplinkfast,backbonefast)后面會講到
而這一切的定義,都是為了更加快速的進行完成收斂。
如下圖所示,在一個網絡拓撲中有兩台匯聚和兩台接入,
通常情況下我們是將STP的 根定義在匯聚/核心層的設備上,因為他們有更好的硬件水平,更高的傳輸速率,更優能性能,這一點是毋庸置疑的。
通過對兩台匯聚交換機進行單獨VLAN生成樹,可以實現流量的負載分攤
STP 的原理我們已經明白,PVST就是把現有圖看面是兩棵樹即可,切莫慌張
可以把最原始的圖看成是這樣兒,針對於vlan 的不同環路,
這時就需要人為的去進行干預,將coresw1配置優先級,vlan10 的priority,為最高
將coresw2配置段先級,vlan20 的priority,為最高
而對於整個網絡而言,備份根的角色也是相當重要的,不可能讓一台接入層設備充當,還是應該選擇匯聚層設備或者是核心層設備,那么此時,還要設置備份根的優先級
將coresw1 配置優先級,vlan 20 priority 4096(次優的)
將coresw2 配置優先級,vlan 10 priority 4096(次優的)
這樣,BLK端口就會出現在接入層,也正是我們想要的了,
具體的配置思路如下:
1 確保所有接口trunk //由於是承載着多個VLAN,所以trunk是必須的
2 所有交換機上配置相同的VLAN //為了實現鏈路的切換,所以VLAN必須同步
3 配置stp的生成樹模式 ////所有交換機上都要進行修改 (CISCO默認為rapid pvst,這個后面會講)
4 修改vlan的優先級
5 驗證
Coresw1
coresw1(config)#inter range g0/0 - 2
coresw1(config-if-range)#sw tr en dot
coresw1(config-if-range)#sw m tr ////接口開啟trunk
coresw1(config)#vlan 10,20
coresw1(config)#spanning-tree mode pvst ///修改生成樹模式
coresw1(config)#spanning-tree vlan 10 priority 0 //vlan10 為最優
coresw1(config)#spanning-tree vlan 20 priority 4096 ///vlan20 為次優
Coresw2
coresw2(config)#inter range g0/0 - 2
coresw2(config-if-range)#sw tr en dot
coresw2(config-if-range)#sw m tr
coresw2(config)#vlan 10,20
coresw2(config)#spanning-tree mode pvst
coresw2(config)#spanning-tree vlan 20 priority 0 ///vlan 20 為最優
coresw2(config)#spanning-tree vlan 10 priority 4096 ///vlan 10 為次優
Sw1
sw1(config)#inter range e0/0 - 1
sw1(config-if-range)#sw tr en dot
sw1(config-if-range)#sw m tr
sw1(config)#vlan 10,20
sw1(config)#spanning-tree mode pvst
Sw2
sw2(config)#inter range e0/0 - 1
sw2(config-if-range)#sw tr en dot
sw2(config)#vlan 10,20
sw2(config)#spanning-tree mode pvst
在sw1上看vlan10的生成樹,應該是E0/1被BLK
在sw2上看vlan20的生成樹,應該是E0/0被BLK
驗證:
sw1#show spanning-tree vlan 10
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 10
Address 5000.0001.0000
Cost 100
Port 1 (Ethernet0/0)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32778 (priority 32768 sys-id-ext 10)
Address aabb.cc00.3000
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Et0/0 Root FWD 100 128.1 Shr
Et0/1 Altn BLK 100 128.2 Shr
sw2#show spanning-tree vlan 20
VLAN0020
Spanning tree enabled protocol ieee
Root ID Priority 20
Address 5000.0002.0000
Cost 100
Port 2 (Ethernet0/1)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32788 (priority 32768 sys-id-ext 20)
Address aabb.cc00.4000
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Et0/0 Altn BLK 100 128.1 Shr
Et0/1 Root FWD 100 128.2 Shr
下面來說一下PVST+的三個高級特性
1 什么是portfast?
2 干什么用的?
3 用在哪里?
答:1 portfast,為快速端口,2 主要是為了節省收斂時間的,
主要配置在連接終端設備上接口,因為這些接口根本就不需要去STP的計算,直接轉發即可
我們都知道,交換機的一個接口從down到fwd,的時間是50s
Down ----------listening---------learining--------forwarding
20s 15s 15s
而portfast的出現,就是解決后面的這30s 從偵聽到轉發的30秒
SW3(也就是sw1)的E0/2口連接着VPC5,
默認情況下
06:06:11進入listening
06:06:26進入learning
06:06:41進入forwarding
如果開啟了portfast 呢?
可以看到,對這個下聯接口進行no shutdown后
Debug的顯示信息為 跳到forwarding from blocking,
意思是直接從BLK 跳到了FWD,完全不用再進行計算。這就是portfast
注意:portfast,是用在連接終端的接口上的,(PC,SERVER,只要不是交換機就行)
配置命令
sw1(config)#spanning-tree portfast edge default
在全局配置模式下開啟,則針對此設備上的所有access口進行配置,
其中edge為邊緣的意思
2\Uplinkfast(用來檢測直連鏈路故障,並能夠快速進行收斂BLK端口)
同樣節省的是30s (listening----learning----forwarding)
由於stp計算得出的BLK 端口,在檢測到原鏈路出現故障,那么BLK 端口會快速的進行切換,從BLK跳到FWD 狀態
這就是uplinkfast的特性
3\最后一個是backbonefast
什么是backbonefast? 有什么用?在哪里開啟?
Backbonefast,主要用於間接鏈路檢測,
比如coresw1和coresw2之間的鏈路,出現故障時,
Coresw2就會向全網發送bpdu,(10次,2s一次,共20s)20秒過后,認為自己是大哥(ROOT)而這時sw3收到來自coresw2時發現coresw1 並沒有掛,所以會丟棄coresw2發來過來的這個BPDU信息,然而,同時,由於coresw1和coresw2的鏈路故障,SW3也會開啟e0/1(之前被blk的端口)改為DP,
本圖中由於開啟debug有些遲了,所以只看到了這幾個~
簡短一些說,就是備份根檢測到和主根的鏈路故障,就認為主根掛了,發布BPDU,說自己是老大,而下面的小弟看到原來的老大並沒有死,把它想當老大的這個消息丟棄,而同時開啟和備份根相連的接口,為DP狀態,為備份根和主根聯系用。
從此備份根和主根的關系也就不再那么“熟悉”,而需要下面這台非根進行連接,並且也不存在環路了
這里要注意一下,如果老大真的掛了,那么備份根也就成為了真正的根橋。下面的小弟,sw3上的e0/1口也就又改變了一個身份,改為RP,因為coresw2是根。
以上就是關於pvst和pvst+的介紹了~
問題引入,
1 如果Portfast接口接入橋優先級更高的交換機會發生怎樣的變化?
2 如果根橋設備上接入優先級更高的設備會怎么樣?
3 這一切都夠快嗎?
4 匯聚設備上,兩台相連可否使用更高的鏈路帶寬?
-------------------------------------------------------
CCIE成長之路---梅利