本文澄清了一些生成樹規則,並說明這些規則如何影響VLAN分配。本文檔不打算成為ONS 15454上生成樹和乙太網電路調配的完整指南。相反,本文檔將執行以下操作:
說明導致某些VLAN分配失敗的原因。
提供可用於更好地設計網路的建議。這些建議使您能夠在規劃和實施電路時考慮生成樹限制。
如果在修改或建立電路時遇到了生成樹約束,則建議一種解決方法。
思科建議您瞭解以下主題:
Cisco ONS 15454
生成樹通訊協定(STP)
本文中的資訊係根據以下軟體和硬體版本:
Cisco ONS 15454 4.6.x及更新版本
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
跨距樹狀目錄演演算法(STA)的主要功能是切斷備援連結在橋接網路中建立的回圈。當STP檢測到網路主機之間的多條路徑時,STP會阻塞埠,直到只有一個路徑存在。
預設情況下,ONS 15454的光學介面上啟用STA。您也可以在乙太網卡的前端埠上配置STA。
如果不遵守某些VLAN分配約束,ONS 15454上的生成樹規則不允許建立新電路或修改現有電路。但是,這些規則無法防止某些電路配置導致網路設計不當。設計網路時必須牢記這些配置。
ONS 15454上的跨距樹狀目錄軟體在計時、通訊與控制(TCC)上執行,TCC是一種共用資源。
注意:本文檔通常使用TCC來引用卡的所有變體。
每個節點最多可以有八個生成樹例項。為了將每個節點的生成樹例項數減至最少,可以基於電路而不是VLAN對映生成樹例項。一個電路只能對映到一個生成樹例項。可以為電路分配一組VLAN。
ONS 15454軟體也支援以下功能:
生成樹例項的自動生成
具有部分重疊的VLAN的電路
用於摺疊生成樹的工具
為了支援這些功能,並且由於您以電路為基礎對映生成樹例項,因此當您建立或修改電路時,以下檢查是適用的:
新電路或修改電路的VLAN集必須與其他現有電路的VLAN集匹配。
如果新電路或修改電路的VLAN集與現有電路的VLAN集重疊,則兩個電路使用相同的生成樹例項。
如果新電路或修改電路的VLAN集與運行相同生成樹的其他現有電路的VLAN集重疊,則所有電路使用相同的生成樹例項。
如果新電路或修改電路的VLAN集與運行不同生成樹例項的其他現有電路的VLAN集重疊,則VLAN分配將失敗。
表1顯示成功的VLAN分配示例:
表1 — 成功的VLAN分配電路 | VLAN設定 | 意見 | 生成樹例項 |
---|---|---|---|
C1 | 10、20 | 新建生成樹例項 | STP 1 |
C2 | 30 | 新建生成樹例項 | 直通式處理2 |
C3 | 20、40 | 由於C1中有20個匹配,因此生成樹例項與C1相同。 | STP 1 |
C4 | 30、50 | 由於C2中有30個匹配,因此生成樹例項與C2相同。 | 直通式處理2 |
C5 | 60 | 新建生成樹例項 | 直通式處理3 |
C6 | 30、50、70 | 30和50匹配C4中的30和50,生成樹例項與C4相同 | 直通式處理2 |
表2說明瞭VLAN分配失敗的一個簡單案例:
表2 - VLAN分配失敗電路 | VLAN設定 | 意見 | 生成樹例項 |
---|---|---|---|
C1 | 10 | 新建生成樹例項 | STP 1 |
C2 | 20 | 新建生成樹例項 | 直通式處理2 |
C3 | 10、20 | C1中有10個匹配,C2中有20個匹配。C1和C2屬於不同的生成樹例項。因此,VLAN分配失敗。 | 失敗 |
第二個示例中的VLAN分配失敗,因為C3匹配C1和C2的VLAN集,但C1和C2運行不同的生成樹例項。
當電路建立期間的VLAN分配失敗時,將出現「VLAN/生成樹違規」錯誤(請參見圖1)。
圖1 - VLAN/生成樹違規
同樣,當您嘗試編輯電路時,VLAN分配失敗時,系統會顯示錯誤消息(請參見圖2)。
圖2 — 無法分配VLAN集
由於問題說明一節中提到的限制,請務必小心為重疊的VLAN集新增電路的順序。為避免以後受到限制,思科建議您規劃VLAN分配,以便首先新增具有較大VLAN集的電路,這些電路有較高的重疊機會。這樣,如果隨後新增一個具有重疊VLAN集的電路,該電路會摺疊到同一個生成樹中。
以表2中的範例為例。思科建議您先布建C3,然後布建C1和C2。或者,您可以按次序C3-C2-C1布建電路,這具有相同的效果。詳情請參閱表3。
表3 — 調配電路的建議順序電路 | VLAN設定 | 意見 | 生成樹例項 |
---|---|---|---|
C3 | 10,20 | 新建生成樹例項 | STP 1 |
C1 | 10 | 10與C3中的10個匹配,生成樹例項與C3相同。 | STP 1 |
C2 | 20 | C3中有20個匹配,與C3的生成樹例項相同 | STP1 |
將生成樹應用到乙太網卡的前埠時,同樣的邏輯也適用。
當您需要修改未按建議順序布建的電路時,請使用此解決方法來避免VLAN分配錯誤:將幻影VLAN分配給現有電路。
虛構VLAN是指不承載流量的未使用VLAN。新增虛擬VLAN會強制生成樹摺疊到同一個例項中。請仔細考慮網路設計,以確保不會錯誤封鎖任何span。由於網路的複雜性和設計性,流量攻擊有時是不可避免的。
典型的示例是,兩個VLAN必須合併到同一個生成樹中,這種情形稱為「啞鈴」。在啞鈴方案中,使用線性配置將兩個環與兩個VLAN(例如V10和V20)連線。為了避免環路,在新增將兩個環連線在一起的電路之前,請確保每個節點上的電路摺疊到同一個生成樹中。
圖3 — 啞鈴場景
例如,假設節點1上的初始VLAN分配如下所示:
C1:V10 STP 1
C2:V20 STP 2
以下是可能的解決方法:
將虛擬VLAN(V99)新增到C1。
C1:V10、V99 STP 1
C2:V20 STP2
將虛擬VLAN(V99)新增到C2。
C1:V10、V99 STP 1
C2:V20、V99 STP 1
新增帶有VLAN V10和V20的新電路C3。
C1:V10、V99 STP 1
C2:V20、V99 STP 1
C3:V10、V20、V99 STP1
從C1和C2刪除幻影VLAN。
C1:V10 STP 1
C2:V20 STP 1
C3:V10、V20 STP1
圖3表示最終VLAN拓撲。
成功建立或修改電路意味著VLAN分配通過每電路生成樹對映規則,但不保證電路配置有效。即使摺疊生成樹,也無法修復設計不當的網路。下面是一些可以解釋這一點的情形。
第一個場景由兩個節點組成:節點1和節點2,具有兩個電路C1和C2。電路C1承載VLAN V10和V20,電路C2承載VLAN V20(請參見圖4)。V20域中存在環路,但V10域沒有環路。但是,由於電路摺疊成單個生成樹,因此其中一個跨路被阻塞。以下是決定哪一個跨距遭封鎖的因素:
後端埠的MAC地址
電路大小
電路建立順序
如果電路C1剛好被阻塞,則V10流量不會流動。因此,在生成樹限制下,此網路設計無效。
圖4 — 無效配置:案例 1
第二個場景由兩個節點(節點1和節點2)以及三個電路C1、C2和C3組成。在此,您以正確的順序建立電路(請參見表2),以便成功調配電路,並且所有電路都位於同一個生成樹中。電路C1承載VLAN V10和V20,C2承載VLAN V10,C3承載VLAN V20(請參見圖5)。
假設生成樹引數正確,這在某些情況下可能會發生,例如C1比其它電路更寬時。C2和C3被阻止,並且所有流量在節點1和節點2之間流動。如果隨後刪除C1,電路C2和C3將繼續運行相同的生成樹。刪除C1後,VLAN V10或VLAN V20會被阻止。同樣,此網路設計在生成樹限制下無效。
圖5 — 無效配置:案例 2
此示例包含具有兩個電路的四節點系統。電路C1承載VLAN V10和V20,而C2承載VLAN V10、V20和V30。兩個電路運行相同的生成樹例項,因為兩個電路的VLAN集重疊。V10和V20域包含環路。因此,其中一個跨區被阻止。如果封鎖的span是C1,則所有VLAN都會流動。此配置看起來正常,但問題是V30沒有可用的保護;如果C2 span失敗,V10和V20會通過C1進行傳輸,但V30沒有路徑。
圖6 — 無效配置:案例 3
摺疊生成樹時,會遇到點到點電路的問題,這些電路跨越相同的節點集,但位於不同的「未縫合」卡上。在「未縫合」模式(也稱為「單卡EtherSwitch」)中,每個卡在ONS 15454內保持一個交換實體。但是,如果跨不同「未縫合」卡的兩個電路使用相同的VLAN ID,則這些電路仍會摺疊到同一個生成樹例項中,並且其中一個被阻塞。圖7顯示了此問題。
圖7 — 點對點未拼接電路的示例
在此範例中,C2遭封鎖,因此路由器3和路由器4之間沒有流量通過。為了克服此問題,思科在ONS 15454 3.3版及更新版本中引入了每電路關閉功能(也稱為「VLAN重複使用」)。此功能允許您在單條線路上禁用或啟用STP。禁用STP時,使用不同「未縫合」卡的多條點對點電路可以使用相同的VLAN ID,而不會被阻止。
若要停用跨距樹狀目錄,請確認沒有勾選「Circuit Creation(電路建立)」螢幕中的「Enable Spanning Tree」覈取方塊(參見圖8中的紅色矩形)。
圖8 — 電路建立:禁用生成樹
完成以下步驟,以便通過CTC顯示生成樹分配:
登入思科傳輸控制器(CTC)。
圖9 — 生成樹分配
按一下Maintenance(請參見圖9中的箭頭A)。
按一下「Ether Bridge」(參見圖9中的箭頭B)。
按一下Circuits(請參見圖9中的箭頭C)。
顯示內容包括型別、電路名稱/埠、STP ID和VLAN。
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
25-Oct-2005 |
初始版本 |