RSTP和MSTP

似梦清欢
• 阅读 90

STP回顾

RSTP和MSTP

RSTP和MSTP


RSTP

RSTP的所有改变都是为了更快速的收敛网络。 RSTP对STP做的优化:

  1. 端口角色
  • AP:代替端口,是RP的备份。 AP端口是由于学习到其它网桥发送的配置BPDU报文而阻塞的端口。

  • BP:备份端口,是DP的备份。 BP端口是由于学习到自己发送的配置BPDU报文而阻塞的端口。

  1. 端口状态 将disable、blocking、listening三种状态合一变为discarding。(都不转发数据) RSTP和MSTP
  2. BPDU类型
  • STP有配置BPDU(STP只使用flag字段的TC bit和TCA bit)和TCN BPDU。
  • RSTP只存在RST BPDU(Flag字段的8bit全部使用): RSTP和MSTP
  • 上述4、5两个bit做端口状态的描述、2、3两个bit做端口角色的描述,1、6两个bit用于P/A机制。*

    BPDU报文分为: 配置BPDU:STP用来进行生成树计算和维护生成树拓扑的报文。 RST BPDU:RSTP用来进行生成树计算和维护生成树拓扑的报文。 MST BPDU:MSTP用来进行生成树计算和维护生成树拓扑的报文。 TCN BPDU:网络拓扑发生变化时用来通知相关设备的报文。 ::: tip Port Role:

  • 00 :没有该端口角色
  • 01 :AP或BP
  • 10 :RP
  • 11 :DP :::
  1. BPDU的处理
  • 发送处理
    **1.STP:只有根桥发送。**
    **2.RSTP:每台都会独立发送。**
  • BPDU超时
    **1.STP:20s老化。**
    **2.RSTP:Hello Time(2s) × 3 × Timer Factor = 18s老化。** 
    (Timer Factor默认为3,可以手动修改。)
  • 次优BPDU的处理
    **1.STP:不处理,等待接口BPDU老化。**
    **2.RSTP:直接向对端发送接口上最好BPDU。**
  1. 收敛机制
  • 端口快速切换
    **1.STP:不存在。**
    **2.RSTP:在RP端口失效后,可以将AP端口无缝切换为RP端口,BP端口无缝切换为DP端口。**
  • 边缘端口(EP)
    **1.STP:借用使用。**
    **2.RSTP:通过设置边缘端口,使得终端设备快速接入网络。**
  • P/A机制
    **1.STP:不存在。**
    **2.RSTP:封锁下行链路,同时判断上行链路不存在环路,将上行链路进入转发状态,由下行交换机继续判断上行链路是否可以放行。** (上行没有环路时,下行可以做P/A机制。)
    RSTP和MSTP

RSTP和MSTP 上图中SW1和SW2选择DP和RP完毕后,SW2的RP进入阻塞,上行SW1的DP端口下发一个P置位的BPDU,使得SW2进入同步置位(SYN),进行端口同步(SW2临时阻塞除边缘端口外的全部端口),然后SW2上行端口RP进入转发状态,回复SW1 A置位的BPDU,SW1的DP收到后进入转发状态。SW2阻塞的下游DP端口放开,依次向下进行P/A操作。 RSTP和MSTP ::: tip RSTP和MSTP 上述拓扑中,所有链路都应进行P/A的交互,导致链路全部阻塞。实际上第一次P/A机制解决的只有和根桥相连的两条链路。SW2和SW3相连的链路两端都被阻塞,开始转发根桥的BPDU(将BPDU内根桥的RID字段设成SW1的BID),选出最优的,当SW2为AP,SW3为DP时,SW2和SW3相连的链路就没有了P/A机制,只能等待30s转发延迟来收敛。 ::: 文档解释: RSTP和MSTP RSTP和MSTP

  1. 拓扑变更机制
  • STP:发生变更的设备,需要发送TCN BPDU给根桥,根桥发送TC BPDU,刷新拓扑。
  • RSTP:发生变更的设备,在非边缘指定端口和根端口上直接清除MAC地址,启动TC While time计时器,在4s(2个hello time)内发送TC置位的RST BPDU。收到RST BPDU的设备, 除了收到的接口外,其他所有非边缘指定端口和根端口,都直接清除MAC地址,启动TC While time计时器,在4s(2个hello time)内发送TC置位的RST BPDU,重复上述操作直到全网收敛。
  1. 保护机制
  • STP:不存在。
  • RSTP: 1.BPDU保护:保护边缘端口(EP)。 如果边缘端口收到RST BPDU,边缘端口将被error-down,但是边缘端口属性不变,同时通知网管系统。 2.根保护:保护指定端口(DP)。 指定端口收到优先级更高的RST BPDU时,端口将进入Discarding状态,不再转发报文。经过一段时间(通常为两倍的Forward Delay,即30s),如果端口一直没有再收到优先级较高的RST BPDU,端口会自动恢复到正常的Forwarding状态。
    **3.环路保护:保护AP、RP端口。** 如果AP和RP长时间(一个转发延迟时间)收不到上游的BPDU,将端口进入阻塞状态,且RP会切换为DP。收到上游的BPDU后,端口会恢复为原来的角色和状态。
    **4.TC-BPDU保护:保护所有端口。** 在收到大量TC-BPDU时,影响交换机性能,可以配置一个阈值,将超过阈值的TC-BPDU报文当作一个报文来计算。(TC-BPDU即TC置位的RST BPDU)

