故障现象
笔者使用的一台CISCO 4006交换机的全局生成树状态如下:
sh spantree summary
MAC address redUCtion: disabled
Root switch for vlans: none.
Global loopguard is disabled on the switch.
Global portfast is disabled on the switch.
BPDU skewing detection disabled for the bridge.
BPDU skewed for vlans: none.
Portfast bpdu-guard disabled for bridge.
Portfast bpdu-filter disabled for bridge.
现在想把某一个端口设为portfast,以节省初始化时间。因为使用终端,要求启动后马上连接到服务器,这个时间很短(不到1min),而等生成树收敛的时间肯定超出。所以有这个需求。但是,把一个端口设置portfast后,没有作用。还是要等一段时间网络才通(在一台cisco 2924交换机上设置后,马上有预期的效果)。后来把BPDUfilter也重启,再测试,还是没有效果。
4006交换机设置单个端口portfast和BPDUfilter后结果这样:
sh spantree portfast 2/11
Portfast: Enable
BPDU Filter: Enable
BPDU Guard: Default
Portfast BPDU guard is disabled.
Portfast BPDU filter is disabled.
最后一行显示结果还是disabled(无效)。
诊断过程
笔者查阅相关资料,从cisco网站查到,开机延时来自以下4个因素:
Spanning-Tree Protocol (STP)
EtherChannel negotiation
Trunking negotiation
Link speed/duplex negotiation between the switch and the workstation
于是笔者把trunk mode设为off(原先是auto),解决了问题。
排除心得
这个问题估计越来越实际,因为现在Windows终端比较普及,而终端机的启动仅需40s,假如网络方面不配合,估计连获取DHCP分配的IP地址都有问题;另外为了方便用户(callcenter),一般要求设置开机之后,自动登陆终端服务器。所以在规划网络时最好选用支持端口portfast的交换机。