关于生成树

前言

以太网交换网络中为了进行链路备份,提高网络可靠性,通常会使用冗余链路。但是使用冗余链路会在交换网络上产生环路,引发广播风暴以及MAC地址表不稳定等故障现象,从而导致用户通信质量较差,甚至通信中断。为解决交换网络中的环路问题,提出了生成树协议STP(Spanning Tree Protocol)。

运行STP协议的设备通过彼此交互信息发现网络中的环路,并有选择的对某个接口进行阻塞,最终将环形网络结构修剪成无环路的树形网络结构,从而防止报文在环形网络中不断循环,避免设备由于重复接收相同的报文造成处理能力下降。

RSTP(Rapid Spanning Tree Protocol)协议基于STP协议,对原有的STP协议进行了更加细致的修改和补充,实现了网络拓扑快速收敛。

生成树技术概述

技术背景:二层交换机网络的冗余性与环路

技术背景:人为错误导致的二层环路

二层环路带来的问题

 BUM帧(Broadcast,Unknown unicast,Multicast):广播帧、DMAC未知单播帧、组播帧

初识生成树协议

在网络中部署生成树后,交换机之间会进行生成树协议报文的交互并进行无环拓扑计算,最终将网络中的某个(或某些)接口进行阻塞(Block),从而打破环路。

生成树能够动态响应网络拓扑变化调整阻塞接口

交换机上运行的生成树协议会持续监控网络的拓扑结构,当网络拓扑结构发生变化时,生成树能感知到这些变化,并且自动做出调整。 因此,生成树既能解决二层环路问题,也能为网络的冗余性提供一种方案。

问答:二层及三层环路

生成树协议在园区网络中的应用位置

 STP概述

STP是一个用于局域网中消除环路的协议。

运行该协议的设备通过彼此交互信息而发现网络中的环路,并对某些接口进行阻塞以消除环路。 STP在网络中运行后会持续监控网络的状态,当网络出现拓扑变更时,STP能够感知并且进行自动响应,从而使得网络状态适应新的拓扑结构,保证网络可靠性。

由于局域网规模的不断增长,生成树协议已经成为了当前最重要的局域网协议之一。

STP的基本概念及工作原理

桥ID(Bridge ID,BID)

IEEE 802.1D标准中规定BID由16位的桥优先级(Bridge Priority)与桥MAC地址构成。 每一台运行STP的交换机都拥有一个唯一的BID。 BID桥优先级占据高16bit,其余的低48bit是桥MAC地址。 在STP网络中,BID最小的设备会被选举为根桥。

备注:此处网桥(Bridge ),或者桥也就是交换机。

个人方便记忆:

BID=桥优先级+桥MAC地址

桥优先级最小成为根桥。桥优先级相同,MAC地址最小成为根桥。

根桥具备抢夺性。

根桥(Root Bridge)

STP的主要作用之一是在整个交换网络中计算出一棵无环的“树”(STP树)。

根桥是一个STP交换网络中的“树根”。

STP开始工作后,会在交换网络中选举一个根桥,根桥是生成树进行拓扑计算的重要“参考点”,是STP计算得出的无环拓扑的“树根”。

在STP网络中,桥ID最小的设备会被选举为根桥。 在BID的比较过程中,首先比较桥优先级,优先级的值越小,则越优先,拥有最小优先级值的交换机会成为根桥;如果优先级相等,那么再比较MAC地址,拥有最小MAC地址的交换机会成为根桥。

开销(Cost)

每一个激活了STP的接口都维护着一个Cost值,接口的Cost主要用于计算根路径开销,也就是到达根的开销。

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

接口带宽越大,则Cost值越小。 用户也可以根据需要通过命令调整接口的Cost。

 dis stp

Cost计算方法

接口Cost是已经激活了STP的接口所维护的一个开销值,该值存在默认值,与接口的速率有关联,并且设备使用不同的算法时,相同的接口速率对应不同的Cost值。 

补充: (课本上的概念)

dot1t=802.1t

802.1q=dot1q

