2009年1月6日星期二

配置STP

除了那些被配置了no switchport命令的端口外,下面的这些命令可以被配置到任何接口上(这里是以运行CiscoIOS的Catalyst 4000系列交换机为例,具体型号的交换机配置方式可能不同)。
一、激活STP
默认情况下,在所有VLAN中,STP是被激活的。
我们可以针对某个VLAN激活STP。交换机为每个单独的VLAN管理一个单独的生成树实例(除了那些禁用了STP的VLAN)。
在某个VLAN上激活STP:
1、激活某个VLAN的STP,VLAN_ID可以取从1到1005之间的值:
switch(config)#spanning-tree vlan vlan_ID
2、退出配置模式:
switch(config)#end
3、确认VLAN中的STP是否被激活:
switch#show spanning-tree vlan vlan_ID
注:因为STP默认是被配置了的,所以使用show running命令的时候,不会看到前面用于激活STP的命令。
二、配置根交换机
使用Supervisor Engine III的Catalyst 4006交换机能够为交换机上每个激活的VLAN管理一个生成树实例。交换机在每个实例中都有一个桥ID。桥ID是由桥优先级和桥MAC地址组成的。对每个VLAN而言,拥有最小的桥ID的交换机会称为根交换机。一旦桥优先级改变,桥ID也会跟着改变。这种改变会导致VLAN中根桥的重新计算。
为了将某个交换机配置为某个VLAN的根桥,我们可以使用spanning-tree vlan valn_ID root 命令,来将桥优先级从默认的32768,修改成一个比较低的值。如果将桥优先级设定为8192,会导致这个交换机称为该VLAN的根桥,那么桥优先级就会设定为8192。如果VLAN中,还有别的交换机的桥ID比8192小,那么配置了该命令的交换机就会将自己的桥优先级设定一个值,这个值比网络中桥优先级最小的交换机小1的值(即:如果最小的桥优先级为8000,那么就将自己的桥优先级设定为7999)。
例如,我们假定网络中VLAN100中,所有交换机的桥优先级设定为默认值32768,当我们在一个交换机中输入spanning-tree vlan 100 root primary命令,这个命令会使得该交换机在VLAN100中的桥优先级设定为8192,这会使得这个交换机变成VLAN100的根桥。
注:每个生成树实例的根交换机必须是骨干交换机或者是分布层交换机。一定注意不要将接入层的交换机设定为生成树的主根交换机。
配置步骤:
1、将一个交换机配置为根交换机,可以使用no命令来恢复默认设置:
switch(config)#[no] spanning-tree vlan vlan_id root primary [diameter hops [hello-time seconds]]
2、退出配置模式:
switch(config)#end
注:可以使用diameter来指定层二网络的直径(即,网络中,两个终端之间经过了多少个网桥)。当我们指定了网络直径的时候,交换机能够自动为网络直径选择一个最佳的hello时间、转发延迟时间和最大老化时间。配置diameter可以减少生成树的收敛时间。
可以使用hello-time来重写自动计算出来的hello时间。
注:在将一个交换机配置为根交换机后,尽量不要自己手动配置hello时间、转发延迟时间以及最大老化时间
三、配置一个备用的根交换机
当我们将一个交换机配置为备用根交换机的时候,这个交换机的的生成树桥优先级就被从默认的32768修改为16384。这意味着,如果这个VLAN的主根交换机失效以后,这个交换机就会成为该VLAN的根交换机(假定网络中其他的交换机的桥优先级为32768)。
我们可以在多个交换机上运行这个命令,来配置多个备用根交换机。在配置备用交换机的时候,要注意,设置的网络直径以及hello时间值要与主根交换机相同(同样,在配置完根桥以后,最好不要手动配置hello时间、转发延迟时间以及最大老化时间)。
配置步骤:
1、将某个交换机配置为备用根桥,可以使用no来取消这个命令,恢复成默认值:
switch(config)#[no] spanning-tree vlan vlan_ID root secondary [diameter hops [hello-time seconds]]
2、退出配置模式
switch(config)#end
四、配置STP端口优先级
在出现环路的时候,生成树会通过比较端口优先级来选择一个端口,并将这个端口置为转发状态。交换机会优先选择端口优先级高(lower numberical value)的端口作为转发端口。如果所有的端口的优先级相同,那么生成树就会将端口号低的端口置为转发状态,阻塞其他端口。可能的优先级为0到240,配置时以16递增(默认是128)。
当端口被配置为访问端口的时候,IOS使用端口优先级(配置命令为:spanning-tree port-priority value)。当端口被配置为Trunk端口的时候,IOS使用VLAN端口优先级(配置命令为:spanning-tree vlan vlan_ID port-priority vlaue)。对Trunk端口配置端口优先级时,一定要注意针对使用这个Trunk的每个VLAN都要配置端口优先级。
配置步骤:
1、选择要配置的端口:
switch(config)#interface {{fastethernet gigabitethernet} slot/port} {port-channel port_channel_number}
2、在端口上配置端口优先级。优先级取值从0到240,以16递增。可以使用no来恢复默认设置:
switch(config-if)#[no] spanning-tree port-priority port_priority
3、为端口配置VLAN端口优先级。优先级取值从0到240,以16递增。可以使用no来恢复默认配置:
switch(config-if)#[no] spanning-tree vlan vlan_ID port-priority port_priority
4、退出配置模式:
switch(config-if)#end
5、检查配置:
switch#show spanning-tree interface {{fastethernet gigabitethernet} slot/port} {port-channel port_channel_number}
show spanning-tree vlan vlan_ID
注:show spanning-tree port-priority命令只能显示激活链路(active)的端口信息。如果端口没有激活,使用这个命令是看不到未激活链路的端口的端口优先级的。此时我们可以使用show running-config interface命令来检查配置。
五、配置STP端口花费
生成树端口花费的默认值源自端口的介质速率。当发生环路的时候,生成树会比较端口花费,然后将端口置于转发状态。端口开销低的端口,会被首先选择为转发端口。如果所有端口的花费相同,生成树就会将端口号低的端口置于转发状态,阻塞其他端口。端口开销取值为1至200000000(默认根据介质不同而不同)。
当端口被配置为访问端口时,生成树使用端口花费。当端口被配置为Trunk端口时,生成树使用VLAN端口开销(即针对使用该Trunk的每个VLAN,配置一个端口花费值)。
配置步骤如下:
1、选择要配置端口花费的端口:
switch(config)#interface {{fastethernet gigabitethernet} slot/port} {port-channel port_channle_number}
2、为该端口配置端口花费,端口花费的值可以取从1到200000000。可以使用no来恢复到默认值:
switch(config-if)#[no] spanning-tree cost port_cost
3、配置VLAN端口花费,端口花费的值可以取从1到200000000。可以使用no来恢复到默认值:
switch(config-if)#[no] spanning-tree vlan vlan_ID cost port_cost
4、退出配置模式:
switch(config-if)#end
5、检查配置:
switch#show spanning-tree interface {{fastethernet gigabitethernet} slot/port} {port-channel port_channel_number}
show spanning-tree vlan vlan_ID
注:show spanning-tree命令只显示激活链路(active link)的端口(即绿灯亮)的信息。如果不符合这些情况的话,只能使用show running-config命令来检查这些配置。
六、其他配置命令
一般不建议使用下面这些命令,在大多数情况下,建议使用spanning-tree vlan vlan_ID root primary命令和spanning-tree vlan vlan_ID root secondary命令来修改桥的优先级、Hello时间、最大老化时间以及转发延迟时间(主要针对某个VLAN)。
配置桥优先级:
1、配置一个VLAN中的桥优先级。桥优先级取值从1到65535,可以使用no来恢复默认设置:
switch(config)#[no] spanning-tree vlan vlan_ID priority bridge_priority
2、退出配置模式:switch(config)#end
3、检查配置:switch#show spanning-tree vlan vlan_ID birdge [brief]
配置Hello时间:
1、配置某个VLAN的hello时间,hello时间的取值为从1到10秒。可以使用no来恢复默认设置:
switch(config)#[no] spanning-tree vlan vlan_ID hello-time hello_time
2、退出配置模式:switch(config)#end
3、检查配置:switch#show spanning-tree vlan vlan_ID bridge [brief]
配置某个VLAN的最大老化时间:
1、配置某个VLAN的最大老化时间,最大老化时间的值可以取从6至40秒。可以使用no来恢复至默认设置:switch(config)#[no] spanning-tree vlan vlan_ID max-age max_age
2、退出配置模式:switch(config)#end
3、检查配置:switch#show spanning-tree vlan vlan_ID bridge [brief]
配置某个VLAN的转发延迟时间:
1、配置某个VLAN的转发延迟时间,转发延迟时间可以取值从4到30秒。可以使用no来恢复默认配置:
switch(config)#[no] spanning-tree vlan vlan_ID forwarding-time forward_time
2、退出配置模式:switch(config)#end
3、检查配置:switch#show spanning-tree vlan vlan_ID bridge [brief]
七、禁用STP
禁用基于每个VLAN的生成树协议,如下步骤:
1、禁用基于每个VLAN的生成树:
switch(config)#no spanning-tree vlan vlan_ID
2、退出配置模式:switch(config)#end
3、检查生成树是否被禁用:
switch#show spanning-tree vlan vlan_ID

没有评论:

发表评论