避免網路故障:Cisco ACI 中的 STP 最佳實踐
原创 网工笔记本
思科 ACI 是一個大型路由域,不支援傳統 STP 生成樹協議,但可以識別 STP BPDU 封包並對 STP TCN 拓撲變化做出回應。
處理機制
ACI 從外部交換器接收到 TCN BPDU,將會在對應介面所屬 EPG flood BPDU。 flood 範圍控制在 EPG,或者說,EPG 相關的 FD VLAN,具體是透過 FD VLAN/VXLAN 關聯的 fabric_encap VNI 來實現。
STP 可能造成的問題
upon receiving STP TCN, EPM will flush all EPs behind the VLAN,這個行為會導致接收到 STP TCN 的 EPG,所有 EP 被 flush,重新學習,流量中斷。
如果不同 EPG,使用 overlapping vlan id,且 vlan id 來源是相同 vlan pool,就會計算相同 fabric_encap VNID,STP flood 範圍就會從單一 EPG 變成兩個 EPG。影響範圍喜加一(這也是不建議 overlapping vlan 的原因之一)
STP 相關的 best practice
總結了一些 tips,詳細內容還是建議參考官方文件。 ACI Design Guide[1],unofficial guide 1[2],和 Cisco 論壇[3]
1. leaf — external switch(eg. N7k),external switch 介面無法設定 bpdufilter 不收不發 BPDU,容易形成環路
2. leaf — physical server,leaf 介面可以開啟 bpduguard,收到 BPDU 就進入 bpdu-guard-err-disable 狀態,避免誤接 switch
3. external switch 所有接入 endhost(non-switch) 的接口,都應該打開 portfast/trunk edge,避免接口 flap 產生的 TCN,一路傳遞到 ACI。同時開啟 bpduguard,避免誤接 switch
4. external switch 在 trunk 接口,只 allow 特定 vlan
5. external switch 連接 ACI 的接口,應該配置 spanning-tree link-type shared,將 ACI 理解為一個 Hub,並不是默認 STP P2P(兩台 switch 直接對接)。參考文件 STP link-type shared[4]
6. 建議使用 leaf–VPC / port-channel LACP 形式連接 external switch,避免 STP 的影響
7. 推薦 VLAN = EPG 的 network centric mode 部署,縮小故障域
8. BD setting L2 Unknown Unicast 可以設定為 flood,即使 EP 被 flush,也能夠透過 flood 行為轉發。這個方式會增加網路當中的 flood traffic,慎重選擇
9. 外接 external switch 和 BM local endpoint,建議使用不同 vlan,分割到不同 EPG,避免被連帶影響。
10. 打開 MCP(MCP default policy:enabled, on intf policy group)
11. 開啟 Rogue EP control
12. Catalyst 系列的spanning-tree etherchannel guard misconfig 最好關閉,這個機制是假設Catalyst switch 連接到了同一個設備做EtherChannel 所以收到BPDU 的source mac 應該相同;如果收到不同source mac BPDU 並且超出一定閾值,就會err-disable 介面;在和ACI 對接場景,ACI 作為STP hub,在encap vlan flood BPDU,很容易讓對端Cat err-disable。建議使用 LACP, PagP 來取代 etherchannel guard misconfig。
透過這些最佳實踐,可以在 Cisco ACI 環境中更好地管理 STP TCN,確保網路穩定性和效能。
Comments
Warning: count(): Parameter must be an array or an object that implements Countable in /var/www/html/wwwroot/itrenzheng.hk/wp-includes/class-wp-comment-query.php on line 399
Tell me what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!