三层交换③

本文详细解析了STP(标准生成树协议)、RSTP(快速生成树协议)和MSTP(多生成树协议)的工作原理、状态转换、优缺点及配置方法,包括收敛时间、角色划分和协议改进。涵盖了接口状态、协议细节和实战配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

STP的接口状态:

禁用状态:

        禁用状态下交换机的接口将不再产生和发送数据,而一般这个协议只存在两种情况:

        ①接口物理关闭

        ②接口禁用STP生成树协议

阻塞状态:

        在STP生成树协议激活后接口,交换机将会进入的第一个状态。这个状态下交换机只能侦听BPDU,不能发生和转发STP数据帧,也不能进行MAC地址学习

        在STP初始化阶段下,如果交换机没有接收到BPDU的信息发送,则接口将等待20s(最大寿命),然后进入下一个状态

侦听状态:

        侦听状态下,交换机可以发送BPDU,但是不能转发数据,而这个状态就是STP生成树角色选举的状态,侦听状态停留15s

        侦听状态不允许转发数据是因为避免在所以角色没有选举完成时,网络中出现临时环路角色选举结束后,只有根端口和指定端口会进入到下一个状态(学习状态),非指定端口则将会退回到阻塞状态

学习状态:

        在这个状态下交换机会学习之前侦听到的数据帧,并将学习到的地址记录在本地的Mac地址上,但是这个状态下不转发数据帧。学习状态持续时间为15s

        增加了MAC地址表的学习时间,目的是为了防止未知单播的泛洪

转发状态:

        这个状态下交换机将会正常接收和转发数据帧以及BPDU

802.1D收敛时间:

        802.1D帧存在两种收敛时间:30s和50s

A,首次收敛时间是50s

        20(初始化状态时间)+15(侦听时间)+15(学习时间)

B,拓扑结构变化:

①根网桥发生故障:50s

            20(BPDU最大等待时间)+15(侦听时间)+15(学习时间)

②直连链路发生故障:30s

            15(侦听时间)+15(学习时间)

抓包分析:

③非直连发生故障:50s

            20(阻塞链路收不到BPDU信息老化时间)+15(侦听)+15(学习)

抓包分析:

802.1D的缺点:

①收敛速度慢

        侦听,学习时间固定为15s,无法做到在收敛完成后就进入下一个状态

②链路利用率低

        如果所有的VLAN的根都是同一个交换机上,那么很多的阻塞端口因为STP协议将一直被阻塞,无法通信使得网络链路利用率低

STP的配置:

①修改STP的工作模式,华为设备默认使用的是802.1S(MSTP)
[sw1]stp mode stp 

②激活STP
[sw1]stp enable 
    //华为设备默认开启STP生成树

[sw6]display stp 
    //查看STP的选举信息

[sw1]display stp brief
    //可以查看STP接口的角色和状态

[sw5]stp priority 28672 
    //修改BID中优先级的命令,优先级必须按照4096的倍数修改
        !!!STP根网桥的选举是抢占模式的

[sw1-GigabitEthernet0/0/1]stp port priority ?
    //接口修改PID中优先级的方式
 INTEGER<0-240> Port priority, in steps of 16

[sw1-GigabitEthernet0/0/1]stp cost ? 
    // 修改接口的开销值
 INTEGER<1-200000000> Port path cost

[sw1]stp root primary
    // 将改交换机设置为根网桥,其实质是将BID的优先级修改为0.

[sw2]stp root secondary 
    //将改交换机设置为备份根网桥,其实质是将BID的优先级修改为4096

RSTP(快速生成树协议):

        IEEE组织在802.1W中提出的快速生成树RSTP,主要解决的是802.1D收敛慢的问题,并没有解决链路利用率低的问题(还是一个交换网络一颗树,可以向下兼容802.1D)

RSTP改进点:

①更改端口的角色

        在802.1D生成树协议中,存在3种端口角色:根端口(RP),指定端口(DP),非指定端口(NDP)

        而802.1W生成树协议中,端口角色被重新划分为4类(将非指定端口划分为替代端口和备份端口):根端口,指定端口,替代端口(alternate),备份端口(Backup)

        802.1W中,替代端口和备份端口实质都是需要被阻塞的端口(只是在链路发生故障后,担任的角色不一样)

        替代端口:本地交换机通过学习根交换机发送的配置BPDU,而将自己的冗余线路的接口变成阻塞端口,它提供了从指定端口到根网桥的另一条路径,所以可以作为根端口的备份端口。当一个根端口失效时,则将最优的替代端口成为根端口,直接进入转发状态。

        备份端口:由于学习到自己交换机发送的配置BPDU而变成阻塞端口。他们作为指定端口的备份,如果指定端口失效,则备份端口将直接替代指点端口,进入转发状态。

        交换机下接集线器(拉两根线),此时STP会阻塞一个接口,在RSTP中,阻塞接口会被定义为备份接口

②修改接口了状态

在STP协议中,802.1D存在五种接口状态:禁用,阻塞,侦听,学习,转发

而在RSTP协议中,802.1W规定了三种接口状态:

        丢弃状态(包含禁用,阻塞,侦听):不转发用户流量,且不学习MAC地址

        学习状态:不转发用户流量,也可以学习MAC地址

        转发状态:既可以转发用户流量,也可以学习MAC地址