根路径开销(Root Path Cost)

在STP的拓扑计算过程中,一个非常重要的环节就是“丈量”交换机某个接口到根桥的“成本”,也即RPC。

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

在本例中,SW3从GE0/0/1接口到达根桥的RPC等于接口1的Cost加上接口2的Cost。

接口ID(Port ID,PID)

运行STP的交换机使用接口ID来标识每个接口,接口ID主要用于在特定场景下选举指定接口。

接口ID由两部分构成的,高4 bit是接口优先级,低12 bit是接口编号。 激活STP的接口会维护一个缺省的接口优先级,在华为交换机上,该值为128。用户可以根据实际需要,通过命令修改该优先级。

BPDU(Bridge Protocol Data Unit,网桥协议数据单元)

BPDU是STP能够正常工作的根本。BPDU是STP的协议报文。

STP交换机之间会交互BPDU报文,这些BPDU报文携带着一些重要信息,正是基于这些信息,STP才能够顺利工作。

BPDU分为两种类型:

  • 配置BPDU(Configuration BPDU)
  • TCN BPDU(Topology Change Notification BPDU)

配置BPDU是STP进行拓扑计算的关键;TCN BPDU只在网络拓扑发生变更时才会被触发。

配置BPDU的报文格式

stp max-age的处理方式:当非根桥收到根桥的BPDU后,将bpdu中的message age+1后,如果
等于max age直接忽略此BPDU,并且不会在转发此BPDU,通过max age配置可以控制stp网络的
规模。
max-age最大40s,如果小于24s,message age +1,如果24s-39s,message age +2 ,如果40s,message age +3。【仅限华为】

配置BPDU的比较原则

 对于STP而言,最重要的工作就是在交换网络中计算出一个无环拓扑。在拓扑计算的过程中,一个非常重要的内容就是配置BPDU的比较。在配置BPDU中,有四个字段非常关键,它们是“根桥ID”、“根路径开销”、“网桥ID”以及“接口ID”。

这四个字段便是交换机进行配置BPDU比较的关键内容。 STP按照如下顺序选择最优的配置BPDU:

  • 最小的根桥ID
  • 最小的RPC
  • 最小的网桥ID
  • 最小的接口ID

在这四条原则中(每条原则都对应配置BPDU中的相应字段),第一条原则主要用于在网络中选举根桥,后面的原则主要用于选举根接口及指定接口。

配置BPDU的转发过程

STP的计算过程

1)在交换网络中选举一个根桥 

STP在交换网络中开始工作后,每个交换机都会向网络中发送配置BPDU。配置BPDU中包含交换机自己的桥ID。

网络中拥有最小桥ID的交换机成为根桥。

在一个连续的STP交换网络中只会存在一个根桥。

根桥的角色是可抢占的。

为了确保交换网络的稳定,建议提前规划STP组网,并将规划为根桥的交换机的桥优先级设置为最小值0。

2)在每台非根桥上选举一个根接口

每一台非根桥交换机都会在自己的接口中选举出一个接口。

非根桥交换机上有且只会有一个根接口。

当非根桥交换机有多个接口接入网络中时,根接口是其收到最优配置BPDU的接口。

可以形象地理解为,根接口是每台非根桥上“朝向”根桥的接口。 

3)在每条链路上选举一个指定接口

根接口选举出来后,非根桥会使用其在该接口上收到的最优BPDU进行计算,然后将计算得到的配置BPDU与除了根接口之外的其他所有接口所收到的配置BPDU进行比较: 如果前者更优,则该接口为指定接口; 如果后者更优,则该接口为非指定接口。

一般情况下,根桥的所有接口都是指定接口。 

4)非指定接口被阻塞

一台交换机上,既不是根接口,又不是指定接口的接口被称为非指定接口。

STP操作的最后一步是阻塞网络中的非指定接口。这一步完成后,网络中的二层环路就此消除。

自己理解:

STP的接口状态

STP的接口状态迁移

 下期再见,哈哈哈哈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小汐睡着了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值