99%的面试官都会问到交换网络里面冗余和破环的STP协议

目录

@[TOC]

二层环路带来的问题

  • 1、广播风暴:交换机CPU利用率飙升
  • 2、MAC地址飘逸:每一次MAC地址表都会变化

单点故障解决方案之STP

  • STP-生成树协议,无环路

  • STP是一个用于局域网中消除环路的协议

  • 基本概念 :根桥,Cost开销,RPC根路径开销,BPDU

STP生成树协议

生成树概述:

  • 1、STP是一个用于局域网中消除环路的协议

  • 2、运行该协议的设备通过彼此交互信息而发现网络中的环路,并==对某些接口进行阻塞以消除环路==

  • 3、STP在网络中运行后会持续监控网络的状态,当网络出现拓扑变更时,STP能够进行感知并可以制动响应,从而使网络状态适应新的拓扑结构,保证网络的可靠性

  • 4、由于局域网规模的不断增长,生成树协议成为了当前最重要的局域网协议之一

STP生成树的作用

  • 生成树能动态响应网络拓扑变化调整阻塞接口

  • 生成树既可以做到防止二层交换机的环路,又可以做到提高网络的冗余性

基本概念 :

根桥,Cost开销,RPC根路径开销,BPDU

根桥

  • 1、根桥是一个STP交换网络中的树根

  • 2、STP开始工作以后,会在交换网络中选举一个根桥,根桥是生成树进行拓扑计算的重要“参考点”,是STP计算得出的无环拓扑的树根

  • 3、在STP网络中,桥ID最小的设备会被选举为根桥

    在BID的比较过程中,==首先比较桥优先级,优先级的值越小,则越优先,拥有最小优先级值的交换机会 成为根桥;如果优先级相等在比较MAC地址,拥有最小MAC地址的交换机会成为根桥。

STP的计算过程

1、选举根桥
网络初始化时,网络中所有的STP设备都认为自己是“根桥”,根桥ID为自身的设备ID。通过交换BPDU消息,设备之间比较根桥ID,网络中根桥ID最小的设备被选为根桥。根桥上的所有端口都是转发状态。

2、选举根接口
非根桥设备将接收最优配置消息的那个端口定为根端口,根端口也是处于转发状态。

3、选举指定接口

  • 设备根据根端口的配置消息和根端口的路径开销,为每个端口计算一个指定端口配置消息,然后将计算出的配置消息与角色待定端口自己的配置消息进行比较。

  • 如果计算出的配置消息更优,则该端口被确定为指定端口,其配置消息也被计算出的配置消息替换,并周期性地向外发送;

  • 如果该端口自己的配置消息更优,则不更新该端口的配置消息并将该端口阻塞。该端口将不再转发数据,且只接收不发送配置消息

4、阻塞非指定接口

剩下的就是阻塞接口

一旦根桥、根端口和指定端口选举成功,整个树形拓扑就建立完毕了。在拓扑稳定后,只有根端口和指定端口转发流量,其他的非根、非指定端口都处于阻塞(Blocking)状态,它们只接收STP协议报文而不转发用户流量。下面结合例子说明STP算法实现的具体过程。

图片说明

