概述
預設情況下,假定交換機的所有連線埠都將與交換機或者網橋連線,所以所有連線埠都運行STP算法,即如果網路發生了變化,在連線埠傳送數據之前要等待50s,而事實上許多連線埠會直接連線工作站或者伺服器。所以我們採用PortFast可以讓這些連線埠節省Listening和Learning狀態的時間,立即進入Forwarding狀態。需要注意的是:PortFast僅僅讓連線埠在網路環境變化的情況下直接進入Forwarding狀態。而連線埠仍然運行STP協定,所以如果檢測到環路,連線埠仍將由Forwarding狀態變成Blocking狀態。
Portfast快速連線埠是一個Catalyst的一個特性,能使交換機或中繼連線埠跳過偵聽學習狀態而進入STP轉髮狀態,在基於IOS交換機上,PortFast 只能用於連線到終端工作站的接入連線埠上。
當一個設備連線到一個連線埠上時,連線埠通常進入偵聽狀態。當轉發延遲定時器逾時後,進入學習狀態,當轉發延遲定時器第二次逾時,連線埠進入到轉發或者阻塞狀態,當一個交換機或中繼連線埠啟用PortFast後,連線埠立即進入轉髮狀態,但交換機檢測到鏈路,連線埠就進入轉髮狀態(插電纜後的2s) 。如果連線埠檢測到一個環路同時又啟用了PortFast 功能。它就進入阻塞狀態。重要的是要注意到PortFast 值在連線埠初始化的時候才生效。如果連線埠由於某種原因又被迫進入阻塞狀態,隨後又需要回到轉髮狀態,仍然要經過正常的偵聽 。
啟用PortFast的主要原因是防止啟動周期小於30s的PC需要和交換機連線埠從未連線狀態進入到轉髮狀態,一些網卡直到 MAC 層軟體驅動被實際載入之後才會啟動鏈路。這種情況下就會導致一些故障,例如DHCP環境下,這可能會出現一些問題。
命令
在SW1的F0/1連線埠上啟用Portfast
sw1(config)#int f 0/1
sw1(config-if)#no shut
sw1(config-if)#spanning-tree portfast
全局模式下啟用portfast
sw1(config)#spanning-tree portfast default
portfast只能用在接入層,也就是說交換機的連線埠是接HOST的才能起用portfast,如果是接交換機的就一定不能啟用,否則會造成新的環路。portfast 能將2層連線埠立即進行轉髮狀態,迴避了監聽和學習狀態:
正常狀態: 阻塞->>監聽―>>學習->>轉發
portfast : 阻塞->>轉發