暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为STP的理论与配置

IT知识一享 2021-09-25
1392
01
STP的应用背景



为了提高网络的稳定性,防止出现单点故障,目前大部分网络都采用多链路,具有冗余性的网络拓扑。虽然提高了网络的安全和可用性,但是相继的也会出现环路,那么环路有什么危害呢?

(1)广播风暴:简单的来说广播报文会在环形网络中不断转发,造成广播风暴,主机也会因此不断的收到重复的数据帧。

(2)MAC振荡:简单的来说交换机会重复的收到主机发来的带有自己MAC地址的报文,从而不断的刷新自己的Mac地址表项,导致MAC地址振荡。














02
STP理论




STP是通过什么方法来消除环路的

(1)通过阻断链路来消除环路                                                          

(2)链路发生故障,立即启动备份链路

具体操作:

(1)在一个环形网络中选取一个根桥(环形网络的逻辑核心)

(2)每个非根交换机选取一个根端口

(3)每个网络选取一个指定端口

(4)非根端口和非指定端口全部阻塞


注意事项:

(1)如果根交换机产生的故障,其他非根交换机重新选举根交换机。通过BPDU交互来选择根交换机

(2)根桥每个端口都是根端口,根桥无根端口

(3)不是根端口也不是指定端口的会被阻塞。


根交换机如果选举?

(1)默认情况下,每个交换机都觉得自己是根交换机,每个交换机都有个桥ID。桥ID越小的就是根交换机

(2)也可以设置优先级,优先级越高就是根交换机。优先级相同比较MAC地址,MAC地址越小的就是根交换机。

(3)通过BPDU交换来比较优先级,从而选举根交换机。


根端口如何选举?

(1)每个交换机都会选出一个根端口

(2)距离根交换机最近的端口为根端口

(3)距离的衡量标准是路径的开销值,开销值最小的为根端口。

(4)如果有两个或者两个以上的端口的开销值相同的话,根据发送者的BID最小的那个端口为根端口,BID就是发送者的桥ID。

(5)如果两个或者两个以上的端口来自于同一个交换机端口,PID越小的就是根端口.PID为端口ID


指定端口如何选举?

与根端口选择类似,依据路径开销,PID、BID来选举。


STP的各种角色

根桥—root bridge,根端口—RP:root port,指定端口—DP:Designated port,非指定端口—N-DP:Non-designated port

1.root—根桥-------------每个公共域选举一个root-根;root-根是最中心节点—类似BOSS。

2.RP----根端口------------每台非根桥选举一个根端口;去往root–根桥路径开销最小的接口,也是接收root-根BPDU的接口。

3.DP----指定端口---------交换机之间每条链路到root-根路径开销最短的接口同时转发root-根发来的BPDU。

4.NDP–非指定端口-------被阻塞防止环路产生,起到冗余备份的接口。

既不是根端口也是指定端口的被称为预备端口,全部阻塞


STP端口的状态迁移

共用五种状态。Forwarding(转发状态),learning(学习状态),blocking(阻塞状态),listening(监听状态),disable(禁用状态)


BPDU

(1)交换机通过BPDU报文来进行交流

(2)BPDU有两种类型,配置BPDU和TCN BPDU

(3)初始化阶段,每个交换机都发送配置BPDU来确定自己的角色,等到拓扑稳定了之后,只有根交换才发送配置BPDU,其他交换机只有收到上游发来的配置BPDU才发送自己的配置BPDU。

(4)如果下游拓扑发生变化,交换机会发送TCN BPDU通知。


端口状态----5状态(一般说4个状态)

1------Disable-------:就是物理连接但是处于shutdown状态的时候,不处理任何数据。

2------blocking-----:不接收也不转发数据帧,只接收但不发送BPDU,不学习MAC地址(20S)。

3------Listening-----:不接收也不转发数据帧,接收且发送BPDU,不学习MAC地址。(15S)

4------Learning-----:不接收也不转发数据帧,接收并发送BPDU,学习MAC地址-------学习全部的MAC地址(15S)。

5------Forwarding–:接收并转发数据帧,接收并且发送BPDU,学习MAC地址。


blocking------->Forwarding的流程

(1)当本交换机的RP–指定端口在20S内没有收到新的BPDU,作为冗余链路的N-DP–非指定接口就由Blocking就进入Listening。

(2)Listeing–侦听状态持续一个Forward Delay-15S时间接收并发送BPDU,在此期间RP–根端口仍未收到BPDU,由Listeing进入 到Learning状态。

(3)在Learning–学习状态持续一个Forward Delay-15S时间接受并发送BPDU,开始学习MAC地址,准备数据的发送工作;在此期 间RP–根端口仍未收到BPDU,15S倒计时结束后此接口会进入Forwarding状态。

