stp作用
能让环形网络变成树形网络
1、冗余网络中,避免单点故障
2、容易有环路, 导致广播风暴,mac地址表不稳定
stp工作范围
pvst模式中,每个vlan都有一棵生成树,互不影响。本篇分享的都是基于pvst模式。
#默认是pvst,收敛时间比较长,1分钟左右,如果要求高使用rapid-pvst,2秒左右能实现收敛
sw1(config)#spanning-true mode rapid-pvst
实验一,理解stp工作的四个步骤
所有比较项都是越小越优先
sw1背板mac地址 c001.263c.0001
sw2背板mac地址 c002.1ec8.0001
sw3背板mac地址 c003.04e4.0001
所有接口no shutdown
所有接口配置为trunk模式
三台交换机都创建vlan10
1、选出一个根桥交换机
交换机是通过互相发送bpdu数据包,里面包含了自己的bridge ID,然后选出值最小的作为根桥。所有数据都要经过树根才能转发。
bridge ID是交换机名字(8字节),构成如下:
优先级(默认32768) + vlan号 + mac地址(背板mac,给交换机内置的cpu分配的mac)
可以人为降低优先级,指定某个vlan中指定某个交换机为根交换机:
sw2(config)#spanning-tree vlan 10 priority ?
<0-65535> bridge priority
2、非根桥交换机选出一个根端口
第一步通过互相发送bpdu选出根桥后,以后就只有根桥发送bpdu(2秒一次),其他交换机转发该bpdu并附加上下面的4个参数:
bpdu数据包组成:
(1)、根桥名字
(2)、cost stp协议规定100M口cost 19,1000M口 cost 4,10G cost 2按入接口算,根刚出去是0
修改cost值,指定某个vlan中的某个接口为根端口(入方向)
sw2(config-if)#spanning-tree vlan 10 cost ?
<1-65535> Change an interface's per VLAN spanning tree path cost
(3)、转发者的桥id(交换机名字)
(4)、转发者的端口id (端口优先级(默认128,可以人工修改) + 端口序号)
修改优先级,指定某个vlan中的某个接口为根端口(出方向):
sw2(config-if)#spanning-tree vlan 10 port-priority ?
<0-255> Change an interface's per VLAN spanning tree priority
按上面的顺序比较,胜出的成为根端口
3、每根线上选出一个指定端口
方法和2一样,按顺序比较,值小的胜出
可以直接判断出根桥连接的接口是指定端口,因为cost是0
4、剩余接口全部阻塞
sw1是根桥交换机
黄圈表示非根桥交换机上的根端口
红圈表示指定端口
sw3#show spanning-tree vlan 10 br
VLAN10
Spanning tree enabled protocol ieee
Root ID Priority 32768
Address c001.263c.0001
Cost 19
Port 41 (FastEthernet1/0)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32768
Address c003.04e4.0001
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec #bpdu数据包每2秒发送一次,20秒没有收到bpdu数据包说明
Aging Time 300 #mac地址在交换机中的缓存时间
Interface Designated
Name Port ID Prio Cost Sts Cost Bridge ID Port ID
-------------------- ------- ---- ----- --- ----- -------------------- -------
FastEthernet1/0 128.41 128 19 FWD 0 32768 c001.263c.0001 128.42
FastEthernet1/1 128.42 128 19 BLK 19 32768 c002.1ec8.0001 128.42
上面的根桥交换机信息如下:
Root ID Priority 32768
Address c001.263c.0001
Cost 19
Port 41 (FastEthernet1/0)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
如果自己的根桥id和根桥交换机信息一致,说明这就是根桥交换机。
如果不一致,可以通过下面的方式快速寻找根交换机:
Port 41 (FastEthernet1/0)
说明sw3这台非根交换机的根端口是F1/0(离根桥交换机最近的端口),通过邻居表可以查看到端口连接信息:
sw3#show cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater
Device ID Local Intrfce Holdtme Capability Platform Port ID
sw1 Fas 1/0 134 R S I 2691 Fas 1/1
sw2 Fas 1/1 133 R S I 2691 Fas 1/1
可以看到sw3的F1/0接口是跟sw1的F1/1接口连接,由于拓扑简单,sw1正好就是根桥交换机。如果sw1也是非根交换机,继续使用sw1的根端口去查邻居接口...直到找到根桥交换机。
端口状态,只要网络状态发生变化,就会经历临时状态->最终状态
临时状态:
listenning 【down到up,有15秒监听,用来确定根桥、端口角色】
learnning 【学习mac 15秒】
这两个状态的15秒,就是Forward Delay 15 sec
最终状态:
forwarding 【指定端口,根端口】
blk 【剩余的端口】
实验2,能判断哪个是转发者
mac地址 sw1 < sw2 < sw3
sw1是根桥交换机。
sw2选根端口过程(注意sw1是根桥,对sw2来说同时也是转发者):
之前的实验可以知道f1/0和f1/1优先级高于f1/2和f1/3,比较f1/0和f1/1的四个步骤
1、根桥名字一样,都是sw1
2、bpdu数据包从sw1转发到sw2,入f1/0后值变成19,入f1/1后值变成19,cost值一样
3、转发者的桥id即sw1,一样
4、
转发者
的端口,查看sw1的端口id
,sw1上f1/0端口id 128.41,f1/1端口id 128.42。所以f1/0胜出。
sw1#show spanning-tree vlan 10 bri
VLAN10
Spanning tree enabled protocol ieee
Root ID Priority 32768
Address c001.2954.0001
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32768
Address c001.2954.0001
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300
Interface Designated
Name Port ID Prio Cost Sts Cost Bridge ID Port ID
-------------------- ------- ---- ----- --- ----- -------------------- -------
FastEthernet1/0 128.41 128 19 FWD 0 32768 c001.2954.0001 128.41
FastEthernet1/1 128.42 128 19 FWD 0 32768 c001.2954.0001 128.42
FastEthernet1/4 128.45 128 19 FWD 0 32768 c001.2954.0001 128.45
FastEthernet1/5 128.46 128 19 FWD 0 32768 c001.2954.0001 128.46
接口上portpast配置
电脑连接到交换机重新插拔后,可以跳过listenning和learnning状态,提升转发效率。
只能配置在access模式下。交换机之间不能用,容易环路。
sw2(config-if)#spanning-tree portfast
网友评论