本文档阐明了一些生成树规则,并介绍了这些规则对VLAN分配的影响。本文档并不打算成为ONS 15454上生成树和以太网电路调配的完整指南。相反,本文档:
解释导致某些VLAN分配失败的原因。
提供可用于更好设计网络的建议。建议使您能够在规划和实施电路时考虑生成树限制。
建议在修改或创建电路时遇到生成树限制时的解决方法。
Cisco 建议您了解以下主题:
Cisco ONS 15454
生成树协议 (STP)
本文档中的信息基于以下软件和硬件版本:
Cisco ONS 15454版本4.6.x及更高版本
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
生成树算法(STA)的主要功能是减少冗余链路在桥接网络中产生的环路。当STP检测到网络主机之间的多条路径时,STP会阻塞端口,直到只存在一条路径。
STA默认在ONS 15454的光纤接口上启用。您也可以在以太网卡的前端端口上配置STA。
如果不遵守某些VLAN分配限制,则ONS 15454上的生成树规则不允许创建新电路或修改现有电路。但是,这些规则不会阻止可能导致网络设计不当的某些电路配置。在设计网络时,必须牢记这些配置。
ONS 15454上的生成树软件在Timing, Communications and Control(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 | 新生成树实例 | STP 2 |
C3 | 20 、40 | 由于20与C1中的20匹配,因此生成树实例与C1相同。 | STP 1 |
C4 | 30 、50 | 由于30与C2中的30匹配,因此生成树实例与C2相同。 | STP 2 |
C5 | 60 | 新生成树实例 | STP 3 |
C6 | 30、50、70 | 30和50匹配C4中的30和50,与C4的生成树实例相同 | STP 2 |
表2列出了VLAN分配失败的简单案例:
表2 - VLAN分配失败电路 | VLAN集 | 备注 | 生成树实例 |
---|---|---|---|
C1 | 10 | 新生成树实例 | STP 1 |
C2 | 20 | 新生成树实例 | STP 2 |
C3 | 10 、20 | 10匹配C1中的10,20匹配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中的示例。Cisco建议您先调配C3,然后调配C1和C2。或者,您可以按照C3-C2-C1的顺序调配电路,具有相同的效果。详细信息见表3。
表3 — 调配电路的推荐顺序电路 | VLAN集 | 备注 | 生成树实例 |
---|---|---|---|
C3 | 10,20 | 新生成树实例 | STP 1 |
C1 | 10 | 10匹配C3中的10,与C3的生成树实例相同。 | STP 1 |
C2 | 20 | 20匹配C3中的20,与C3的生成树实例相同 | STP1 |
将生成树应用到以太网卡的前端端口时,同样的逻辑适用。
当您需要修改未按建议顺序调配的电路时,请使用此解决方法以避免VLAN分配错误:将幻像VLAN分配给现有电路。
幻像VLAN是指未使用的不传输流量的VLAN。添加幻像VLAN会强制生成树折叠到同一实例中。请仔细考虑网络设计,确保不会错误地阻止任何跨度。根据网络的复杂性和设计,流量命中有时不可避免。
一个典型的示例是“哑铃”场景,其中两个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跨度发生故障,V10和V20会通过C1流动,但V30没有路径。
图6 — 配置无效:场景 3当您折叠生成树时,您会遇到点对点电路问题,这些电路跨越同一组节点,但位于不同的“未缝合”卡上。在“未缝合”模式(也称为“单卡EtherSwitch”)中,每个卡在ONS 15454中保持单个交换实体。但是,如果跨越不同“未缝合”卡的两个电路使用相同的VLAN ID,则电路仍会折叠到相同的生成树实例中,其中一个会被阻塞。图7显示了此问题。
图7 — 点对点未缝合电路示例在本例中,C2被阻塞,因此路由器3和路由器4之间没有流量传输。为了解决此问题,Cisco在ONS 15454 3.3版及更高版本中引入了每电路关闭功能(也称为“VLAN重用”)。此功能允许您在单个电路上禁用或启用STP。禁用STP时,使用不同“未缝合”卡的多个点对点电路可以使用相同的VLAN ID,而不会被阻塞。
要禁用生成树,请确保不要选中“电路创建”屏幕中的“启用生成树”复选框(请参阅图8中的红色矩形)。
图8 — 电路创建:禁用生成树要通过CTC显示生成树分配,请完成以下步骤:
登录思科传输控制器(CTC)。
图9 — 生成树分配单击“Maintenance(维护)”(请参见图9中的箭头A)。
单击Ether Bridge(请参阅图9中的箭头B)。
单击Circuits(请参阅图9中的箭头C)。
显示内容包括类型、电路名称/端口、STP ID和VLAN。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
25-Oct-2005 |
初始版本 |