PortFast 加快終端主機連接入stp網絡的收斂.
只適用於,在交換機與主機(電腦)相連的端口不應該在交換機與交換機,路由器,hub互連的網絡設備的端口使用.
把一個port設置了portfast,就是讓那個port不再使用STP的算法。
STP中,port5個狀態:disableblockinglisteninglearningforwarding
只有forwarding狀態,port才能發送用戶數據。如果一個port一開始是沒有接pc,一旦pc接上,就會經歷blocking->listening->learing->forwarding,每個狀態的變化要經歷一段時間,這樣總共會有3個階段時間,缺省的配置要50秒鐘。這樣從pc接上網線,到能發送用戶數據,需要等50秒的時間,但如果設置了portfast,那就不需要等待這50秒了。
------不發BPDU,但是可以收------------
portfast只能用在接入層,也就是說交換機的端口是接HOST的才能起用portfast,如果是接交換機的就一定不能啟用,否則會造成新的環路.
啟用portfast往往是因為一些應用的要求,cisco是建議將符合條件的port設置成portfast.

PS:


SWITCH的端口設置為spanning-tree portfast後,如果這個端口接到其他SWITCH或者HUB上就可能造成環路問題。加上spanning-tree bpduguard enable之後,當這個端口在收到BPDU包後就會進入errdisable狀態,從而避免環路。

BPDU GUARD的功能是當這個端口收到任何的BPDU就馬上設為Error-Disabled狀態
我們知道,當交換機STP功能啟用的時候,默認所有端口都會參與STP,並發送和
接受BPDU. 當這個端口下如果有自回環的環路,那麽它發出去的BPDU在小交換機上回環後就會被自己接收到這個時候BPDU GUARD就會把它立刻設為Error-Disabled狀態,這個端口就相當於被 關閉了,不會轉發任何數據,也就切斷了環路,保護了整個網絡.

Portfastbpduguard配置:

switchconfig)#interface range f0/1 - 5

switch(config-if-range)#spanning-tree portfast

switch(config-if-range)#spanning-tree bpduguard enable

BPDU Guard使具備PortFast特性的端口在接收到BPDU時進入err-disable狀態來避免橋接環路,其可在全局或接口下進行配置(默認關閉),可使用errdisable recovery cause bpduguard命令開啟端口狀態的自動恢復。

 

不同於BPDU防護,BPDU Filter配置於全局/接口模式時,功能有所不同,當啟用於PortFast端口模式時,交換機將不發送任何BPDU,並且把接收到的所有BPDU都丟棄;而啟用於全局模式時,端口在接收到任何BPDU時,將丟棄PortFast狀態和BPDU過濾特性,更改回正常的STP操作,BPDU Filter特性默認關閉。

當同時啟用bpduguardbpdufilter時,bpdufilter優先級較高,bpduguard將失效。

LOOP Guard主要用來避免阻塞端口錯誤地過渡到轉發狀態而產生橋接環路的情況;當交換機在啟用loopguard特性的非指定端口上停止接收BPDU時,交換機將使得端口進入STP“不一致環路inconsistentports)阻塞狀態,當不一致端口再次收到BPDU時,端口將根據BPDU自動過濾到STP狀態。通過sh spanning-tree inconsistentports命令可以查看不一致端口狀態。loopguard特性默認開啟。

BPDU GUARD
的功能是當這個端口收到任何的BPDU就馬上設為Error-Disabled狀態。我們知道,當交換機STP功能啟用的時候,默認所有端口都會參與STP,並發送和接受BPDU,當BPDU GUARD開啟後,在正常情況下,一個下聯的端口是不會收到任何BPDU的,因為PC和非網管換機都不支持STP,所以不會收發BPDU。當這個端口下如果有自回環的環路,那麽它發出去的BPDU在非網管換機上回環後就會被自己接收到,這個時候BPDU GUARD就會把它立刻設為Error-Disabled狀態,這個端口就相當於被關閉了,不會轉發任何數據,也就切斷了環路,保護了整個網絡。
BPDU Guard特性可以全局啟用也可以基於基於接口的啟用,兩種方法稍有不同.


當在啟用了Port Fast特性的端口收到了BPDU後,BPDU Guard將關閉該端口,使該端口處於err-disable狀態,這時必須手動才能把此端口回復為正常狀態。

配置BPDU Guard:
Switch(config)# spanning-tree portfast bpduguard default          /---
在啟用了PortFast特性的端口上啟用BPDUguard---/
Switch(config-if)# spanning-tree bpduguard enable                       /---
在沒啟用PortFast特性的情況下啟用BPDUguard---/


