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

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

二层环路带来的问题


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


STP的典型应用


在一个复杂的网络中,网络规划者由于冗余备份的需要,一般都倾向于在设备之间部署多条物理链路,其中一条作主用链路,其他链路作备份。这样就难免会形成环形网络,若网络中存在环路,可能会引起广播风暴和MAC表项被破坏。

在网络中部署STP协议,通过彼此交互信息发现网络中的环路,并有选择的对某个端口进行阻塞,最终将环形网络结构修剪成无环路的树形网络结构,从而防止报文在环形网络中不断增生和无限循环,避免设备由于重复接收相同的报文造成处理能力下降。


STP vs RSTP vs MSTP

STP包含两种含义:


狭义的STP是指IEEE 802.1D中定义的STP协议。

广义的STP包括IEEE 802.1D中定义的STP、IEEE 802.1W中定义的快速生成树协议RSTP(Rapid Spanning Tree Protocol)和IEEE 802.1S中定义的多生成树协议MSTP(Multiple Spanning Tree Protocol)。

目前,生成树协议支持如下:


STP是基础的数据链路层的管理协议,用于二层网络的环路检测和预防。但是,STP拓扑收敛速度慢。


RSTP在STP基础上进行了改进,实现了网络拓扑快速收敛。但RSTP和STP还存在同一个缺陷:局域网内所有的VLAN共享一棵生成树,不能按VLAN阻塞冗余链路,所有VLAN的报文都沿着一棵生成树进行转发。

MSTP通过设置VLAN映射表(即VLAN和生成树实例的对应关系表),把VLAN和生成树实例联系起来。同时它把一个交换网络划分成多个域,每个域内形成多棵生成树实例,生成树实例之间彼此独立。MSTP提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN数据的负载均衡。

生成树协议中,MSTP兼容RSTP、STP,RSTP兼容STP。三种生成树协议的比较


生成树协议

特点

应用场景

STP

形成一棵无环路的树,解决广播风暴并实现冗余备份。收敛速度较慢

无需区分用户或业务流量,所有VLAN共享一棵生成树。

RSTP

形成一棵无环路的树,解决广播风暴并实现冗余备份。收敛速度快

无需区分用户或业务流量,所有VLAN共享一棵生成树。

MSTP

形成多棵无环路的树,解决广播风暴并实现冗余备份。收敛速度快。多棵生成树在VLAN间实现负载均衡,不同VLAN的流量按照不同的路径转发。

需要区分用户或业务流量,并实现负载分担。不同的VLAN通过不同的生成树转发流量,每棵生成树之间相互独立

目录
相关文章
|
12天前
|
负载均衡 网络协议 算法
|
3天前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
20 3
|
3天前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
13 2
|
6天前
|
网络虚拟化
生成树协议(STP)及其演进版本RSTP和MSTP,旨在解决网络中的环路问题,提高网络的可靠性和稳定性
生成树协议(STP)及其演进版本RSTP和MSTP,旨在解决网络中的环路问题,提高网络的可靠性和稳定性。本文介绍了这三种协议的原理、特点及区别,并提供了思科和华为设备的命令示例,帮助读者更好地理解和应用这些协议。
18 4
|
14天前
|
网络协议 安全 Go
Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
【10月更文挑战第28天】Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
43 13
|
14天前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
15天前
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
17天前
|
网络协议 安全 NoSQL
网络空间安全之一个WH的超前沿全栈技术深入学习之路(8-2):scapy 定制 ARP 协议 、使用 nmap 进行僵尸扫描-实战演练、就怕你学成黑客啦!
scapy 定制 ARP 协议 、使用 nmap 进行僵尸扫描-实战演练等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
网络空间安全之一个WH的超前沿全栈技术深入学习之路(8-2):scapy 定制 ARP 协议 、使用 nmap 进行僵尸扫描-实战演练、就怕你学成黑客啦!
|
1月前
|
网络协议 数据安全/隐私保护 网络虚拟化
【网络实验】/主机/路由器/交换机/网关/路由协议/RIP+OSPF/DHCP(下)
【网络实验】/主机/路由器/交换机/网关/路由协议/RIP+OSPF/DHCP(下)
50 0
|
3月前
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。