标签:部分 设备状态 使用 拓扑 转换 时间间隔 自动 上进 gre
以太网交换网络中为了提高可靠性,通常会使用冗余链路,但这也带来了网络环路,广播风暴及MAC地址表震荡等问题,于是便诞生了STP(生成树协议),RSTP(快速生成树协议)和MSTP(多生成树协议)。
生成树的主要目的就是通过拓朴计算实现:
BPDU被封装在以太网数据帧中,组播MAC地址是01-80-C2-00-00-00,分为两种:
配置BPDU
用来进行生成树计算和维护生成树拓扑的报文,通常所说的BPDU报文就是指配置BPDU
BPDU报文格式:
一般用{ 根桥ID,根路径开销,发送设备BID,发送端口PID }形式表示消息优先级,只有当发送者的BID或端口的PID两个字段至少有一个和本桥接收端口不同时,BPDU才会被处理,否则丢弃。
TCN BPDU是指在下游拓扑发生变化时向上游发送变化通知,直到根节点。
在以下两种情况下会发生:
在生成树协议中,一台设备被称为一个网桥,或简称桥,每个桥都有一个BID(桥ID),由桥优先级(高16位)与桥MAC(低48位)构成,优先级默认32768。
根桥:优先级最高的桥会被选为根桥
选举方式:
根端口:去根桥路径开销最小的端口,每个非根桥都要选举根端口,根桥上没有根端口
选举方式:
指定桥
指定端口
每个网段都应该有一个指定端口,根桥的所有端口都是指定端口。
选举方式:
预备端口:未被选举为根端口或指定端口的端口,将被阻塞
端口状态 | 说明 |
---|---|
Disabled | 端口状态为Down,不处理BPDU报文,也不转发用户流量。 |
Listening | 过渡状态,开始生成树计算,端口可以接收和发送BPDU,但不转发用户流量。 |
Learning | 过渡状态,建立无环的MAC地址转发表,不转发用户流量,防止环路。 |
Forwarding | 端口可以接收和发送BPDU,也转发用户流量。只有根端口或指定端口才能进入Forwarding状态。 |
Blocking | 端口仅仅接收并处理BPDU,不转发用户流量 |
状态迁移图:
Hello Time
发送BPDU的时间间隔,默认为2秒,当拓扑稳定后,只有在根桥上修改才有效。TCN BPDU的发送不受此定时器管理。
Forward Delay Time
设备状态迁移的状态时间。Forward Delay Timer指一个端口处于Listening和Learning状态的各自持续时间,默认是15秒。即Listening状态持续15秒,随后Learning状态再持续15秒。
链路故障会引发网络重新进行生成树的计算,导致结构变化。新选出的根端口和指定端口立刻开始数据转发的话,可能会造成临时环路,于是有了状态转移机制,需要经过两倍的Forward Delay Time,才能生效。
Max Age
端口的BPDU报文老化时间,可在根桥上修改,默认是20秒。
根桥故障
发现故障后,首先等到Max Age超时,已收到的BPDU作废,非根交换机开始选举根桥,经过两个Forward Delay Time之后恢复转发。缺省情况下至少需要50秒。
直连链路故障
交换机之间有两台链路互联,一条主用,一条备用,如果主用链路故障,需要两倍的Forward Delay Time恢复到转发状态。
非直连链路故障
交换机之间产生了非物理层故障,缺省情况下也是至少需要50秒
拓扑改变导致MAC地址表错误
交换网络中交换机依赖MAC地址表转发数据帧,缺省情况下老化时间为300S,如果拓扑发生变化,MAC地址表中未及时老化的表项会导致数据转发错误。
拓扑改变导致MAC地址表变化
当网络拓扑发生变化时,交换机会从自己的指定端口向外发送TCN BPDU报文,接收到TCN BPDU报文的交换机向发送者回复TCA报文,根交换机接收到TCN BPDU报文向网络中发送TC BPDU,收到TC BPDU的交换机将MAC地址表老化时间设为15s。
STP的劣势:
STP收敛速度过慢
STP没有细致区分端口角色和端口状态,对于用户而言,Listening、Learning和Blocking状态都不转发用户流量,没有区别。从使用和配置的角度而言,端口最本质的区别还是在于端口的角色。
STP只有根桥发送BPDU
RSTP做出以下改变:
如果一个端口在超时时间(超时时间=Hello Time × 3 × Timer Factor)内没有收到上游设备发送过来的配置BPDU,那么该设备认为与此邻居之间的协商失败。而不像STP那样需要先等待一个Max Age。
新增两种端口角色,删除3种端口状态
拓扑稳定后,非根桥设备也会按照hello time时间发送BPDU
不使用定时器
引入快速收敛机制,包括Proposal/Agreement机制、根端口快速切换机制、边缘端口
引入多种保护功能,包括BPDU保护、根保护、环路保护、防TC-BPDU攻击。
RSTP的端口角色共有4种:根端口、指定端口、Alternate端口(预备端口)和Backup端口(备份端口)。
分类 | Alternate端口 | Backup端口 |
---|---|---|
从配置BPDU报文发送角度来看 | 由于学习到其它网桥发送的配置BPDU报文而阻塞的端口 | 由于学习到自己发送的配置BPDU报文而阻塞的端口 |
从用户流量角度来看 | 提供了从指定桥到根的另一条可切换路径,作为根端口的备份端口 | 提供了另一条从根桥到相应网段的备份通路,作为指定端口的备份 |
缩减为3种:
P/A机制
STP的收敛时间较长主要是因为确认端口状态。
Proposal/Agreement机制,其目的是使一个指定端口尽快进入Forwarding状态。
只需请求和回复,一般都是秒级。
根端口快速切换机制
RP一旦出现状况,AP在保证无环的情况下立刻切换成RP,进入Forwarding状态
次等报文处理机制
RSTP处理次等报文BPDU报文不再依赖定时器,会立即发送本地最优的BPDU给对端。
边缘端口
在RSTP里,交换机连接终端的接口可设置为边缘接口。此种接口可从disable状态立即转到forwarding状态,但是如果收到BPDU就会丧失边缘接口属性,成为普通STP端口,参于到生成树计算,引起网络震荡。
BPDU保护
在RSTP网络中,边缘接口在正常情况下是不会收到BPDU,启用保护之后,如果有人伪造RST BPDU恶意攻击交换机,边缘端口将被Error-Down,但属性不便,同时会通知网管系统,并且在交换机上留下日志信息。
根保护
由于错误配置或恶意攻击,网路中的合法根桥可能会收到优先级更高的BPDU报文,使合法根失去根地位,导致网络拓扑错误变动,所以可以对根的指定接口配置根保护。一旦启用,收到优先级更高的报文后端口会进入discarding状态,不再转发报文,经过两个Forward Delay时间后,如果端口一直再没有收到优先级更高的BPDU,端口会自动回复到正常的。
环路保护
在RSTP中,端口状态是依靠不断接收上游设备BPDU维持的,一旦链路出现故障导致收不到RST BPDU,交换设备便会重新选择端口角色,有可能造成交换网络中产生环路。
启动环路保护后,如果RP和AP长时间收不到上游设备的BPDU报文则向网管发出通知信息,同时RP会进入discarding状态,角色切换为DP,AP保持阻塞,但角色切换为DP,不转发报文,直至链路问题解决,收到BPDU报文进行协商后,恢复至之前角色,并且在交换机上留下日志信息。
防TC-BPDU攻击
收到TC BPDU后会执行MAC地址表项和ARP表项删除工作。
为防止恶意攻击,可启用防TC-BPDU攻击功能,处理TC BPDU报文的次数可配置。
当一个网段里既有运行STP的交换设备又有运行RSTP的交换设备,STP交换设备会忽略RSTP BPDU,运行RSTP的交换设备在某端口上接收到运行STP的交换设备发出的配置BPDU,在两个Hello Time时间之后,便把自己的端口转换到STP工作模式,发送配置BPDU,从而实现了互相兼容。
RSTP在STP基础上进行了改进,实现了网络拓扑快速收敛。但RSTP和STP还存在同一个缺陷:由于局域网内所有的VLAN共享一棵生成树,因此无法在VLAN间实现数据流量的负载均衡,链路被阻塞后将不承载任何流量,还有可能造成部分VLAN的报文无法转发。
MSTP的解决方案就是把一个交换网络划分成多个域,每个域内形成多棵生成树,生成树之间彼此独立.
VLAN映射表是MST域的属性,它描述了VLAN和MSTI之间的映射关系。如图中所示,MST Region 4的VLAN映射表是:
CST
公共生成树,是连接所有MST域的一棵生成树。
IST
内部生成树,是各MST域内以一棵生成树。
SST
单生成树,运行STP或RSTP的交换设备只能属于一个生成树。如果MST域中只有一个交换设备,这个交换设备构成单生成树。
CIST
公共和内部生成树,所有区域的IST加上CST就构成了一棵完整的生成树。
总根
CIST的根桥
域根
分为IST域根和MSTI域根
主桥
也就是IST Master,是域内距离总根最近的交换设备。如果总根在MST域内,则总根为该域的主桥。
在RSTP的基础上增加了两种端口:
域边缘端口
是指位于MST域的边缘并连接其它MST域或SST的端口。
Master端口
Master端口是MST域和总根相连的所有路径中最短路径上的端口,它是交换设备上连接MST域到总根的端口。
Master端口是域中的报文去往总根的必经之路。
Master端口是特殊域边缘端口,Master端口在CIST上的角色是Root Port,在其它各实例上的角色都是Master端口。
端口状态与RSTP相同
CIST的计算
优先级向量(依次递减):{ 根交换设备ID,外部路径开销,域根ID,内部路径开销,指定交换设备ID,指定端口ID,接收端口ID }
经过比较配置消息后,在整个网络中选择一个优先级最高的交换设备作为CIST的树根。在每个MST域内MSTP通过计算生成IST;同时MSTP将每个MST域作为单台交换设备对待,通过计算在MST域间生成CST。CST和IST构成了整个交换设备网络的CIST。
MSTI的计算
优先级向量(依次递减):{ 域根ID,内部路径开销,指定交换设备ID,指定端口ID,接收端口ID }
MSTI的特点:
在运行MSTP协议的网络中,一个VLAN报文将沿着如下路径进行转发:
新添了增强P/A机制。
华为提出的生成树协议,与MSTP类似,但是比MSTP更加简单。
VBST是一个VLAN对应一棵生成树,不同VLAN的流量按照不同的路径转发。每棵生成树之间相互独立。
沿用了以下概念:
不同点:
标签:部分 设备状态 使用 拓扑 转换 时间间隔 自动 上进 gre
原文地址:https://www.cnblogs.com/tmjblog/p/12643854.html