生成树详解(STP、RSTP、MSTP)

目录

1、STP

1.概述

2.基本概念

3.端口角色及其作用

4.报文结构

5.STP的端口状态

6.三种定时器

7.STP选举步骤

8.配置BPDU的比较原则

9.TCN BPDU

10.临时环路的问题

11.传统STP的不足

拓扑变更处理过程

2、RSTP

1.端口角色

2.端口状态

3.P/A(Proposal/agreement)协商

4.环路的预防

5.STP和RSTP的区别

6.RSTP中MAC地址表的清空

7.RSTP保护功能

(1)UplinkFast:

(2)BackboneFast:

(3)Portfast:

(4)BPDUFilter:

(5)BPDU保护:

(6)BPDU过滤:

(7)Root保护:

(8)环路保护:

(9)TC-BPDU泛洪保护:

8.STP/RSTP缺陷

3、MSTP

1.MSTP对STP和RSTP的改进

2.MSTP与VRRP结合


1、STP

1.概述

背景:

        在保证网络冗余性的情况下,消除二层环路。当网络中部署生成树协议时,交换机之间便会开始交互相关协议报文,并经过一系列计算得到一个无环的网络拓扑;当网络存在环路时,会将网络中的一个或多个接口进行阻塞(Block),从而打破二层环路。

        生成树协议应用于园区网络的二层网络中,进行链路备份和消除环路。

二层环路带来的问题:

  1. 广播风暴:广播帧泛洪

  2. MAC地址表漂移

在三层IP中有TTL解决环路问题,TTL默认值为64,每经过一个路由器减1。

核心思想:

比较BPDU,打开好的端口,阻塞差的端口,打破环路,建立无环的逻辑拓扑。

2.基本概念

  1. 桥ID(Bridge ID,BID)=网桥优先级(2字节)+网桥MAC(6字节):

    1. 缺省优先级32768(0~65535),Cisco:4096的倍数,HUAWEI:1024的倍数,越小越优先。

    2. 每一台交换机都有一个唯一的BID。

    3. BID最小的设备会被选举为根桥(先比较优先级再比较MAC地址)。

  2. 端口ID(Port ID,PID=端口优先级+端口ID:

    1. 优先级范围0~240,16的倍数,缺省情况下为128。

    2. 用来标识每个接口,选举指定接口(DR)。

  3. 开销(Cost)

    1. 接口的Cost用于计算到达根的开销。

    2. 接口的缺省Cost除了与其速率、工作模式,还与交换机使用的STP Cost计算方法有关。

    3. 接口带宽越大,Cost值越小

    4. 华为使用IEEE 802.1t标准,思科使用IEEE 802.1d-1998标准。

  4. 根路径开销(Root Path Cost,RPC)

    1. 一台设备的某个接口到根桥的RPC等于从根桥到该设备沿途所有入方向接口的Cost值累加。

3.端口角色及其作用

  1. 根桥(ROOT)

    1. 每隔Hello Time(2s)周期性发送配置BPDU,用于设备检查链路是否出现故障

    2. 根桥收到TCN后,在半分钟内按照每隔2秒周期性地发送TC报文(Forward Delay+Max Age)

  2. 根端口RP

    1. 收到根桥发来的配置BPDU报文

    2. 当拓扑发生变化时,向根桥发送TCN

  3. 指定端口DP

    1. 向下游发送配置BPDU,每经过一台交换机,配置BPDU将会发生变化(BID、PID)(再生式的泛洪)

    2. 接受来自下游桥的拓扑变化信息

  4. 非指定端口

    1. 接受对端配置BPDU信息

    2. 不转发用户流量

4.报文结构

1、STP使用的MAC地址

  1. Source MAC:给二层协议使用的MAC地址

  2. Destination MAC:以01-80-C2开头的二层组播MAC(专门为二层协议提供的组播MAC)

  3. 根据三层的组播IP产生的组播MAC地址:以01-00-5E开头

2、BPDU(Bridge protocol data unit网桥协议数据单元

分类:

  1. 配置BPDU(0x00):

    1. 端口使用STP,则配置BPDU就会按照HelloTime定时器规定的时间间隔从指定端口发出

    2. 根端口收到配置BPDU时,如果优先级比自己的配置BPDU高,就会根据收到的配置BPDU中携带的信息更新自己的BPDU,并从指定接口向下游发送,否则丢弃该配置BPDU

    3. 指定端口收到比自己差的配置BPDU时,会立刻向下游设备发送自己的BPDU

  2. TCN BPDU(0x80):当交换机的某个端口出现故障,会通过根端口向根桥发送TCN BPDU告知根桥,根桥收到后,会将拓扑变更发送至网络中的所有交换机,所有的交换机在15秒内刷新MAC地址表

作用:维护整个生成树的生命周期

  1. 通过Root ID、RPC、Bridge ID、Port ID的一个或者多个参数选举出最好的BPDU来生成树

  2. 通过定时器来保证生成树的稳定性

  3. 当拓扑发生改变,通过发送拓扑变更消息(Flag位)告知拓扑的变化

5.STP的端口状态

STP 端口状态迁移机制

① :端口初始化或者使能,进入阻塞状态

② :端口被选为根端口或者指定端口,进入侦听状态

③ :端口的临时状态停留时间(一个Forward Delay时间)到,进入下一状态(学习状态或者转发状态),端口被选为根端口或指定端口

④ :端口不再是根端口、指定端口或者指定状态,进入阻塞状态

⑤ :端口被禁用或者链路失效

端口状态和端口角色的思考

Q:STP使能后端口进入Blocking状态,对BPDU只收不发,如何进行全网BPDU交互的?

A:端口使能STP后进入Blocking后,默认经过20秒后进入Listening,默认经过15秒后进入Learning,此时这个状态会进行全网BPDU的交互,学习到所有SW的BPDU信息,从而选举RB、RP、DP、NDP

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值