交换机生成树——STP

馋奶兔 提交于 2021-02-16 05:43:24

STP(Spanning Tree Protocol)是用来避免数据链路层出现逻辑环路的协议(现实中,我们为了给通信做备份,交换机之间多条链路互连 有些物理环路是无法避免的)

STP是交换机的功能::交换机之间多条链路互连时,造成环路,,环路会引起 广播风暴,

网络中的主机会收到重复数据帧,,而STP通过阻塞端口,,来消除网络环路,并实现链路备份的作用。

STP配置的过程:

1.交换机上运行的STP通过BPUD信息的交互,选择跟交换机,(BPUD包括桥ID、路径开销、端口ID、计时器参数。

2.然后每台非交换机选择与跟交换机通信的根端口,

3.之后,每个网段选择用来转发数据至跟交换机的指定端口,

4.最后剩余端口被阻塞

非根桥(ALTE:替代(阻塞)端口,DESI:指定端口,ROOT:指定端口)

接下来,通过实验来进一步了解:

 

 

 

 实验拓扑:

 

实验步骤:

  1.基本配置

根据实验拓扑图,,在交换机上启用STP(华为交换机默认启用MSTP),将交换机的STP模式更改为普通生成树STP。

 

 S2、S3、S4同S1。

配置完成后,默认情况下虚等30s(生成树重新计算的时间15s Forward Delay加上15s Learning状态时间),在使用display stp命令查看S1的生成树状态。

 

 

 

 可以看到S1的E 0/0/1端口为丢弃状态、端口角色Alternate,即替代端口,,E 0/0/2端口为转发状态、端口角色为ROOT(根端口)

还可以使用display stp brief命令在S2,S3,S4上仅查看摘要信息。

 

 在交换机S2上所有端口 为转发状态,,观察到E 0/0/1和E 0/0/3端口角色为指定端口,,

E 0/0/2位根端口,

 

 在交换机S3上  所有端口,角色都为指定端口,,且端口状态都为转发。

 

 交换机S4上 E 0/0/2端口角色为Altenate端口,,且状态为丢弃状态,,该端口将不会转发数据流量。

可以初步判定4台交换机中S3为根交换机,应为该交换机所有端口都为指定端口。

根网桥上没有根端口,,,非根桥上才有

 通过display stp命令查看生成树详细信息

 看到“CIST Root”和 “CIST Bridge”相同,即目前根交换机与自身的交换机ID相同,,说明S3为根交换机。

生成树运算第一步就是通过比较每台交换机的ID选举跟交换机。

交换机ID有交换机优先级和MAC地址组成,,首先比较交换机优先级,,数值最低的为根交换机;若优先级相同(我们这4台交换机的生成树刚刚开始运行,,都为默认值32768)则会比较MAC地址,,同样是数值最低的选举为根交换机

  2.配置网络中的根交换机

跟交换机在网络中的位置是非常重要的,,若选择了性能较差的交换机,或者是部署在接入层的交换机作为跟交换机,,,会影响整个网络的通信质量及数据传输。

根交换机的选择依据是::根交换机ID,,数值越小越优先,默认值为32768,可修改。

现在将S1配置为主根交换机,,S2为备份根交换机,,将S1的优先级改为0,S2的优先级该为4096

 

 

 

 配置完后查看S1和S2的STP状态信息

 

 

 通过观察发现S1的优先级变为啦0,,为跟交换机;;而S2的优先级变成啦4096,为备份交换机。

这里还有另一种方式配置主根交换机和备份交换机,

首先删除S1上所配置的优先级,,再使用stp root primary命令,

S2上删除后,使用stp root secondary

 

 

配置完后,,查看STP状态信息,与一种方法的得到的一致,,此时S1自动更改优先级为0,而S2更改为4096

 

 

 其中CIST Bridge是自身交换机,,,,,CIST Root/ERPC 是根交换机

   3.理解根端口的选举

生成树在选择出跟交换机之后,,将在每台非根交换机上选择根端口,,,选择时首先比较该交换机上每个端口到达跟交换机的  根路径开销,,路径开销最小的端口将成为根端口。如果根路径开销值相同,,则比较每个端口所在链路上的上行交换机ID,,如果该交换机ID 也相同,,则比较每个端口所在链路上的上行端口ID。每台交换机上只能拥有一个根端口。

根端口的比较:到达根交换机的路径开销——端口所在链路上的上行交换机ID——端口所在链路上的上行端口ID。

  目前S1为主根交换机,而S2为备份根交换机,查看S4上生成树信息。

 

 可以看到,,S4的 E 0/0/2为根端口,,状态为转发状态。S4在选举根端口时,,首先比较根路径开销,,由于拓扑中所有链路都是相同的百兆以太网链路,,S4经过S3到S1与经过S2到S1的开销值相同;接下来比较S4的两台上行链路的交换机S2和S3的交换机标识,,S2目前的交换机优先级为4096,,而S3为默认的32768,,所以与S2连接的

E  0/0/2接口被选为根端口。。

查看S4的E 0/0/2接口开销值。

 

 

 可以看到,,接口路径开销采用的是Dot1T的计算方法,,Config是指手工配置的路径开销,,Active是实际使用的路径开销,,开销值为1。

配置S4的E 0/0/2接口的代价值为2000,减少该接口默认的代价值。

 

 配置完后再次查看S4的E 0/0/2接口开销值。

 

 同样的将E 0/0/1端口的默认代价值修改为200 000。

 

 这时,查看STP状态的摘要信息

 

发现此时E 0/0/1端口变成了根端口,,而E0/0/2变成啦 Alternate端口。。这时由于在选举根端口时,,其到根路径大于E 0/0/1的根路径开销。

  4.理解指定端口的选举

生成树协议在每台非根交换机选择出根端口之后,将在每个网段上选举指定端口,,选择的比较规则和选择根端口类似。

现在网络管理员需要确保S2连接S3的E0/0/3接口被选择为指定端口,,可以通过修改端口开销值来实现。

为了模拟该场景,,将S2的优先级恢复为默认的32768

 

查看S2的STP状态信息

 

 查看S2与S3的STP状态摘要信息。

 

 

通过观察发现在S2与S3间的链路上,,,选择啦S3的E 0/0/3位指定端口,,而S2的E 0/0/3为Alternate(替代)端口。。这是由于在选举指定端口时,,首先比较两个端口的根路径开销,,目前相同,接着比较上行交换机的ID,,此时S2和S3的交换机优先级相同,,故比较MAC地址,,最后通过比较MAC地址得出。

查看S2和S3的接口信息。

 

 

看到S2上E 0/0/3接口的MAC地址大于S3的,,,所以该网段上的S3E 0/0/3接口为指定接口。

修改S3的 E0/0/2接口的开销值,,将该值曾达(默认为200 000),,即增大该端口上的根路径开销值,确保S2的E 0/0/3接口成为指定端口。

 

 配置完后查看S2的STP状态摘要信息。

 

根据STP计算规则选择指定端口时,,最终选择S2的 E0/0/3接口作为指定端口。

为啦验证现在能够确保S2的E 0/0/3成为指定端口,西面将S3 的优先级调整为4096,并查看

 

 再次查看S2和S3的STP状态

 可以看到,即使将S3的优先级修改的比S2的优先级值更低,,但是S2的E 0/0/3接口仍然为指定端口,,而S3的E 0/0/3接口还是Alternate端口,,再次验证啦选举指定端口时首先比较根路径开销规则。

思考:

 解答:当进行生存树BPUD比较是,,根桥ID、开销值、发送桥ID前三个参数依次都相同时,,这时就需要比较发送者的端口ID。

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!