這份筆記是為了解決GPO延遲執行延伸的課題,Cisco Switch
預設會將 Spanning Tree 開啟,為了不讓 User 每次開機要等
30 秒後才能抓到 IP,Spanning Tree PortFast 設定即可解決。
若要設定 Spanning Tree PortFast 請記得,Switch不能串接
,假如真的怕不小心將開啟 Spanning Tree PortFast 的 Switch
串接,請下這個指令,預防 Switch 被串接。
# spanning-tree bpduguard enable |
Switch 將以上功能開啟,Switch 收到 BPDU 封包時,會進入
Errdisable 狀態。若是有人誤接 port 會被 shutdown,需由管
理者解開,不然是無法正常使用的。
究竟為什麼 User 開機會需要等待 30秒 才能取得 DHCP 呢?
原因在於 Cisco Switch 為了避免 Switch 發生 Loop 造成
Broadcast Strom 的問題,會由 BID 找出 Root Bridge 最
低的 Switch 當 root,關於Spanning Tree Protocol 有興
趣的朋友,可以參照「這篇」文章,即可了解 Spanning Tree 到底在做什麼?
Spanning Tree Interface States
上圖,說明 Spanning Tree 的偵測流程。
Spanning Tree 偵測流程 :
◎ Blocking (max age = 20 sec)‧偵測 BPDU。
◎ Listening (forward delay = 15 sec)‧收送 BPDU。
◎ Learning (forward delay = 15 sec)‧學 Mac Address。
◎ Forwarding
按照偵測流程看來,若 Listening & Learning 都得等 15 秒,
就可以解釋為什麼網路線插上後,PC 要 30秒才能取得 IP 囉!
為了預防 Switch Loop 的可能,每次要等 30秒,對於 User
來說實在很麻煩,也會出現 GPO 因抓不到 IP 而跳過執行的問
題,還好 Cisco 有個指令「Spanning Tree PortFast」能解
決這個問題。這功能就是讓 PC 開機能直接使用網路而不驗證。
◎ Spanning Tree PortFast 開啟該功能的指令:
Switch>enable Switch#configure terminal Switch(config)#interface range f0/1-24 [設定 Switch 哪些 port 要開啟 PortFast 功能] Switch(config-if-range)#spanning-tree portfast Switch(config-if-range)#end |
◎ Spanning Tree PortFast 關閉該功能的指令:
Switch>enable Switch#configure terminal Switch(config)#interface range f0/1-24 Switch(config-if-range)#no spanning-tree portfast Switch(config-if-range)#end |
◎ 設定 Switch 的管理 IP:
Switch>enable Switch#configure terminal Switch(config)#interface vlan 1 Switch(config-if)#ip address 172.16.1.100 255.255.240.0 Switch(config-if)#no shutdown Switch(config-if)#end |
◎ 將設定寫入 Switch,大功告成!
Switch#write memory |
Spanning Tree Protocol 要等這麼久,其實是有點沒有效率,
加上收斂時間長,則出現了 Rapid Spanning Tree Protocol,
以下對照表,說明這兩個協定之間的差異。
STP (802.1D) RSTP (802.1W) Blocking Discarding 20 sec Listening 15 sec Learning Learning 15 sec |
以上概略說明,應該可以知道這兩個協定的差別,差在 RSTP收
斂時間較短。當然,Spanning Tree 最大的缺點則是,若新加
入的 Switch BID 比 Root Bridge 的數值還要小,那麼全部的
Switch 要重新學習,則全部的 Switch 則會「全部斷線」30秒
以上的時間。
這是好久之前的筆記,今天才整理出來,看來這陣子的確沒有太
多的空檔時間啊,希望各位可以看懂小弟的分享,因為距離之前
上 CCNA的課程實在有點久遠,若有錯誤的地方也歡迎各位多多
指教。
Paul