STP RSTP和MSTP

STP原理

网络中最小的桥ID的拥有者才能成为根桥 华为交换机默认桥优先级为32768 桥优先级一致 则比较桥的MAC地址 也是越小越优 修改桥的优先级 必须为4096的倍数

 

开销(cost)与根路径开销(root path cost)

每一个激活了stp的接口都维护着一个cost值 接口的cost主要作用是用于计算RPC 也就是计算到达根桥的开销

交换机选举根接口的时候,RPC就是选举根接口的依据,到达根桥RPC最小的接口将被选举为根接口。我们把这个接口到达根交换机的成本称为RPC

端口ID在特定的情况下用于选举指定端口 长度为16bit 前4bie为优先级 默认128

 

STP的基本操作过程分为4个阶段

1.首先在交换网络中选举一个根桥(各交换机通过交互配置BPDU来选举根桥 优先级最小 MAC地址最小的选举为根桥 根桥具有抢占性

2.在每个非根交换机上选举一个根端口 每台交换机有且仅有一个(根接口就是本台交换机所有端口中接收到最优BPDU的端口 )

3.在每个交换网段选出一个指定端口(指定端口就是该交换网段内到达根桥最优的端口 该端口还负责向该网段发送BPDU )

4.对剩下的接口进行阻塞 从而打破二层环路

 

初始状态下每台激活了stp的交换机都会发送BPDU 在收敛完成后 只有根桥才会发送BPDU 缺省2s一次(可以通过stp timer hello修改)而非根桥设备在收到根桥发送的BPDU后 就是触发产生自己的BPDU 从而从自己的指定接口转发出去

1.配置BPDU:

主要作用是用来选举根桥和维护STP网络的运行

2.

(1)TCN BPDU

用于通知根桥交换机当前网络拓扑发生了变化 感知到变化的交换机会从自己的根端口向上发送TCN BPDU 直至到达根桥

(2)将标志位的TCA位置位1的配置BPDU

将标志位的TCA位置位1 用来确认收到从下游发送的TCN BPDU 同时也会从自己的根端口向上发送TCN BPDU 这个过程会一致持续 直至到达根桥

(3)将标志位TC位置位的配置BPDU

根桥收到TCN BPDU 后 将发送TC置位的配置BPDU 通知全网交换机网络拓扑的变化 全网的交换机收到后 将MAC地址表的老化时间置位一个较小的值

STP的时间参数

hello timer(hello时间):运行了STP的交换机发送配置BPDU的时间间隔 缺省为2s

Forwaerd Delay(转发延迟):运行STP的接口从侦听状态进入学习状态或者学习状态进入转发状态所需要的延迟时间 缺省为15s 为避免收敛过程中出现的临时环路 也就是说 一个接口被选为根端口和指定端口后 最少要经过两个Forwaerd Delay的时间 才可以进行转发

Max Age (最大生存时间):BPDU的最大生存时间,缺省20s。非根桥的根端口会保存上游发来的最优的BPDU,该BPDU会关联一个Max Age 如果在这个时间内接收到了这个最优的BPDU 则会刷新该时间 反之则会重新进行根端口的选举

 

BPDU的比较原则

最小的根桥ID(用来选举根桥)

最小的RPC(选举根端口和指定端口)

最小的网桥ID(选举根端口和指定端口)

最小的接口ID(选举根端口和指定端口)

 

BPDU的交互与计算

(1)初始状态下 STP交换机都会认为自己是根桥 在自己发送的BPDU中 根桥ID字段都会设置为自己的桥ID 双方开始交互BPDU

(2)将收到的对方的BPDU和自己接口上的BPDU做对比,假设收到的更优,将停止泛洪BPDU 假设收到的没有我本地的优 则忽略 继续发送

(3)由于对方发送的BPDU比我本地产生的更优,则我作为非根桥进行根端口的选举。因此本地使用对方发送的BPDU来产生自己的BPDU,拥有最优BPDU的端口成为根端口。

(4)根端口将收到的最优的BPDU为本机的其他接口生成一个BPDU 拿这个生成的BPDU来对本机其他端口收到的保存的BPDU最比对 假设本地保存的比较大 则阻塞该端口

----运行STP的交换机在每一个接口上都会保存一份BPDU,对于根接口和非指定接口而言 保存的是自上游交换机发送的BPDU 对于指定接口而言 交换保存的是根据根接口的BPDU计算得出的BPDU

当指定接口收到次优的BPDU 它将立即发送自己的BPDU 而对于非指定接口 他会等待接口所保存的BPDU老化之后 在重新计算新的BPDU 并将新的BPDU发出去 非指定接口等待20s才能进行状态迁移

 

STP的接口状态

禁用(disable):不收发BPDU,不转发数据帧,例如接口为down

阻塞(blocking):该接口被STP阻塞,只侦听BPDU,不发送。不转发数据帧,不进行MAC地址表的学习

侦听(listening):收发BPDU,不能转发数据帧,不能进行MAC地址表的学习

学习(learning):收发BPDU 侦听业务数据帧 不能转发业务数据帧 在收到业务数据帧时会对MAC地址进行学习

转发(forwarding):可以正常的收发业务数据帧,也会对BPDU进行处理,只有根端口和指定端口才会进入该状态。

当交换机的一个接口被激活后,会从禁用状态过渡到阻塞状态。处于阻塞状态的接口假设被选为根接口或是指定接口以后,会进入到侦听状态并在这个状态停留15s(转发时间延迟)原因是BPDU的全网泛洪和STP的拓扑计算留出时间。15s后假设该接口还是根接口和指定接口则进入学习状态并继续停留15s。在这个状态停留15s的原因是学习MAC地址,为进入转发状态做准备。

 

RSTP(快速生成树协议)

IEEE802.1w定义了RSTP 它的收敛速度更快 并且能够兼容STP

RSTP的端口角色

1.替代端口(ALTE):根接口的备份,他是一台设备上收到其他设备发送的BPDU而阻塞的端口 根接口发生故障 替代接口就会成为新端口 加速了网络的收(可以存在多个 发生故障 则最优的成为根接口)

2.备份接口(BACK):备份接口时收到自己发送的BPDU而阻塞的端口,处于丢弃状态,是指定端口的备份。

RSTP简化了接口状态;分别为丢弃(不转发数据帧也不学习MAC地址) 学习 转发

RSTP和STP不同 在网络收敛后,根桥和非根桥都会周期性的发送BPDU

RSTP无论接口的角色如何,收到了次优的BPDU后,就会立即发送自己的BPDU,这使得RSTP的变化更快。

 

边缘接口

交换机上的一个接口从阻塞到转发需要经历约30s的时间 这对交换机上连到交换网络的接口来说比较重要 因为这有产生环路的风险 交换机连接PC的接口 则没有必要等待这无谓的30s

边缘接口被激活后 可以立即切换到转发状态并开始收发业务网流量 另外 边缘接口的激活或者关闭不会引起RSTP拓扑的重计算

stp edged-port enable/开启边缘接口 直接 Forwarding

stp bpdu-filter enable/开启BPDU的过滤 不发送BPDU

 

P/A机制

上游交换机DP接口先发送一个标志位proposal置位的BPDU 下游交换机的RP接口收到以后 将自己的所有非边缘端口进行阻塞 将自己的RP接口置为转发状态 向上游交换机发送方一个agreement置位的BPDU 上游交换机收到后 将自己的DP接口切换为转发状态

 

保护功能

1.BPDU保护

stp bpdu-protection/开启BPDU的保护

边缘接口一旦收到BPDU就会阻塞该接口

2.根保护

由于根桥机制的可抢占性 导致根桥的变动会引起网络的重新计算

指定接口下 stp root-protection 开启根保护

根桥的指定接口收到更优的BPDU时会忽略这些BPDU 并将接口切换为丢弃状态 如果一段时间(通常是2倍的转发时间)后则不再收到更优的BPDU 她将自动恢复到转发状态

3.环路保护

(1)在根接口上激活环路保护后 如果该接口长时间没有收到BPDU 那么交换机会充新选举根接口并将该接口设置为指定接口并切换为丢弃状态避免环路的发生

(2)在替代端口上激活环路保护功能 如果该接口长时间没有收到BPDU 交换机会将该接口切换为丢弃状态 避免环路的发生

根接口和替代接口下

stp loop-protection/开启环路保护

4.拓扑变更保护

stp tc-protection/开启tc保护

tc的泛洪攻击

 

MSTP(多实例生成树)

IEEE802.1s定义

一个实例对应多个VLAN 一个VLAN只能对应一个实例

实例的取值范围0-4096 缺省所有VLAN对应实例0

stp region-configuration/进入MST视图

region-name xxxx/修改域名

revision-level1 /修订级别

instance 1 VLAN 2 to 10 /绑定实例和VLAN

active region-configuration/激活以上命令

stp instance 1 root primary /实例1的主根桥

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值