STP、RSTP和MSTP

文章目录

  • STP生成树协议
    • 一、分层网络中冗余拓扑存在的问题
      • 1、广播风暴
      • 2、MAC表不稳定
      • 3、多播帧复制
    • 二、生成树协议
      • 选举根交换机
      • 选举根接口
      • 选举指定接口
      • 阻塞接口
    • 配置(华为交换机)
      • 1、启用STP并设置模式为STP:
      • 2、配置根桥:
      • 3、查看STP状态
      • 4、配置端口优先级
  • RSTP(Rapid Spaning Tree Protocol,快速生成树协议)
    • RSTP对STP的改进
      • 增加了端口角色
      • 减少了端口状态
      • BPDU报文
    • 快速收敛机制
      • 边缘端口(Edge Port)
    • RSTP拓扑变更
    • RSTP保护
  • MSTP多生成树协议

STP生成树协议

一、分层网络中冗余拓扑存在的问题

现实网络中,往往将网络分为接入层、汇聚层和核心层,这样的组网层次结构清晰,也便于维护和实施。但是一旦出现单点故障,故障发生在不同的层次上,其影响范围程度不一样。

如果网络分层设计中的交换机之间使用多条路线进行物理冗余配置,一旦发生网络的单点故障,用户可以启用备份链路继续访问网络资源,这将大大地提高网络的可用性和可靠性。但是由于交换机自身的学习和转发功能,交换网络的冗余设计又会带来二层环路问题,如广播风暴、MAC地址表不稳定和重复帧的复制。

1、广播风暴

交换机收到广播帧后,会从出了接收接口之外的其他所有接口转发出去,确保了同一广播与中所有设备都能收到这个广播帧,但如果网络出现环路,则会引起广播风暴问题。广播风暴时由于网络中的广播帧过多导致网络带宽被耗尽,正常的数据流无法使用带宽,造成网络服务中断,对网络危害极大。

2、MAC表不稳定

交换机在进行MAC地址表更新时,默认使用最新收到的MAC地址条目替换表中原有的条目,而交换机的这一“自学习”功能特点在环路中却可能引起MAC地址表的不断更新,最终导致MAC地址表的不稳定。

3、多播帧复制

单播帧在环路网络中也会出现问题,使目的地设备同时收到多个相同的单播帧几多播帧复制。

二、生成树协议

交换机通过运行生成树协议,通过STP算法,选择其环路中之一的支路,而阻塞另一支路接口,消除交换机二层环路存在的上述广播风暴、MAC地址不稳定和多播帧复制问题。

生成树协议(Spanning Tree Protocol,STP)在IEEE802.1d文档中定义。
生成树STP算法(STA):运行生成树STP的交换机相互之间传送桥协议数据单元(BPDU)报文协商、确定根网桥、根接口、指定接口、阻塞接口和接口之间状态的变化信息。

帮助交换机完成如下任务:

  • [ 1] 选举根网桥
  • [ 2] 选举根接口、指定接口
  • [ 3] 选举阻塞接口避免环路
  • [ 4] 见识生成树状态
  • [ 5] 向阻塞接口通告拓扑变化

根桥:生成树里面的树根(老大),桥ID最小
备份根桥:生成树里面的老二,老大出现故障的时候,顶替老大的位置,桥ID第二小。
非根交换机:其他交换机,都有一个根端口
根端口:路径花费最低的接口。
指定端口:根交换机所有接口都是指定接口,一个网段上有且只有一个指定接口,花费最小的接口。
非根非指定端口:被阻塞的端口—备用链路的端口
路径开销:是端口Cost值,可以用来选择最优的路径,值越小越优。根路径开销是端口到达根桥的过程中累计的路径开销。
BID:桥ID:是由桥优先级和桥MAC地址构成,桥优先级为高2B(16位),MAC地址是低6B(48位)

协议数据单元(BPDU)有两种类型,分别是配置BPDU和拓扑变更通知TCN BPDU。配置BPDU是在新建STP或STP稳定后,由根网桥周期性地发送给网络的,BPDU中包含STP的主要参数。TCP BPDU是当交换机的拓扑发生变化时产生的,主要作用是启用备份链路,最大限度地降低拓扑变化对网络运行的影响。
协议数据单元(BPDU)的报文格式较复杂,其中包括网络ID、协议ID、消息类型、根ID、路径开销、接口ID等字段。

网桥表示(BID)用于表示参与STP生成树的不同的交换机,由两部分组成:优先级(2B)和MAC地址(MAC)。
在不使用Extended System ID的情况下,BID由优先级和交换机的MAC地址组成,针对每个VLAN,交换机的MAC地址都不一样,交换机的优先级取值为0~65535,在使用Extended System ID的情况下,每个VLAN的MAC地址可以相同,现在的交换机普遍使用Extended System ID,拥有最小BID的交换机被选举为根交换机。