启动STP

  • 1.执行命令system-view,进入系统视图。

  • 2.执行命令stp mode stp,配置交换设备的STP模式。

  • 3.缺省情况下,交换机运行MSTP模式,MSTP模式兼容STP和RSTP模式。

  • 4.(可选)配置根桥和备份根桥

  • 5
    a.在欲配置为根桥的设备上执行命令:stp root primary,配置当前设备为根桥设备。
    b.在欲配置为备份根桥的设备上执行命令:stp root secondary,配置当前设备为备份根桥设备。

  • 6.(可选)执行命令stp priority priority,配置交换设备在系统中的优先级。

  • 7.缺省情况下,交换设备的优先级取值为32768。其值的步长为4096,如0、4096、8192等。数值越小,优先级越高,成为根桥的可能性越大。对于网络中部分性能低、网络层次低的交换设备,不适合作为根桥设备,一般会配置其低优先级以保证该设备不会成为根桥。

  • 8.(可选)执行命令stp pathcost-standard { dot1d-1998 | dot1t | legacy },配置端口路径开销计算方法。

  • 9.缺省情况下,路径开销值的计算方法为IEEE 802.1t(dot1t)标准方法。同一网络内所有交换设备的端口路径开销应使用相同的计算方法。

  • 10.(可选)配置端口路径开销值及优先级

  • 11
    a.执行命令interface interface-type interface-number,进入参与生成树协议计算的接口视图。
    b.执行命令stp cost cost,设置当前端口的路径开销值。
    存在环路的网络环境中,对于链路速率值相对较小的端口,建议将其路径开销值配置相对较大,以使其在生成树算法中被选举成为阻塞端口,阻塞其所在链路。
    c.执行命令stp port priority priority,配置端口的优先级。
    缺省情况下,交换设备端口的优先级取值是128。
    d.如果希望将某交换设备的端口阻塞从而破除环路,则可将其端口优先级设置比缺省值大,使得在选举过程中成为被阻塞的端口。
    e.执行命令quit,退回系统视图。

  • 12.执行命令stp enable,使能交换设备的STP功能。

  • 13.执行命令commit,提交配置。

配置STP示例

以下图的组网环境为例,介绍STP的配置步骤、查看配置结果。
图片说明
1.在SwitchA上配置生成树协议为STP模式,配置SwitchA为根桥,路径开销计算方法为华为私有计算方法。

<SwitchA> system-view
[~SwitchA] stp mode stp
[*SwitchA] stp root primary
[*SwitchA] stp pathcost-standard legacy
[*SwitchA] commit

2.在SwitchB上配置生成树协议为STP模式,配置SwitchB为备份根桥,路径开销计算方法为华为私有计算方法,并关闭与Server2相连端口的STP功能。

<SwitchB> system-view
[~SwitchB] stp mode stp
[*SwitchB] stp root secondary
[*SwitchB] stp pathcost-standard legacy
[*SwitchB] interface 10ge 1/0/2
[*SwitchB-10GE1/0/2] stp disable
[*SwitchB-10GE1/0/2] commit

3.在SwitchC上配置生成树协议为STP模式,路径开销计算方法为华为私有计算方法,接口10GE1/0/1的路径开销值为20000,并关闭与Server1相连端口的STP功能。

<SwitchC> system-view
[~SwitchC] stp mode stp
[*SwitchC] stp pathcost-standard legacy
[*SwitchC] interface 10ge 1/0/1
[*SwitchC-10GE1/0/1] stp cost 20000
[*SwitchC-10GE1/0/1] quit
[*SwitchC] interface 10ge 1/0/2
[*SwitchC-10GE1/0/2] stp disable
[*SwitchC-10GE1/0/2] commit

4.在SwitchD上配置生成树协议为STP模式,路径开销计算方法为华为私有计算方法。

<SwitchD> system-view
[~SwitchD] stp mode stp
[*SwitchD] stp pathcost-standard legacy
[*SwitchD] commit

5.环网中所有设备均使能STP。以SwitchA为例,在SwitchB、SwitchC和SwitchD上执行相同的操作。

[~SwitchA] stp enable
[*SwitchA] commit

6.验证配置结果。待网络稳定后,可以执行display stp brief查看端口角色和端口状态等信息,以SwitchA为例:

[~SwitchA] display stp brief
 MSTID  Port                        Role  STP State    Protection      Cost    Edged
     0  10GE1/0/1                   DESI  forwarding    none              2     disable
     0  10GE1/0/2                   DESI  forwarding    none              2     disable
#网络安全##华为面试#
全部评论
好开心啊,学到东西了
点赞 回复 分享
发布于 2022-08-13 18:44

相关推荐

牛客79969855...:简历上面只有实习的话,面试官应该会深挖你的实习,你能应对自如就行,但是被拆穿了会很尴尬,然后就找下一个吧
点赞 评论 收藏
分享
评论
2
4
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务