相当于将STP的禁用,阻塞,侦听状态整合为一个状态

③对配置BPDU的报文内容进行了修改

        802.1W使用的是RST BPDU数据包,而RST的数据包中含有P/A暂停等待机制(帮助完成快速收敛的重大举措)

        RSTP生成树通过P/A机制来保证一个指定接口得以从丢弃状态快速进入转发状态,从而加速了生成树的收敛速度。在P/A机制中存在一个同步状态,实际上就是将本地全部接口设置为丢弃状态,防止环路产生

        P/A机制:在收敛过程时,如果两个交换机之间因为选举而导致一方从指定端口变成替代/根端口,此时LSW1会发送BPDU数据包(将其中的Proposal置1)给LSW2,此时LSW2收到LSW1发送的包,会回复一个BPDU数据包(将其中的Agreement置1),然后LSW2会进入同步状态(这个时候,除了和LSW1通信的端口,其他的端口都会被设置为逻辑阻塞状态,目的:防止产生环路),在同步状态下LSW2会将接口转化为替代/根端口,转化完成后会将退出同步状态(此时接口重新工作)

④对配置BPDU的处理逻辑进行修改

a.在拓扑收敛完成后,配置BPDU不再是只有根网桥主动发送,而是所有非根网桥也会每隔2s发送一个配置BPDU(发送的内容还是根网桥的配置BPDU)

 b.更短的超时时间

        在802.1D中,如果在一个MAX AGE时间中,如果没有收到配置BPDU则会认为上行交换机失效,此时会重新收敛;而在802.1W中,一个接口在超时时间内(3个周期:6s)没有收到BPDU,则认为和邻居协商失败,此时重新收敛

⑤快速收敛机制:

a.根端口和指定端口的快速切换:利用的是替代端口(替代根端口)和备份端口(替代指定端口)

b.设置边缘接口:指的是交换机连接终端的接口,因为连接终端,下行接口不会出现环路,所以这些接口可以手工配置成边缘接口,一旦配置成边缘接口后会第一时间切换为转发状态(不参与STP选举)

        因为边缘接口是人工选择配置,而为了避免人为失误,RSTP也存在保护机制:当一个边缘接口通过链路收到其他交换设备发送BPDU,则将立即切换为普通接口

c.引入P/A机制

⑥拓扑变更机制发送变化

        在802.1D中,变更信息需要层层上报至根网桥处,再由根网桥下发变更通知(TC置1的BPDU)逐级扩散到整个交换网络,这样存在效率较低

        而在802.1W中,变更通知将直接由变更点设备发出,直接泛洪到整个交换网络都收到网络拓扑发生变化的信息

MSTP多生成树协议:

        MSTP多生成树协议:在一个三层网络中使用多颗树去管理网络中的VLAN(减少链路利用率低的问题,也可以做VLAN的冗余),而MPLS多生成树协议为了解决链路利用率低的问题,引入了新的概念instance 实例(实例可以理解为一个或多个的vlan的集合)

        为了区分不同的instance,引入instance ID(由十二位二进制构成,但是实际取值单位为0-4094,根据vlan来划分)。华为设备中默认为instance 0,并且默认所有的Vlan都属于instance 0,之前的BID优先级中的12位扩展ID就是用来携带instance ID(用来区分不同的instance)

        同样的,在MSTP引入域(region)概念(类似于OSPF中区域的概念),当一个交换网络过大时,可以将其分为多个MST域;如果网络规模较小时,也可以划分为一个MST域。

在三层交换中配置MSTP的域时,交换机之间需要保证三个参数必须相同:

        ①相同的域名(region name)

        ②相同的修订等级(revision level)

        ③相同的vlan和instance的映射关系

配置:

①配置VLAN

[sw1]vlan batch  2 to 10

②将端口划分到VLAN

[sw1]port-group group-member g0/0/1 g0/0/2 g0/0/3
[sw1-port-group] port default vlan 2

③配置干道的类型

[sw1]port-group group-member  g0/0/1 g0/0/2 g0/0/3
[sw1-port-group]p l t 
[sw1-port-group]p t a v a
[sw1-port-group]q
    //配置为trunk干道,默认允许所有

④更改生成树模式并激活

[sw1]stp mode mstp
    //华为设备默认使用MSTP
[sw1]stp enable
    //激活STP生成树

⑤配置MST域并激活域

[sw1]stp region-configuration
    //进入MST域配置页面
[sw1-mst-region]region-name lxb 
    //声明MST域的域名
[sw1-mst-region]revision-level 1
	 //声明MST域的修订等级
[sw1-mst-region]instance  1 vlan  1 to 6
	 //配置vlan和instance的映射关系
[sw1-mst-region]instance  2 vlan  7 to 10
	 //配置vlan和instance的映射关系
[sw1-mst-region]active  region-configuration
    //激活MST域的配置

//以上配置都需要在三层网络中所有的交换机中配置激活

⑥调整交换机的根优先级

[sw1]stp instance  1 root  primary 
    //设置SW1为instance 1 的根端口
[sw1]stp instance  2 root  secondary  
    //设置SW1为instance 2 的备份根端口

此时查看SW1的STP配置

RSTP数据包,此时会在STP数据包后加上MST帧 

 此时查看MST域内的信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值