1. 程式人生 > >一次解決華為5700交換機接口處於discard狀態導致業務不通的故障

一次解決華為5700交換機接口處於discard狀態導致業務不通的故障

交換機stp

在以太網交換網中部署生成樹協議後,如果網絡中出現環路,生成樹協議通過拓撲計算,可實現:
消除環路:通過阻塞冗余鏈路消除網絡中可能存在的網絡通信環路。
鏈路備份:當前活動的路徑發生故障時,激活冗余備份鏈路,恢復網絡連通性。
華為交換機默認是開啟mstp,但是沒有配置。

一次在機房解決交換機問題的時候,發現業務不通。分析過後,主要是eth0/1接口學習不到mac地址,同時接口又是處於up狀態。經過反復檢查接口配置,沒有問題。最後檢查stp狀態,使用display stp brief命令的時候發現接口處於discard狀態。因為華為交換機默認都是開啟mstp的,接口有3種狀態機制,其中一種就是discard狀態,這種狀態下接口只會接受bpdu報文,而不會轉發業務流量,所以問題就出現在這上面。

技術分享圖片

但是問題很奇怪,因為我這個接口eth0/1使用的只是access模式,只連接一臺服務器,按道理不是交換機,這個接口不會參與stp收斂計算,也就應該不會被判斷為discard狀態。
沒有時間考慮太多了,後來處於穩定,不敢貿然關閉交換機的stp,後來直接想把該接口配置為邊緣接口,不參與stp計算,那麽該接口就應該會處於正常的狀態。
交換機用戶側設備(如服務器等)不需運行STP協議。若連接這些設備的交換機端口使能了STP,那麽端口狀態在Up/Down上不停跳轉,或STP拓撲變化時端口需要一段時間才能進入轉發狀態,這對某些業務是不可接受的。為了避免上述問題,需要把連接不需要運行STP協議設備的端口配置為邊緣端口。邊緣端口狀態變為Up後可以快速進入轉發狀態,並且不會發送TC報文,也不會對運行了STP協議的網絡造成影響。

在MSTP裏面,如果某一個指定端口位於整個網絡的邊緣,即不再與其他交換設備連接,而是直接與終端設備直連,這種端口叫做邊緣端口。

邊緣端口不接收處理配置BPDU報文,不參與MSTP運算,可以由Disable直接轉到Forwarding狀態,且不經歷時延,就像在端口上將MSTP禁用。

配置為邊緣端口後,端口仍然會發送BPDU報文,這可能導致BPDU報文發送到其他網絡,引起其他網絡產生震蕩。因此可以配置邊緣端口的BPDU報文過濾功能,使邊緣端口不處理、不發送BPDU報文。

所以綜上所述,直接在接口下配置:

stp edged-port enable     //配置邊緣接口,缺省情況下,端口為非邊緣端口。
stp bpdu-filter enable      //配置當前端口為BPDU filter端口,缺省情況下,端口為非BPDU filter端口。

配置完成後,檢查eth0/1接口,處於fowarding狀態,同時業務恢復。

本著通了就走的精神,就沒管了。看來還是要考IE.
技術分享圖片

一次解決華為5700交換機接口處於discard狀態導致業務不通的故障