MSTP

STP/RSTP:

  1. 计算单生成树,链路带宽得不到利用,浪费设备资源。
  2. 对于流量转发,容易出现次优路径 。

MSTP:

  1. 计算多个生成树。
  2. 每棵生成树由不同的实例来指定,每一个实例会阻塞不同接口。

MSTP:多生成树。分为多实例生成树和多域生成树。(多域生成树包含多实例生成树)

::: tip MSTP把一个交换网络划分成多个域,每个域内形成多棵生成树,生成树之间彼此独立。 每个域叫做一个MST域,每棵生成树叫做一个多生成树实例MSTI。

一个交换网络可以划分多个MST域。 一个MST域,可以划分多个MSTI实例。 (MSTI使用Instance ID标识,华为设备取值为0~48) :::

MSTP基本概念

  1. MSTI:多生成树实例 每一个域内都会存在多实例生成树,实例取值是0-48。 每一个实例都可以选择不同根桥(每一个实例都是一个单生成树)。 VLAN和实例相互映射:

    • 一个VLAN只能映射一个实例。
    • 一个实例可以映射多个VLAN。
  2. CST:公共生成树 将每一个域看作一台交换机。域与域之间通过STP计算,阻塞接口,以此形成CST。

  3. IST:内部生成树 是每个域内实例ID为0的生成树。

  4. CIST:公共内部生成树 将CST和IST进行连接,域间用CST,域内用IST。

  5. SST:单生成树 一个MST域中只有一台交换设备,该设备称为SST。 连接了运行STP或RSTP的设备,设备称为SST。


总根:在MSTP网络内(所有域中),优先级设备最高的设备。 域根:在MSTP域内,多实例的根桥。

  1. MSTI = 0,(IST)去往总根最近的设备为域根。
  2. MSTI != 0,通过BID计算最优的设备(优先级+mac地址)。

主桥:IST内的设备去往总根最近的设备。 如果总根在MST域中,则总根为该域的主桥。 ::: tip MSTI实例 = 0 又叫IST。 :::

MSTP的端口角色

 除了DP、RP、AP、BP、EP以外,MSTP还增加了Master端口和域边缘端口。 RSTP和MSTP RSTP和MSTP RSTP和MSTP

  • Master端口:每一个域(除了总根所在的域)都会存在一个Master端口。
       **1.是特殊的域边缘端口。**
       **2.是域内报文去往总根的必经之路。**
       **3.在MSTI = 0 ,该端口为RP端口。**
       **4.在MSTI != 0 ,该端口为Master端口。**
  • 域边缘端口:连接其他域的端口。(DP或者AP)

MSTP的端口状态和RSTP相同。 RSTP和MSTP

MSTP拓扑计算

RSTP和MSTP 外部路径开销是域间开销值。

RSTP和MSTP 交换机默认是MSTP模式。

[SW1]stp region-configuration    stp域配置(默认为空)
[SW1-mst-region]active region-configuration    激活域配置
[SW1-mst-region]revision-level 1234    设置修订级别

如上,在做了域配置后,需要激活域配置。

::: tip 只要两台交换设备的以下配置相同,这两台交换设备就属于同一个MST域:

  • MST域的域名。
  • 多生成树实例和VLAN的映射关系。
  • MST域的修订级别。

在域名和VLAN映射表相同的情况下,可通过执行命令revision-level配置修订级别,从而区分不同的MST域。 :::

[SW5-mst-region]instance ?
  INTEGER<0-48>  Identifier of spanning tree instance