(4)Forwarding–转发状态接口进行正常的业务数据转发,并且接收和发送BPDU。这个过程中如果之前的RP-根端口收到了BPDU那么这个接口会退回到Blocking状态。


什么情况会发送TCN-BDU?

当网络拓扑出现变更的时候,最先意识到变化的交换机会发送TCN-BPDU。

流程:

(1)SW感知到网络拓扑发生变化发送TCN-BPDU以告知上行SW和Root-根桥;

(2)上行SW和Root-根桥收到此TCN-BPDU回向它直接给它此报文的SW回复一条TCN-ACK;

(3)Root-根桥同时向全网发送标志位TC的BPDU,连续发送35S ,用来告诉其他SW全网拓扑发生变化了。

(4)当其他SW收到根桥发出的TC置位的BPDU会迅速将CAM表的老化时间调整为15S(默认300S),CAM表一老化,意味着重新对CAM表进行以适应更新新的网络


STP的拓扑变更

拓扑变更的情形

1.重大且能直接感知到的拓扑变更:

比如本SW直连的上行或者下行链路出现故障,这种情况是本SW可以直接感知到清拓扑变更比较大的情况。

SW的处理步骤:

(1)这种情况下本SW会直接将阻塞的冗余接口角色进行更改,接口状态也直接从bloaking跳转到Liserting状态,跨过20S的MAX Age

经过2个forwarding后进入正常工作状态–Forwarding。

(2)同时本SW会通过RP-根端口发出TCN-BPDU,将拓扑变更得而讯息通告给上游,传递至ROOT–根桥,在通过root-根桥通告全网

2.间接的拓扑变更:

如果本SW的上游链路的某节点出现故障,导致本SW的RP-根端口无法收到新的BPDU,这种情况是本SW无法之间感知的。

SW的处理步骤:

(1)倒计时MAX Age计时器,当此计时器为0后更改之前被Blocking接口的角色属性,并且由Blocking状态转变为Listering,通过2次

Forwarding dele等待时间后成为Forwarding状态开始工作。

(2)同时本SW会通过RP-根端口发出TCN-BPDU,将拓扑变更得而讯息通告给上游,传递至ROOT–根桥,在通过root-根桥通告全网

3.轻微的拓扑变更(无意义的拓扑变更)

SW上所有运行生成树协议的接口初始状态都Blocking状态,完成生成树选举后除了RP-根端口;DP–指定端口其余端口都是处于

Blocking状态,即使这个接口是Access口,并且新接入一台终端,仍然需要50S的端口角色转变时间;一个Blocking接口角色一但发生 变化,对于SW来说就是拓扑发生变化了,这时就会发送TCN-BPDU。

因为生成树算法的原因,因此只要有因终端设备接入或者退出造成端口角色发生变化,SW这时都会发送TCN-BPDU。


STP(802.1D)协议的不足

(1)接口启用时间太慢:

STP为了避免临时环路的产生,每个端口在确认为根端口或者指定端口后,仍然需要等待30s的时间才能进入转发状态;

此外对于拓扑经常发生变更的网络,经常需要重新进行STP计算,某些端口可能会长期处于阻塞状态而导致网络长时间的中断。

(2)只能针对一SW存在一个生成树实例:

如果网络内存在多个vlan,而每台SW只有一个生成树实例,会导致其他vlan的终端访问网络的目标时形成次优路径,更严重的话会产生通信阻塞,造成某些网络的中断。

(3)无意义的拓扑变更也会触发TCN-BPDU,频繁导致全网SW的MAC地址表重新学习

MAC地址频繁刷新会导致网络频繁产生广播报文从而影响网络的带宽和SW的转发工作。


生成树对比















03
STP配置



华为X7系列支持3中生成树类型模式

[Huawei]stp mode ?
  mstp  Multiple Spanning Tree Protocol (MSTP) mode #多生成树实例
rstp Rapid Spanning Tree Protocol (RSTP) mode #快速生成树
stp Spanning Tree Protocol (STP) mode #生成树


设置优先级来确定根交换机

[Huawei]stp priority ?   
  INTEGER<0-61440>  Bridge priority, in steps of 4096 #必须是4096的倍数
[Huawei]stp priority 4096

注释:一般情况下都是自己手动设置根桥,选择性能好的作为根交换机,也可以用stp root peimary直接指定他是根桥。


可以选择计算链路开销值的标准

[Huawei]stp pathcost-standard ?
dot1d-1998 IEEE 802.1D-1998
dot1t IEEE 802.1T
  legacy      Legacy


配置验证

(1)CIST Bridge为桥ID
(2)Times参数标识Hello定时器、Forward Delay定时器、Max Age
定时器的值
(3)第四行的为路径开销值,因为他本来就是根交换机,所以为0

文章转载自IT知识一享,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论