STP总结

STP

1.什么是生成树协议?


通过将环形结构变成树形结构从而逻辑上打破环路的协议。

2.为什么需要生成树协议?

因为现网的冗余设计,为了增加带宽,防止单点故障。
因此产生了环路,而环路引起的问题
1. 广播风暴
2. MAC地址表翻动

3.防止环路的方法

  • 组播用RPF来防止环路
  • IP包使用TTL来防止环路
  • 二层使用STP在保证冗余的基础上防止环路等

4.STP协议的工作原理

通过逻辑上阻塞冗余链路消除环路

 5.生成树树形结构形成过程:

  1. 选举根交换机:负责维护整网拓扑结构
  2. 选举根端口:非根交换机离根交换机最优的端口,负责接受BPDU或数据。
  3. 选举指定端口:指定端口负责本链路上的数据或BPDU的转发。
  4. 剩余端口则是阻塞端口

 6.根桥的选举规则

开始所有交换机都以自己为根桥发送BPDU进行选举,选举成功的根桥周期发送BPDU,其他交换机负责转发。

根桥选举通过比较网桥ID

网桥ID:

8个字节:2字节优先级+6字节MAC地址

2字节优先级由4bit的优先级+12bit的扩展系统ID组成

扩展系统ID用于MSTP中的4096个实例对应每一个VLAN

7.端口角色选举规则

选择RP(根端口):

比较根路径开销(RPC)

比较发送桥ID

比较发送端口ID(端口优先级+端口号组成)默认128,16的倍数,0-240

比较本端端口ID(交换机之间连Hub)

选择DP(指定端口):

比较根路径开销:根桥的根路径开销都是0。

比较发送桥

比较发送者端口ID

比较本端端口ID(交换机之间连Hub)

根桥的所有端口都是指定端口

一条链路只有一个指定端口

一个交换机只有一个根端口

8.临时环路

当网络正常收敛,阻塞端口不发送数据。但当与阻塞端口直连的交换机成为新的root桥之后,阻塞端口变成根端口,其他端口变成指定端口处于转发状态,而之前的指定端口还没有切换到阻塞端口也在转发状态,此时会造成临时的环路。
所以需要端口状态的转发延迟来进行解决。

9.STP的标准接口状态:避免临时环路隐患


disable:端口未启用
blocking(discarding):端口禁用状态
listen:进行端口角色的选举。15s确保生成树的角色选举没有环路的产生。
learning:进行MAC地址表的学习 15s确保MAC地址的正确学习。
forwarding:数据和BPDU的转发

10.STP报文类型


STP有2种报文结构:

一种是配置BPDU(Configuration BPDU)

一种是拓扑变化通知BPDU(TCN BPDU)

配置BPDU是一种心跳报文,只要端口使能STP,则配置BPDU会被周期通告,

TCN BPDU是在设备检测到网络拓扑发生变化时才发出。

11.拓扑变化通知


STP可以在拓扑变化时,通过算法快速计算出新的转发链路,但交换机桥表却没有这么快进行调整,旧MAC和端口指向关系会影响数据正常转发。所以需要拓扑变化通知机制去加快转发桥表更新,减少中断时间。
1、拓扑变化后,下游设备会不间断向上游设备发送TCN BPDU报文。TCN从RP端口发出,间隔2s,不受根交换机Hello间隔的影响。
2、上游设备收到下游设备发来的TCN BPDU后,只有指定端口处理TCN BPDU,其他端口有可能收到但不处理。
3、上游设备会把配置BPDU报文中的Flags的TCA位置1,然后发送给下游设备,充当收到TCN的确认,否则下游设备会一直发送TCN BPDU报文。
4、上游设备重复该过程,把TCN BPDU继续向其他RP端口发送,直到从上游收到TCA置位的配置BPDU.
5、TCN BPDU会一直向上发送,直到送至根桥。
6、根桥收到网络拓扑变化后,会把配置BPDU报文中的Flags的TC置位后发送,TC置位的配置BPDU会泛洪到全网,收到的华为交换机会直接删除桥MAC地址表项。
7、根桥持续发送TC置位的BPDU,时间为forward-delay+max-age,共35s。

华为STP拓扑通知机制区别于传统STP的拓扑变化行为:
1、华为的STP实现中,触发产生拓扑变化通知是当端口(非边缘端口)进入转发状态的时候,而端口down时并不触发拓扑变化通知。
2、当TC置位BPDU被交换机收到后,将交换机的桥表清空。这种方法能及时清除错误MAC表项,但会导致网络产生过多单播泛洪报文

12.MSTP概念


IST(内部生成树):每个域内实例0运行的树。
MSTI(实例树):普通实例运行的树。
CST(公共生成树):区域之间的生成树。域与域之间也有环路。
CIST(公共和内部生成树):由IST和CST构成的树。
总根:CIST中的根网桥,整网中优先级最高的网桥
IRPC(内部根路径开销):本地到域根的开销
IST域根
MSTI域根
ERPC(外部根路径开销):本地到总根所在域的开销
Master(主桥):区域内离总根最近的桥

13.MSTP的拓扑计算–比较原则


CST—IST—总根—CIST

先计算CST,一个MST域当作一台虚拟的交换机,由域内选出一个最优的交换机代表,IST相当于确认了(IST比较方式与stp选举根桥一样)域根。
每个MST域通过向其他域发送以域根为总根的BPDU,外部开销为0,计算出总根,整网优先级最高的交换机。
以总根为中心,根据外部路径开销选出master端口。
比较域根ID优先级,选出域边缘端口进行阻塞。

14.MSTP的快速收敛


增强型P/A机制:不但可以使指定端口快速转发,还可以使根端口快速转发。

首先上游设备发送proposal报文请求快速切换,下游设备收到之后将其端口设为根端口,阻塞其他非边缘指定端口。
上游设备继续发送一个Agreement报文,使根端口进入forwading状态。
同时下游设备发送Agreement报文来使上游设备的指定端口快速进入forward状态。

15.协议不足以及改进


1、拓扑收敛慢,当网络拓扑发生改变的时候,生成树协议需要50-52秒的时间才能完成拓扑收敛。

2、不能提供负载均衡的功能。当网络中出现环路的时候,生成树协议简单的将环路进行Block,这

样该链路就不能进行数据包的转发,浪费网络资源。

华为对STP的优化:
1、使用新端口角色及状态;
2、RP失效,AP立即成为新RP;
3、接收次的BPDU,端口不需要等待max-age,就立即计算端口角色;
4、若收不到BPDU,不再使用max-age来判定链路失效,3个hello间隔后重新收敛,检测网络故障时间变短。
STP不足:
1、STP算法为被动算法,状态迁移依赖定时器,最短需要30s;
2、若拓扑变化频繁,反复清空桥表,会导致过量单播报文泛洪。
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值