[SW5-mst-region]instance 1 vlan 100
[SW5-mst-region]instance 2 vlan 200

接口放行所有vlan:
[SW5-GigabitEthernet0/0/1]port link-type trunk
[SW5-GigabitEthernet0/0/1]port trunk allow-pass vlan all     
[SW5-GigabitEthernet0/0/2]port link-type trunk 
[SW5-GigabitEthernet0/0/2]port trunk allow-pass vlan all 

RSTP和MSTP 上图中MSTID为多实例ID。 如上是多实例在多域场景下端口表示,和总根相连的端口为MASTER端口,与其他设备相连的端口为域边缘端口。


RSTP和MSTP 使用多实例完成PC1-PC3,PC2-PC4通信。PC1-PC3通信时,阻塞SW2-SW3的链路,PC2-PC4通信时,阻塞SW1-SW3的链路。SW1-SW2做备份路径。

VLAN底层配置:

连接终端:
[SW1-GigabitEthernet0/0/3]port link-type access
[SW1-GigabitEthernet0/0/3]port default vlan 10

[SW2-GigabitEthernet0/0/3]port link-type access 
[SW2-GigabitEthernet0/0/3]port default vlan 20

[SW3-GigabitEthernet0/0/5]port link-type access 
[SW3-GigabitEthernet0/0/5]port default vlan 10    
[SW3-GigabitEthernet0/0/6]port link-type access     
[SW3-GigabitEthernet0/0/6]port default vlan 20

交换机互联:
[SW1-GigabitEthernet0/0/1]port link-type trunk 
[SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan 10
[SW2-GigabitEthernet0/0/1]port link-type trunk 
[SW2-GigabitEthernet0/0/1]port trunk allow-pass vlan 20 

[SW3-GigabitEthernet0/0/1]port link-type trunk 
[SW3-GigabitEthernet0/0/1]port trunk allow-pass vlan 10
[SW3-GigabitEthernet0/0/2]port link-type trunk
[SW3-GigabitEthernet0/0/2]port trunk allow-pass vlan 20

SW1-SW2做备份路径:
[SW1-GigabitEthernet0/0/2]port link-type trunk
[SW1-GigabitEthernet0/0/2]port trunk allow-pass vlan all 
[SW2-GigabitEthernet0/0/2]port link-type trunk 
[SW2-GigabitEthernet0/0/2]port trunk allow-pass vlan all 

多实例映射VLAN:

[SW3-mst-region]instance 1 vlan 10
[SW3-mst-region]instance 2 vlan 20
[SW3-mst-region]active region-configuration 
域内设备的域配置需要相同,SW1、SW2做同样配置

由于SW1只有VLAN 10,SW2只有VLAN 20,通过接口VLAN配置实现数据隔离,没有通过MSTP生成树。 在SW1-SW3和SW2-SW3链路上全部放开VLAN 10和VLAN 20后,实现数据隔离就只能通过MSTP。

分析: 保证VLAN 10的正常通信时,SW1作为根桥,SW2作为备份根桥,SW3会优选直连SW1。 保证VLAN 20的正常通信时,SW2作为根桥,SW1作为备份根桥,SW3会优选直连SW2。 通过更改优先级,可以指定路由器成为根桥或者备根桥。

[SW1]stp priority    修改设备优先级
[SW1]stp instance    单独修改实例内的优先级(0-48)
[SW1]stp instance 1 ?
  priority      指定设置的优先级
  root          直接设置为根桥(最高优先级)
[SW1]stp instance 1 root ?
  primary       根交换机
  secondary     备份根交换机

实例1中,SW1作为根桥,SW2作为备份根桥:
[SW1]stp instance 1 root primary 
[SW2]stp instance 1 root secondary

实例2中,SW1作为备份根桥,SW2作为根桥:
[SW1]stp instance 2 root secondary 
[SW2]stp instance 2 root primary 

::: tip 根桥默认优先级0,备份根桥默认优先级4096,其他设备默认为32768。 ::: RSTP和MSTP

RSTP和MSTP

RSTP和MSTP 如上,链路正常时,PC1访问PC3通过VLAN 10走SW3-SW1,PC2访问PC4通过VLAN 20走SW3-SW2,链路故障时使用备份(次优)链路,实现了多实例的VLAN隔离。

点赞
收藏
评论区
推荐文章

暂无数据

似梦清欢
似梦清欢
Lv1
学海无涯
文章
17
粉丝
17
获赞
1