当至少一个第 2 层 (L2) 端口在 VLAN 中变为活动状态时,自动状态功能会通知该 VLAN 中的交换机或路由模块 VLAN 接口(第 3 层 (L3) 接口)转入 up/up 状态。
本文档帮助您理解自动状态功能及其特性。在路由器上配置了 interface <vlan-id> 命令之后,该接口将处于 up/down 或 down/down 状态(具体哪个状态取决于平台)。本文档讨论发生这种情况的原因以及 L3 和 L2 接口在激活后在控制层面中相互作用的方式。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
本文档没有任何特定的前提条件。
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备创建的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您是在真实网络上操作,请确保您在使用任何命令前已经了解其潜在影响。
默认情况下,基于 CatOS 和 Cisco IOS 的交换机上已实现自动状态。在某些 CatOS 平台上,为了在特殊情况下允许冗余,可以禁用此功能。在基于 IOS 的交换机上,不能将此功能禁用。
路由器 VLAN 接口必须满足以下一般条件才能变成 up/up:
在交换机 VLAN 数据库中,VLAN 存在且处于 active 状态。
VLAN 接口存在于路由器上,且未被强制变为 down 状态。
在此 VLAN 上,至少存在一个 L2(接入端口或中继)端口,且该端口具有 up 链路。自动状态功能的最新实现允许与生成树协议 (STP) 端口状态同步。
VLAN 接口将在 L2 端口有时间进行收敛(即从 listening-learning 转换为 forwarding)之后接通。 这将防止路由协议和其他功能使用该 VLAN 接口,就好像该 VLAN 接口完全正常运行那样。这还会防止其他问题(如路由黑洞)的发生。
至少一个 L2(接入端口或中继)端口在 VLAN 上处于生成树 forwarding 状态。
本部分概述了 Catalyst 交换机上的自动状态配置。
对于这些交换机,默认情况下已启用自动状态功能。自动状态功能与 STP 状态同步。
当属于相应 VLAN 链路的第一个交换机端口变为 up 并处于生成树 forwarding 状态时,VLAN 接口的协议线路状态将变为 up 状态。
故障排除期间,请发出下面的命令以检查所有条件的状态:
sh int <fast | gig> mod/port(L2端口)
sh int <fast | gig> mod/port trunk(如果L2端口是中继)
注意:在代码12.1(8a)E及更高版本中引入了与STP同步的自动状态。有关详细信息,请参阅 Bug ID CSCdu07244(仅限注册用户)。
注:如果机箱中有IDS刀片(WS-X6381-IDS=),则VLAN接口将保持up/up状态,即使没有活动的L2端口。此问题已通过 12.1.13E 及更高版本中的 Bug ID CSCdx84895(仅限注册用户)解决。MSFC 接口的正确行为是:如果没有 STP forwarding 状态的 L2 端口,则 MSFC 接口转为 down 状态。
对于这些交换机,除 up/up 状态一般条件外,还必须满足以下额外条件:
路由器(多层交换功能卡(MSFC))端口(15/1,16/1)必须处于中继模式。
连接到 MSFC 的中继必须允许 VLAN。
在这些交换机上,默认情况下已启用自动状态功能,并且可以将其禁用。自动状态功能与 STP 状态同步,除非已启用自动状态,否则不能修改此行为。
当属于相应 VLAN 链路的第一个 L2 端口(非路由器端口,即不是 15/1 或 16/1)变为 up 并处于生成树 forwarding 状态时,VLAN 接口的协议线路状态将变为 up。分配给交换机上的管理接口 (sc0) 的 VLAN 属于例外。MSFC 上的管理接口 VLAN 的协议线路状态将始终为 up。交换机启动后,sc0 应始终为 up。但是,可将此接口强制转为 down。
故障排除期间,请发出下面的命令以检查所有条件的状态:
在 MSFC 上,发出 show int vlan <vlan-id> 命令。
在交换机上,发出sh vlan、sh port mod/port(L2端口)、sh trunk mod/port(如果L2端口是中继)和sh spantree <vlan-id>命令。
禁用自动状态功能
在冗余双 MSFC 配置模式下,禁用自动状态功能可能很有用。如果 VLAN 在两个 MSFC 之间纯粹用于 L3 路由,并且没有向 VLAN 分配 L2 端口,则应禁用自动状态功能。为了使接口 VLAN 保持 up/up 状态,而不向 VLAN 分配专用的 L2 端口,可以禁用自动状态功能。
发出下面的命令以获得当前自动状态功能设置:
Switch (enable) sh msfcautostate MSFC Auto port state: enabled
发出下面的命令以禁用自动状态功能:
Switch (enable) set msfcautostate disable Switch (enable) sh msfcautostate MSFC Auto port state: disabled Switch (enable)
注意:从5.5(10)和6.3(1)开始,支持与STP同步的Catalyst混合交换机的自动状态。 有关详细信息,请参阅 Bug ID CSCdu05914(仅限注册用户)。
注:如果机箱中有IDS刀片(WS-X6381-IDS=),则MSFC接口将保持up/up状态,即使没有活动的L2端口。此问题已通过 6.2.2、6.3.1 及更高版本中的 Bug ID CSCdt75094(仅限注册用户)解决。MSFC 接口的正确行为是:如果没有 STP forwarding 状态的 L2 端口,则 MSFC 接口转为 down 状态。
对于这些交换机,除 up/up 一般条件外,还必须满足以下额外条件:
路由器(路由交换机模块 (RSM)/路由交换机特性卡 (RSFC))端口必须处于 trunking 模式。
路由器中继上必须允许 VLAN。
在这些交换机上,默认情况下已启用自动状态功能,并且可以将其禁用。自动状态功能不 与 STP 状态同步。
当属于相应 VLAN 链路的第一个 L2 端口变为 up,或者第二个 RSM 上的另一个路由器端口处于 trunking 模式时,VLAN 接口的协议线路状态将变为 up。如果第二个 RSM 上的路由器处于 trunking 模式,则 ISL 中继上将允许 VLAN。
分配给交换机上的管理接口 (sc0) 的 VLAN 属于例外。RSM 上的管理接口 VLAN 的协议线路状态将始终为 up。交换机启动后,sc0 应始终为 up。但是,可将此接口强制转为 down。
注意:如果启用了自动状态,并且交换机中特定VLAN上没有活动端口,则如果有多个RSM,则RSM上的接口将保持打开状态。这样,流量就可在该 VLAN 的两个 RSM 之间流动,而不必禁用自动状态功能。此行为不同于 Catalyst 6000 混合模式下的默认行为。
注意:一个机箱中多RSM方案的自动状态功能增强功能在6.1.2中得到增强。(有关详细信息,请参阅Bug ID CSCdr80722(仅注册客户)。) 多 RSM 允许两个 RSM 上的接口在交换机中该 VLAN 上的最后一个物理链路断开时关闭。
故障排除期间,请发出下面的命令以检查所有条件的状态:
在 RSM 上,发出 show int <vlan-id> 命令。
在交换机上,发出sh vlan、sh port mod/port (L2端口)、sh trunk mod/port (如果L2端口是中继)和sh spantree <vlan-id>命令。
发出下面的命令以查看当前自动状态功能设置:
Switch (enable) sh rsmautostate RSM Auto port state: enabled Multi-RSM Option: enabled
发出下面的命令以禁用自动状态功能:
Switch (enable) set rsmautostate disable RSM port auto state disabled. Switch (enable) sh rsmautostate RSM Auto port state: disabled Multi-RSM Option: enabled Switch (enable)
发出下面的命令以禁用自动状态中的多 RSM 功能:
Switch (enable) sh rsmautostate RSM Auto port state: enabled Multi-RSM Option: enabled Switch (enable) set rsmautosta multirsm disable RSM port auto state multiple RSM disabled. Switch (enable) sh rsmautostate RSM Auto port state: enabled Multi-RSM Option: disabled Switch (enable)
注意:禁用多RSM是自动状态的附加功能。若要使用此功能,必须启用自动状态。
当交换机 VLAN 上的最后一个 L2 端口转为 down 时,该 VLAN 上的所有 L3 接口/子接口都将关闭。除非 sc0 在 VLAN 上开启,或者机箱中有另一个 L3 模块具有该 VLAN 中的接口/子接口,否则这些接口/子接口将变为 down 状态。请务必了解,Catalyst 4000 Supervisor I/II 并不知道或不能控制 L3 模块配置(就像 Catalyst 交换机不知道或不能控制外部路由器配置一样)。 因此,如果 L3 模块配置不当,自动状态功能在 L3 模块接口上将不起作用。请参考下面的准则:
自动状态功能在默认情况下已启用。发出隐藏命令 [no] autostate disable 以启用/禁用自动状态功能。
自动状态功能不 与 STP 状态同步。
当属于相应 VLAN 链路的第一个 L2 端口变为 up 状态时,VLAN 接口的协议线路状态将变为 up。
发出下面的命令以查看哪些 Catalyst 4000 L3 服务模块接口已由自动状态功能关闭或接通:
Router#sh autostate entries Autostate Feature is currently enabled on the system.
发出下面的命令以禁用自动状态功能(这是隐藏命令):
Router#autostate disable Disabling Autostate Router#sh autostate entries Autostate Feature is currently disabled on the system.
发出下面的命令以重新启用自动状态功能:
Router#no autostate disable Enabling Autostate Router#sh autostate entries Autostate Feature is currently enabled on the system.
如果 VLAN 接口为 down 状态,请执行下面的故障排除步骤。
这是 VLAN 接口处于 up/down 状态的症状。
Corgon-6000#sh int vlan 151 Vlan151 is up, line protocol is down !--- Line protocol on interface VLAN 151 is down. !--- You need to investigate why this line protocol is not up !--- (at least one L2 port exists, and there should be a !--- link up on this VLAN).
请进行检查以确保 VLAN 151 存在于 VLAN 数据库中且处于 active 状态。下面的命令显示 VLAN 存在于该交换机上且处于 active 状态。
Corgon-6000#sh vlan 151 | i 151 151 VLAN151 active Gi4/10 151 enet 100151 1500 - - - - - 0 0 Corgon-6000# !--- VLAN 151 exists in VLAN database and is active. !--- L2 port Gig4/10 is assigned to VLAN 151.
检查分配给 VLAN 151 的接口 gig 4/10 的状态。
Corgon-6000#sh int gig 4/10 GigabitEthernet4/10 is up, line protocol is down (notconnect) Corgon-6000#sh run int gig 4/10 Building configuration... Current configuration : 182 bytes ! interface GigabitEthernet4/10 no ip address logging event link-status logging event bundle-status switchport switchport access vlan 151 switchport mode access end
从接口状态可以看出,接口 VLAN 151 的线路协议已关闭原因是 GigabitEthernet4/10 链路未连接。可能是未将设备连接到该接口,或者该链路存在布线问题或自动协商问题,从而阻止该链路变为 up。
将设备连接到 GigabitEthernet4/10 以使该接口链路变为 up。
Mar 11 12:10:52.340: %LINK-3-UPDOWN: Interface GigabitEthernet4/10,changed state to up Mar 11 12:10:53.156: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet4/10,changed state to up Corgon-6000# Corgon-6000# Corgon-6000#sh int vlan 151 Vlan151 is up, line protocol is down
检查 VLAN 接口是否显示线路协议仍为 down。您需要调查此线路协议没有 up 的原因。确保此 VLAN 上至少一个 L2 端口处于生成树 forwarding 状态。
Corgon-6000#sh spanning-tree vlan 151 VLAN0151 Spanning tree enabled protocol rstp Root ID Priority 32768 Address 00d0.003f.8897 This bridge is the root Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 32768 Address 00d0.003f.8897 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 300 Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- Gi4/10 Desg LRN 4 128.202 P2p Corgon-6000#
生成树端口状态为 LRN,即处于 learning 状态。线路协议为 down,因为该接口处于转换状态(listening->learning 到 forwarding)。
Corgon-6000# Mar 11 12:11:23.406: %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan151, changed state to up
注意:当GigabitEthernet4/10上的线路协议启动和接口Vlan151启动时,日志之间的时间戳差异约为30秒,表示STP中的2x转发延迟(listening->learning->forwarding)
Corgon-6000#sh int vlan 151 Vlan151 is up, line protocol is up
线路协议为 up。您需要验证 L2 端口上的生成树端口状态(应该是 forwarding)。
Corgon-6000#sh spanning-tree vlan 151 VLAN0151 Spanning tree enabled protocol rstp Root ID Priority 32768 Address 00d0.003f.8897 This bridge is the root Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 32768 Address 00d0.003f.8897 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 300 Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- Gi4/10 Desg FWD 4 128.202 P2p !--- Verified spanning-tree port status on L2 port !--- is FWN = forwarding.
如果 VLAN 接口为 down 状态,请执行下面的故障排除步骤。
这是 MSFC 上的 VLAN 接口处于 down/down 状态的症状。
Topvar-msfc>sh int vlan 151 Vlan151 is down, line protocol is down !--- Line protocol is down (not administratively down). If so, issue the !--- no shutdown command under the interface. !--- Line protocol on interface VLAN 151 is down in this output. !--- You need to investigate why this line protocol is not up !--- (at least one L2 port exists, and there should be a !--- link up on this VLAN).
请进行检查以确保 VLAN 151 存在于 VLAN 数据库中且处于 active 状态。下面的命令显示 VLAN 存在于该交换机上且处于 active 状态。
Topvar (enable) sh vlan 151 VLAN Name Status IfIndex Mod/Ports, Vlans ---- -------------------------------- --------- ------- ------------------------ 151 VLAN151 active 284 3/1 15/1
如您所见,L2端口3/1和15/1(MSFC)已分配给VLAN 151。请检查分配给VLAN 15的端口3/1的状态。如果端口3/1为中继,请发出sh trunk命令检查是否允许VLAN 151。
Topvar (enable) sh port 3/1 Port Name Status Vlan Duplex Speed Type ----- -------------------- ---------- ---------- ------ ----- ------------ 3/1 disabled 151 auto auto 10/100BaseTX !--- Since the only port (3/1) is diabled, !--- the line protocol for interface VLAN 151 is down.
启用端口 3/1,如下所示。
Topvar (enable) set port enable 3/1 Port 3/1 enabled. 2003 Mar 12 05:42:10 %PAGP-5-PORTTOSTP:Port 3/1 joined bridge port 3/1 Topvar (enable) sh port 3/1 Port Name Status Vlan Duplex Speed Type ----- -------------------- ---------- ---------- ------ ----- ------------ 3/1 connected 151 a-half a-10 10/100BaseTX
在 MSFC 中建立会话,并再次验证 VLAN 接口的状态。
Topvar (enable) ses 15 Trying Router-15... Connected to Router-15. Escape character is '^]'. Topvar-msfc>sh int vlan 151 Vlan151 is down, line protocol is down
可以看到,接口 VLAN 151 上的线路协议仍为 down。您需要调查此线路协议没有 up 的原因。此 VLAN 上至少一个 L2 端口处于生成树 forwarding 状态。通过检查交换机进行确认,如下所示。
Topvar (enable) sh spantree 151 VLAN 151 Spanning tree mode PVST+ Spanning tree type ieee Spanning tree enabled Designated Root 00-07-4f-1c-e8-47 Designated Root Priority 0 Designated Root Cost 119 Designated Root Port 3/1 Root Max Age 20 sec Hello Time 2 sec Forward Delay 15 sec Bridge ID MAC ADDR 00-05-00-a9-f4-96 Bridge ID Priority 32768 Bridge Max Age 20 sec Hello Time 2 sec Forward Delay 15 sec Port Vlan Port-State Cost Prio Portfast Channel_id ---------------------- ---- ------------- --------- ---- -------- ---------- 3/1 151 listening 100 32 disabled 0 Topvar (enable)
生成树端口状态仍为 listening。VLAN 接口的线路协议在转换状态(listening->learning 到 forwarding)中将保持为 down。
Topvar (enable) sh spantree 151 VLAN 151 Spanning tree mode PVST+ Spanning tree type ieee Spanning tree enabled Designated Root 00-07-4f-1c-e8-47 Designated Root Priority 0 Designated Root Cost 119 Designated Root Port 3/1 Root Max Age 20 sec Hello Time 2 sec Forward Delay 15 sec Bridge ID MAC ADDR 00-05-00-a9-f4-96 Bridge ID Priority 32768 Bridge Max Age 20 sec Hello Time 2 sec Forward Delay 15 sec Port Vlan Port-State Cost Prio Portfast Channel_id ------------------------ ---- ------------- --------- ---- -------- ---------- 3/1 151 forwarding 100 32 disabled 0 15/1 151 forwarding 4 32 enabled 0 Topvar (enable)
L2 端口上的生成树端口状态为 forwarding。接口 VLAN 上的线路协议此时应为 up。验证线路协议是否为 up,如下所示:
Topvar (enable) ses 15 Trying Router-15... Connected to Router-15. Escape character is '^]'. Topvar-msfc>sh int vlan 151 Vlan151 is up, line protocol is up It is up in up/up status as expected.
如果已为 up/up 的接口 VLAN 仍有问题,请检查路由器端口是否处于 trunking 模式,并且路由器中继上是否允许该 VLAN。输出示例如下所示。
Topvar (enable) sh trunk 15/1 * - indicates vtp domain mismatch Port Mode Encapsulation Status Native vlan -------- ----------- ------------- ------------ ----------- 15/1 nonegotiate isl trunking 1 Port Vlans allowed on trunk -------- --------------------------------------------------------------------- 15/1 1-1005,1025-4094 Port Vlans allowed and active in management domain -------- --------------------------------------------------------------------- 15/1 1,151 Port Vlans in spanning tree forwarding state and not pruned -------- --------------------------------------------------------------------- 15/1 1,151 Topvar (enable) !--- VLAN 151 is allowed, and is in spanning-tree !--- forwarding state. VLAN 151 is not pruned.