BPDU Filtering
特性和BPDU Guard特性非常類似.通過使用BPDU Filtering,將能夠防止交換機在啟用了Port Fast特性的端口上發送BPDU給主機。

如果全局配置了BPDU Filtering,當某個Port Fast端口接收到了BPDU,那麽交換機將禁用Port FastBPDU Filtering特性,把端口更改回正常的STP接口狀態---listening learning狀態

如果在單獨Port Fast端口啟用BPDU Filtering,此端口將不發送任何的BPDU並忽略所有接收到的BPDU.

註意,如果在連接到其他交換機的端口(不是連的主機的端口)上配置了BPDUFiltering,那麽就有可能導致層2環路(Prevent from sending and receiving BPDU.另外,如果在與啟用了BPDU Filtering的相同端口上配置了BPDU Guard特性,所以BPDU Guard將不起作用,起作用的將是BPDU Filtering. –

--------------------------------不能同時使用-------------------

配置BPDU Filtering:
Switch(config)#
spanning-tree portfast bpdufilter default              /---啟用了Port Fast特性的端口上啟用BPDU Filtering---/
Switch(config-if)# spanning-tree bpdufilter enable                          /---
啟用Port Fast特性的情況下啟用BPDU Filtering---/

ROOT Guard
Root Guard:防止新加入的交換機(有更低根網橋ID)影響一個已經穩定了(已經存在根網橋)的交換網絡,阻止未經授權的交換機成為根網橋。 

工作原理:當一個端口啟動了此特性,當它收到了一個比根網橋優先值更優的BPDU包,則它會立即阻塞該端口,使之不能形成環路等情況。這個端口特性是動態的,當沒有收到更優的包時,則此端口又會自己變成轉發狀態了。

ROOT GuardDP(designated port)指定端口上做,該端口就不會改變了,只會是DP了,這樣可以防止新加入的交換機成為root,該端口就變成了永久的DP了,show spann inconsistent port),若新加入的交換機想成為root,則它的端口不能工作,直到這個新交換機委曲求全做RP為止。

Loop Guard
Loop Guard:防止一個阻斷的端口由於鏈路不正常(不能雙向通信等)接不到BPDU後變成轉發,配了此項後,即使接不到BPDU也是阻斷的loop-inconsistent blocking state(啟用loop guard時自動關閉root guard);

Loop guardRP接口或替代端口啟用:
Switch(config-if)# spanning-tree guard loop

全局啟用:
Switch(config)#spantree global-default loopguard enable

如果在一個啟用了root guard的端口上啟用loop guardloop guard將禁用root guard功能。就是說它倆

---------------------不能同時使用--------------------------

BPDU guard的功能是當這個端口收到任何的BPDU 就馬上設為Error-Disabled狀態.
我們知道,當交換機STP功能啟用的時候,默認所有端口都會參與STP,並發送和
接受BPDU . 當BPDU guard開啟後,在正常情況下,一個下聯寢室的端口是不會收到
任何BPDU的,因為PC和小交換機都不支持STP,所以不會收發BPDU. 當這個端口下
如果有自回環的環路,那麽它發出去的BPDU在小交換機上回環後就會被自己接收到,
這個時候BPDUguard就會把它立刻設為Error-Disabled狀態,這個端口就相當於被
關閉了,不會轉發任何數據,也就切斷了環路,保護了整個網絡.

 
啟用了BPDU Guard特性的端口在收到BPDU的時候會使端口進入err-disable狀態,從而避免橋接環路。
一般BPDU Guard是和
PortFast結合使用,在端口上啟用了PortFast之後,如果沒有啟用BPDU Guard,那麽端口收到BPDU的時候,STP會讓端口進入blocking狀態,當配置了BPDU Guard之後,端口收到BPDU的時候就進入err-disable。
配置BPDU
基於端口的配置:
Switch(config-if)#spanning-tree bpduguard enable
Switch(config-if)#spanning-tree bpduguard disable 
全局配置:
Switch(config)#spanning-tree portfast bpduguard
全局配置是配合PortFast使用的,當端口上啟用了PortFast之後,該端口才會啟用BPDU Guard,如果該端口沒有啟用PortFast,那麽該命令不會使該端口啟用BPDU Guard。
總結:配置了BPDU Guard之後,端口只發不收BPDU,收到的時候就把端口進入err-disable狀態。
 
arrow
arrow

    鵝 發表在 痞客邦 留言(0) 人氣()