BID在STP选举根网桥交换机、根接口和指定接口等步骤中发挥着巨大的作用。

生成树算法需要考虑接口花费和路径花费。速度越开,花费即开销(Cost)或成本越小。

选举根交换机

根交换机相当于一棵树的树根,是整个无环网络的中心。
交换机之间通过发送BPDU来选举根交换机,具有最小桥表示BID值的交换机被选择为根交换机,每个广播域只能有一个根交换机。在STP启动后,网络中的交换机都假定自己是根交换机,并发送广播给相邻的交换机。如果交换机收到的BPDU信息中ROOT ID比自己的网桥ID数值更低,那它将不再发送BPDU信息。通过一段时间的交换,网络中只有唯一的一台交换机在持续发送BPDU信息。那么它将成为根交换机。

在整个网络中选举出一个根桥(通过BPDU),根桥会定期发送BPDU。
根桥的选举:比较桥ID(优先级和MAC地址),首先比较优先级,优先级相同,会比较MAC地址,越小越优。

选举根接口

每个非根交换机有且只有一个根接口,根接口的选择依照如下顺序
首先,路径花费最低的接口将成为根接口,若花费相同,比较发送者的BID,BID小的成为根接口。
其次,若发送这的BID相同,则比较发送者的接口表示(PID),发送者的PID较小的接口对应的本地交换机的接口成为根接口。
再次,如果发送者的PID相同,则接受者即本地交换机接口PID小的接口成为根接口。

每个非根交换机有且只有一个根接口。

首先比较路径花费最低的接口将成为根接口。若花费相同,比较发送者的BID(网桥标识),BID小的成为根接口。其次,若发送则比较发送则的接口标识(PID),发送者的PID较小的接口对应的本地交换机的接口成为根接口

选举指定接口

根交换机的所有接口都是指定接口,每个网段有且只有一个指定接口,网段通过该指定接口发送或接收信息。每个网段都有一个指定交换机,指定交换机上如果有多个接口,再从多个接口中选举出一个成为指定接口。
网段指定接口的选择按如下顺序:
首先,比较花费,花费较小的接口成为指定接口。
其次,若花费相同,则比较接受者的BID,BID小的交换机为指定交换机,其对应的接口为指定接口。
再次,若接受这的BID相同,则比较接受者的PID,接口表示PID小的成为指定接口

根交换机的所有接口都是指定接口。

每个网段有且只有一个指定接口,网段通过该指定接口发送或接受信息。

每个网段都有一个指定交换机,指定交换机上如果有多个接口,再从多个接口中选举出一个成为指定接口。

比较花费,花费较小的接口成为指定接口。若花费相同则比较接受者的BID(网桥标识),BID小的交换机为指定交换机,其对应的接口为指定接口。若接受者的BID相同,则比较接受者的PID。

阻塞接口

将网络中既不是根接口,也不是指定接口的其余接口进行逻辑阻塞,成为阻塞接口(备份接口),一旦网络出现故障,这些备份接口将重新启用,最大限度地保证网络的正常运行。

配置(华为交换机)

1、启用STP并设置模式为STP:

[Huawei] stp enable
[Huawei] stp mode stp

2、配置根桥:

将交换机SW1配置为根桥(修改优先级为最优)

[Huawei] stp priority 0

3、查看STP状态

[Huawei] display stp

4、配置端口优先级

[Huawei] interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1] stp port priority 16

RSTP(Rapid Spaning Tree Protocol,快速生成树协议)

RSTP执行802.1w协议。快速同步是RSTP的核心机制之一。RSTP通过快速同步机制,避免了旧版STP种的长延时等待过程。具体就是,当网络拓扑发生变化时,RSTP可以快速地将非边缘端口从阻塞状态转换为转发状态,而不需要经过STP协议中的监听和学习状态。

STP网络拓扑收敛慢
1、STP从初始状态(启动)到完全收敛(正常转发数据)至少需要30秒时间
2、STP网络链路故障,端口状态切换慢
3、终端链路参与STP网络运算,浪费网络资源
4、STP交换机端口角色偏少,角色转换缓慢
5、STP交换机状态偏多

RSTP对STP的改进

增加了端口角色

  1. 备用端口(Backup Port,BP)给指定端口做备份(DP),从用户流量角度,提供了另外一条从根节点到叶子节点的无环备份路径。
  2. 预备端口(Alternate Port,AP)给根端口做备份(RP),从用户流量角度,提供了从指定桥到根桥的另一条无环可达路径。

减少了端口状态

把STP中Disabled、Blocking和Listening合并成Discarding。不转发用户流量也不学习MAC地址。

BPDU报文

