STP導致鏈路中斷問題

      使用STP協議,爲的是解決環路問題,然而在特殊情況下,反而會導致鏈路被阻斷,業務中斷。

      某日,一用戶反應,兩臺核心之間出現異常現象,直連時不通,但是通過一臺交換機中轉就通了。wKiom1kk4hOArM2aAABEI7dkaCg153.jpg-wh_50

      上圖中,二層交換機本來是作爲核心A的下級交換機,接了大量服務器,網關都在覈心A上,核心A與核心B之間爲三層連接,互指路由通訊。改造前的結構明顯不合理,客戶決定將核心直接互聯,但是互聯後,直連接口無法PING通。線纜,接口配置都已檢查過均沒有問題。

      到達現場,首先依舊從線纜及接口配置檢查開始,將筆記本配置爲核心A地址與核心B互聯,通;反之也通。排除線纜及接口配置問題。

      第二步,在覈心A上檢查ARP表,空白,沒有對端的ARP表項。

      第三步,接口下無任何針對對端MAC的限制策略,沒有IP+MAC綁定

      第四步,檢查STP狀態,發現STP將核心A與核心B的互聯口阻斷。

      直接原因找到,但是從眼前的拓撲結構來說,不應該阻斷接口,換一種情況,如果核心A與核心B之間確實還有一條沒有找到的線路,那麼線路中間串一個二層交換機,爲什麼就不會阻斷接口了,而且業務是正常的,沒有出現被環路影響的情況。核心A與核心B之間是三層互聯,使用路由通信,本身也就不會有二層環路。

   下面再舉個例子說明一下

wKiom1kk6JzjPXkdAAAVQTEvgbA100.jpg-wh_50

  兩臺交換機兩個線互聯,兩邊的G0/0/1口屬於vlan10,兩邊的G0/0/2口屬於vlan20,這種情況下是否是環路,如果開啓STP會出現什麼情況。

      從實際效果來說,這不是環路,vlan10和vlan20內的廣播報文是不會傳到對方vlan內的,這也是劃分vlan的主要目的之一。但是開啓了STP後,是會阻斷一個口的。

      這裏最關鍵的一點就是,STP報文與vlan無關,它是協議報文,不論接口下劃分什麼類型,放行或阻斷什麼vlan都不會阻礙它的傳遞。這也就解釋了上圖的現象。

      那麼返回最初的問題,接口被阻斷的原因知道了,爲什麼中間串了二層交換機就正常了,其實也狠簡單,那臺二層交換機沒有開啓STP協議,收到STP報文後就直接丟棄了,所以核心A與核心B在STP這個層面裏感知只有一條線路是互聯的。

      最後,那條不知道隱藏在哪裏的線路依舊沒有找到,也許那中間又串了幾臺交換機。這個故障其實是可以避免的,在進行網絡設計及改造的時候,交換機之間在邏輯上應該要保證只有一條線路,可以多口進行捆綁。合理、規範的設計可以爲後期的網絡運維避免很多的疑難雜症,切記切記。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章