關於Cisco3560跟其他品牌交換機水土不服的解決方案

在網絡中接入一個思科3560交換機(不做配置),不過碰到一個很怪的問題,連到某個交換機,3560的相關端口不會變正常,因爲沒設備調試,後來就改用trunk可以互連.

交換機提示:

01:48:44: %spantree-7-recv_1q_non_trunk: received 802.1q bpdu on non trunk faste
thernet0/8 vlan1.
01:48:44: %spantree-7-block_port_type: blocking fastethernet0/8 on vlan0001. inc
onsistent port type

根據初步分析,交換機提示:01:48:44: %spantree-7-recv_1q_non_trunk: received 802.1q bpdu on non trunk fastethernet0/8 vlan1.可能是端口受到某些bpdu信息後自行關閉.

後查了好多資料,其實只要開啓bpdu端口信息過屢功能,就完全可以正常接入.不需要對上聯交換機的端口做任何設置.

(1)解決方案一
設置方法:

interface fastethernet0/8
spanning-tree bpdufilter enable
 
(2)解決方案二
switch(config)#spanning-tree mode mst

不過我發現雖然可以上網,但是老是會發

*mar 1 02:45:10.796: %spantree-7-recv_1q_non_trunk: received 802.1q bpdu on non
trunk fastethernet0/23 vlan1.
*mar 1 02:45:10.796: %spantree-7-block_port_type: blocking fastethernet0/23 on
mst0. inconsistent port type.
這些信息。
 
與cisco交換機組網時pvst包導致的故障:

故障現象描述

連接後,3560g-2會報錯:

*mar 1 08:12:35: %spantree-7-recv_1q_non_trunk: received 802.1q bpdu on non trunkgigabitethernet0/10 vlan20.
*mar 1 08:12:35: %spantree-7-block_port_type: blocking gigabitethernet0/10 on vlan0020. inconsistent port type.

此時3560g-2上聯口指示燈變爲黃色,業務不通。

二、 處理方法

察看cisco的告警定義:3560g-2在non trunk端口收到了一個802.1q類型的包。cisco認爲兩端接口類型不一致可能存在二層環路隱患,所以就將收到這個包的端口block。這是導致端口被block掉的直接原因。

進一步分析爲什麼access端口會收到802.1q的包,而且是802.1q的bpdu包呢?察看各種stp協議的說明發現:能產生802.1q bpdu包的只有pvst協議。

pvst bpdu的格式和stp/rstp bpdu格式不一樣。標準的bpdu配置消息是以以太網數據幀的格式進行傳遞的,採用多播mac地址01-80-c2-00-00-00爲目的mac地址。而pvst的bpdu包的目的mac地址爲cisco保留地址01-00-0c-cc-cc-cd,而且在vlan trunk的情況下,pvst bpdu會被打上了802.1q tag標籤。
對於目的mac地址爲01-00-0c-cc-cc-cd的包,普通交換機不識別,會把它當作普通的多播包轉發,而不進行任何處理。

由於cisco交換機上pvst是默認打開的,當3560g-1發出802.1q bpdu包後,t64g對它進行直接轉發(無論t64g是否啓用stp的透傳功能)。3560g-2的access上聯口收到3560g-1上發送的802.1q的bpdu包後,判斷可能存在環路,所以將上聯口block。

三、 總結

導致以上故障的原因是由於普通交換機不識別cisco的pvst私有協議包,只是把它當做普通的多播包轉發。從而導致cisco交換機判斷可能存在環路,將端口block。

在類似的組網中其他型號的交換機和cisco交換機一起組網也會產生相同的問題。針對類似的組網中可能存在的問題,建議:

1.     由於cisco交換機默認pvst協議是啓用的,在做網絡規劃時需要考慮網絡是否需要用到stp協議,如果不需要,建議將pvst關閉,或儘量採用標準的stp協議。

2.     在cisco交換機上不需要參與stp計算的端口啓用spanning-tree bpdufilter enable。這樣端口可以直接將bpdu包丟棄。比如上圖中cisco交換機作爲接入層交換機,它的上聯端口可以確認不需要參與stp計算。

3.     由於普通交換機會將目的mac地址爲01-00-0c-cc-cc-cd多播包直接轉發,在如上組網中如果可以確認不需要t64g來傳遞bpdu信息,可以在t64g上配置acl對01-00-0c-cc-cc-cd進行過濾。


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