主要区别在协议版本ID。RSTP中没有TCN和TCA报文,在拓扑结构变化时只发送TC报文。
BPDU的处理:
非根桥设备每隔Hello Timer从指定端口主动发送配置BPDU,设备自主进行,无论非根桥设备是否接收到根桥传来的配置BPDU报文。
BPDU超时计时器为3个Hello Timer,不像STP那样需要先等待一个Max Age。
阻塞端口可以立即对收到的次级BPDU进行回应。

快速收敛机制

根端口快速切换机制:如果网络中一个根端口失效,那么网络中最优的Alternate端口将成为根端口,进入Foewarding状态。

P/A机制
Proposal/Agreement机制的目的是使一个指定端口尽快进入Forwarding状态。
P/A机制要求两台设备之间链路必须是点对点的全双工模式。
一旦P/A协商不成功,指定端口的选择就需要等待两个Forwarding Delay,协商过程和STP一样。
两台交换机(SWA、SWB)同时向对方发送BPDU(都假设自己是根桥),这时优先级小的设备(假设为SWB)会给SWA发送 A置位BPDU(同意对方为根桥),同时阻塞出了边缘端口之外的所有端口(来保证不会同时收到和恢复另一台设备的BPDU),并将此接口设置为根端口(Forwading)。SWA收到来自SWB的A置位的BPDU。把当前接口设置为Forwarding状态。不需要等待计时器。

次等BPDU处理机制
RSTP处理次等BPDU报文不再依赖于任何定时器超时解决拓扑收敛,而是会立即发送本地最优的BPDU给对端,从而加快了拓扑收敛。

边缘端口(Edge Port)

在RSTP中,交换机连接终端的链路可立即进入转发状态:

  • 直接与用户主机相连
  • 可直接进入转发状态,无需延迟,不会出发拓扑变更
  • 收到BPDU则变为普通端口
[Huawei] interface g0/0/3
[Huawei-GigabitEthernet0/0/3] stp edged-port enable 

RSTP拓扑变更

拓扑变更机制的优化:
判断拓扑变化唯一标准是一个非边缘端口迁移到Forwarding状态。
网络发生拓扑变化时,变更点交换机直接向全网发送TC置位,而不是先通知根桥,然后由根桥向全网发送TC报文,这样一定程度上节省了收敛时间。

拓扑变化处理
清空状态发生变化的端口上学习到的MAC地址,同时由这些端口向外发送RST BPDU,其中TC置位,一旦TC While Timer超时,则停止发送RST BPDU

RSTP保护

1、BPDU保护
BPUD保护主要是针对边缘端口,当边缘端口接入一个STP交换机时会触发BPDU收敛,会发生网络震荡,次有路径等现象。当边缘端口配置了BPDU保护机制后,在其收到BPDU后,该接口会成为down的状态,端口角色变成DP,端口状态变成discarding。

如果需要恢复接口状态,可以用手动方式,在接口上通过命令让接口up(【接口】undo shutdown),还可以用自动方式重启接口状态,命令为:【全局】error-down auto-recovery cause bpdu-protection interval 30 其含义为:将因BPDU保护所致的err-down状态会在30s后自动恢复up

BPDU保护的配置命令:

# 全局开启边缘端口
stp edged-port default
# 接口开启边缘端口
stp edged-port enable
# 全局开启BPDU保护功能,只针对边缘端口有效
stp bpdu-protection

2、根保护
跟保护的作用对象主要是DP角色的端口,其主要作用是强制一个接口永远是指定端口。 防止周围的交换机成为根桥。当一个接口开启根保护以后,一旦收到了更优的BPDU,那么接口角色不变,接口状态变为discarding。当接口不在收到更优的BPDU之后,将会进入到正常的STP收敛过程,理论上经过2个转发时延恢复转发状态

# 根保护只能在接口视图下配置
[接口视图]stp root-protection

MSTP多生成树协议

RSTP在STP基础上进行了改进,实现了网络拓扑快速收敛。但无法在VLAN间实现数据流量的负载均衡,导致链路带宽利用率、设备资源利用率低。
生成树不是基于VLAN运行的,而是基于Instance(实力)运行的。
MSTP可以将一个或多个VLAN映射到一个Instance,在基于Instance计算生成树,映射到同一个Instance的VLAN共享一个生成树。
配置

[Huawei]stp enable
[Huawei]stp mode mstp
[Huawei]stp region-configuration    //进入MSTP域视图
[Huawei-mst-region]region-name hcip    //MSTP域名为hcip
[Huawei-mst-region]revision-level 1    //MST修订级别为1,默认为0
[Huawei-mst-region]instance 1 vlan 10 30 50 70  //实例1关联 vlan 10 30 50 70
[Huawei-mst-region]instance 2 vlan 20 40 60 80  //实例2关联 vlan 20 40 60 80
[Huawei-mst-region]active region-configuration  //激活MST域的配置
[Huawei]stp instance 1 root primary        //实例1的根网桥
[Huawei]stp instance 2 root secondary      //实例2的备用根网桥

你可能感兴趣的:(网络工程,网络)