实验1: STP1、实验目的通过本实验,读者可以掌握如下技能:(1)理解STP 的工作原理(2)掌握STP的选举过程2、实验原理STP(STP,Spanning Tree Protocol)解决广播风暴、同一帧的多个拷贝、交换机CAM 表不稳定等问题,STP 基本思路是阻断一些交换机接口,构建一棵没有环路的转发树。
STP 利用BPDU(Bridge Protocol Data Unit)和其他交换机进行通信,从而确定哪个交换机该阻断哪个接口。
在BPDU 中有几个关键的字段,例如:根桥ID、路径代价、端口ID 等。
为了在网络中形成一个没有环路的拓扑,网络中的交换机要进行以下三个步骤:(1)选举根桥、(2)选举根端口、(3)选举指定端口。
这些步骤中,哪个交换机能获胜将取决于以下因素(按顺序进行):(1)最低的根桥ID由两部分组成:桥优先级(默认32768)和MAC地址(2)最低的根路径代价不是独立的协议标准,而是为标准做的一些必要性补充。
本实验中各种以太网类型的cost如下:100M: 200000 10M: 100 2000000(3)最低发送者桥ID也就是发送者的桥ID,判断规则同(1)中的一样(4)最低发送者端口ID由两部分组成:端口优先级(默认32)和端口序列号(例:f0/3比f0/47优先级高)每个交换机都具有一个唯一的桥ID,这个ID 由两部分组成:网桥优先级+MAC 地址(如果网桥优先级相同,才比较MAC地址)。
网桥优先级是一个2个字节的数(0-61440),交换机的默认优先级为32768;MAC地址就是交换机的MAC地址。
具有最低桥ID的交换机就是根桥。
根桥上的接口都是指定口,会转发数据包。
选举了根桥后,其他的交换机就成为非根桥了。
每台非根桥要选举一条到根桥的根路径。
STP 使用路径Cost 来决定到达根桥的最佳路径(Cost 是累加的,带宽大的链路Cost 低),最低Cost 值的路径就是根路径,该接口就是根口;如果Cost 值一样,再根据最低发送者桥ID、最低发送者端口优先级、最低发送者端口序列号(例:f0/3比f0/47优先级高)这个顺序选举根口。
根口可以转发数据包的。
交换机的其他接口还要决定是指定口还是阻断口,交换机之间将进一步根据上面的四个因素来竞争。
指定口是转发数据帧的。
剩下的其它的接口将被阻断,不转发数据包。
这样网络就构建出一棵没有环路的转发树。
当网络的拓扑发生变化时,网络会从一个状态向另一个状态过渡,重新打开或阻断某些接口。
交换机的端口要经过几种状态:禁用(Disable)、阻塞(Blocking)、监听状态(Listening)、学习状态(Learning)、最后是转发状态(Forwarding)。
3、实验拓扑图3:实验拓扑图图3中, S2、S3、S4为二层交换机,S1为三层交换机,但是这里并不利用其三层功能,所以它也采用二层交换机的图标。
4、实验步骤为了在网络中形成一个没有环路的拓扑,网络中的交换机要进行以下三个步骤:(1)选举根桥、(2)选举根端口、(3)选举指定端口。
选举根桥根桥:所有参与STP选举的网桥中,网桥ID最小的为根桥。
选举根桥是为了使网络中所有交换机达成一致的无环路拓扑。
网桥ID由网桥优先级和网桥的MAC地址组成,网桥ID越小的,BPDU 越优。
在最初始状态,所有参与STP选举的设备分别以自己为根网桥,发送BPDU,当各设备收到BPDU和自己发送的BPDU进行比较,如果收到的BPDU的网桥ID优先级高,则保存相应的BPDU配置,更新到更高网桥ID 优先级端口根路径开销后,以更新的BPDU信息继续向外扩散;如果收到的BPDU的网桥ID优先级比自己的低,则丢弃并发送自己更高优先级的BPDU进行回应。
BPDU进行比较时,先比较网桥优先级,如果网桥优先级相同,才比较MAC地址的大小。
读者可通过下图STP选举根网桥实例来简单理解STP在网桥优先级不同时是如何选举根网桥的。
图4:STP选举根网桥实例测试用例1测试目的:网桥优先级不相同时的根桥选举测试用例描述: S1网桥优先级设置为4096,S2、S3、S4优先级设置为默认(32768),S1为根桥。
预期结果:S1网桥优先级设置为4096,S2、S3、S4优先级设置为默认(32768),S1为根桥。
表网桥ID值网桥优先级MACS14096表预期根桥及各端口角色测试过程:步骤1:开启S1、S2、S3、S4的STP功能,并将生成树协议类型都配置为stpS1(config)#spanning-treeS1(config)#spanning-tree mode stpS1(config)#spanning-tree priority 4096S2 (config)#spanning-treeS2 (config)#spanning-tree mode stpS3 (config)#spanning-treeS3 (config)#spanning-tree mode stpS4 (config)#spanning-treeS4 (config)#spanning-tree mode stp步骤2:查看S1上STP树信息摘要S1(config)#sh spanning-tree summarySpanning tree enabled protocol stpRoot ID Priority 4096Address this bridge is rootHello Time 2 sec Forward Delay 15 sec Max Age20 sec//以上显示STP树的根桥信息,通过根桥的MAC 地址可以确定S1是根桥。
Bridge ID Priority 4096Address Hello Time 2 secForward Delay 15 sec Max Age 20 sec//以上显示该交换机的桥IDInterface Role Sts Cost Prio Type OperEdge---------------- ---- --- ---------- -------- --------------------Fa0/47 Desg FWD 200000 128 P2p FalseFa0/24 Desg FWD 200000 128 P2p False Fa0/3 Desg FWD 200000 128 P2p False//以上显示该交换机各个接口的状态测试结果:S1被选举为根桥。
结果分析:选举根桥时,比较BPDU中的网桥ID大小。
先比较网桥优先级,实验中网桥优先级不相同。
上表中,S1的网桥优先级4096为拓扑中的最小值,也即优先级最高,所以S1被选举为根桥。
测试用例2测试目的:网桥优先级相同,MAC地址不同时的根桥选举测试用例描述: S1、S2、S3、S4优先级都设置为默认,S4为根桥。
预期结果:S1、S2、S3、S4优先级都设置为默认,S4为根桥。
表网桥ID值表预期根桥及各端口角色测试过程:步骤1:配置S1网桥优先级为32768S1(config)#spanning-tree priority 32768步骤2:查看S1上STP树信息摘要S1(config)#sh spanning-tree summarySpanning tree enabled protocol stpRoot ID Priority 32768Address this bridge is rootHello Time 2 sec Forward Delay 15 sec Max Age20 sec//以上显示STP树的根桥信息,通过根桥的MAC 地址可以确定S4是根桥。
Bridge ID Priority 32768Address Hello Time 2 secForward Delay 15 sec Max Age 20 sec//以上显示该交换机的桥IDInterface Role Sts Cost Prio Type OperEdge---------------- ---- --- ---------- -------- --------------------Fa0/47 Altn BLK 200000 128 P2p False Fa0/24 Altn BLK 200000 128 P2p False Fa0/3 Root BLK 200000 128 P2p False//以上显示该交换机各个接口的状态测试结果:S4被选举为根桥。
结果分析:选举根桥时,比较BPDU中的网桥ID大小。
先比较网桥优先级,而实验中网桥优先级相同,都为默认(32768)。
网桥优先级相同时,比较网桥MAC大小。
实验中S4的网桥MAC:为拓扑中的最小值,优先级最高,所以S4被选举为根桥。
选举根端口根端口:非根网桥到根网桥的最低开销路径的端口选举根端口时,哪个交换机能获胜将取决于以下因素(按顺序进行):(1)最低的根桥ID由两部分组成:桥优先级(默认32768)和MAC地址图5:网桥ID的组成(2)最低的根路径代价图6:根路径成本的计算本实验中各种以太网类型的cost如下:100M: 200000 10M: 100 2000000(3)最低发送者桥ID也就是发送者的桥ID,判断规则同(1)中的一样(4)最低发送者端口ID由两部分组成:端口优先级(默认32)和端口序列号(例:f0/3比f0/47优先级高)图7:端口ID格式读者可通过图8中的STP根端口选举实例来形象理解下根端口选举过程。
图8:STP根端口选举实例测试用例1测试目的:最低的根路径代价的根端口选举测试用例描述:配置S1的网桥优先级值为4096,S1和S2的f0/3口的speed都强制为10M时,S2的f0/47为根端口。
预期结果:配置S1的网桥优先级值为4096,S1和S2的f0/3口的speed 都强制为10M时,S2的f0/47为根端口。
表各交换机网桥ID值网桥优先级MACS14096默认(32768)表 S2上端口cost值表各交换机RootCost值表预期S2各端口角色测试过程:步骤1:S1上生成树优先级配置为4096,S1和S2上的fa0/3速率都配置为10MbpsS1(config)#spanning-tree priority 4096S1(config-if-FastEthernet 0/47)#int fa 0/3S1(config-if-FastEthernet 0/3)#speed 10S2(config-if-FastEthernet 0/47)#int fa 0/3S2(config-if-FastEthernet 0/3)#speed 10步骤2:查看S2上STP树信息摘要S2#sh spanning-tree summarySpanning tree enabled protocol stpRoot ID Priority 4096Address this bridge is rootHello Time 2 sec Forward Delay 15 sec Max Age20 sec//以上显示STP树的根桥信息,通过根桥的MAC 地址可以确定S1是根桥。