华三STPRSTPMSTP.docx
《华三STPRSTPMSTP.docx》由会员分享,可在线阅读,更多相关《华三STPRSTPMSTP.docx(22页珍藏版)》请在冰豆网上搜索。
![华三STPRSTPMSTP.docx](https://file1.bdocx.com/fileroot1/2023-5/20/3d44789c-4c4a-471a-b933-0b5bf29e3c6a/3d44789c-4c4a-471a-b933-0b5bf29e3c6a1.gif)
华三STPRSTPMSTP
STP-RSTP-MSTP技术提要
1、STP
1.STP的用途
1 STP(SpanningTreeProtocol,生成树协议)是根据IEEE协会制定的802.1D标准
建立的,用于在局域网中消除数据链路层物理环路的协议。
2 运行该协议的设备通过彼此交互信息发现网络中的环路,并有选择的对某些端口进
行阻塞,最终将环路网络结构修剪成无环路的树型网络结构,从而防止报文在环路
网络中不断增生和无限循环,避免设备由于重复接收相同的报文造成的报文处理能
力下降的问题发生。
3 STP包含了两个含义,狭义的STP是指IEEE802.1D中定义的STP协议,广义的
STP是指包括IEEE802.1D定义的STP协议以及各种在它的基础上经过改进的生
成树协议
2.STP的协议报文
1 STP采用的协议报文是BPDU(BridgeProtocolDataUnit,桥协议数据单元),也
称为配置消息。
2 STP通过在设备之间传递BPDU来确定网络的拓扑结构。
BPDU中包含了足够的
信息来保证设备完成生成树的计算过程。
3 BPDU在STP协议中分为两类:
1>配置BPDU(ConfigurationBPDU):
用来进行生成树计算和维护生成树拓扑的
报文。
2>TCNBPDU(TopologyChangeNotificationBPDU):
当拓扑结构发生变化时,用
来通知相关设备网络拓扑结构发生变化的报文。
3.STP的基本概念
1 根桥:
1>树形的网络结构,必须要有树根,于是STP引入了根桥(RootBridge)的概念
2>根桥在全网中只有一个,而且根桥会根据网络拓扑的变化而改变,因此根桥并
不是固定的
3>网络收敛后,根桥会按照一定的时间间隔产生并向外发送配置BPDU,其他的
设备对该配置BPDU进行转发,从而保证拓扑的稳定。
2 根端口:
1>所谓根端口,是指一个非根桥的设备上离根桥最近的端口。
根端口负责与根桥
进行通信。
2>非根桥设备上有且只有一个根端口。
根桥上没有根端口。
3 指定桥与指定端口
4 路径开销
1>路径开销是STP协议用于选择链路的参考值。
2>STP协议通过计算路径开销,选择较为“强壮”的链路,阻塞多余的链路,将
网络修剪成无环路的树型网络结构。
4.STP的基本原理
1 概述:
STP通过在设备之间传递BPDU来确定网络的拓扑结构。
配置消息中包含
了足够的信息来保证设备完成生成树的计算过程,其中包含的几个重要信息
如下:
1>根桥ID:
由根桥的优先级和MAC地址组成
2>根路径开销:
到根桥的路径开销
3>指定桥ID:
由指定桥的优先级和MAC地址组成
4>指定端口ID:
由指定端口的优先级和端口名称组成
5>配置消息在网络中传播的生存期:
MessageAge
6>配置消息在设备中能够保存的最大生存期:
MaxAge
7>配置消息发送的周期:
HelloTime
8>端口状态迁移的延时:
ForwardDelay
2 STP算法的具体实现过程
1>初始状态
每台设备的各个端口在初始时会生成以自己为根桥的配置消息,根路径开销为
0,指定桥ID为自身设备ID,指定端口为本端口。
2>最优配置消息的选择
各台设备都向外发送自己的配置消息,同时也会收到其他设备发送的配置消息
3>根桥的选择
网络初始化时,网络中所有的STP设备都认为自己是“根桥”,根桥ID为自身
的设备ID。
通过交换配置消息,设备之间比较根桥ID,网络中根桥ID最小的
设备被选为根桥。
4>根端口、指定端口的选择
3 上述任务完成之后,整个的树形拓扑就建立完成
5.STP的消息传递机制
1 当网络初始化时,所有的设备都将自己作为根桥,生成以自己为根的配置消息,并
以HelloTime为周期定时向外发送【Hello周期=2秒】
2 接收到配置消息的端口如果是根端口,且接收的配置消息比该端口的配置消息优,
则设备将配置消息中携带的MessageAge按照一定的原则递增,并启动定时器为
这条配置消息计时,同时将此配置消息从设备的指定端口转发出去。
3 如果指定端口收到的配置消息比本端口的配置消息优先级低时,会立刻发出自己的
更好的配置消息进行回应
4 如果某条路径发生故障,则这条路径上的根端口不会再收到新的配置消息,旧的配
置消息将会因为超时而被丢弃,设备重新生成以自己为根的配置消息并向外发送,
从而引发生成树的重新计算,得到一条新的通路替代发生故障的链路,恢复网络连
通性。
6.注意事项
1 重新计算得到的新配置消息不会立刻就传遍整个网络,因此旧的根端口和指定端口
由于没有发现网络拓扑变化,将仍按原来的路径继续转发数据。
2 如果新选出的根端口和指定端口立刻就开始数据转发,可能会造成暂时性的环路
7.STP定时器(ForwardDelay、HelloTime和MaxAge)
1 ForwardDelay为设备状态迁移的延迟时间。
链路故障会引发网络重新进行生成树
的计算,生成树的结构将发生相应的变化。
不过重新计算得到的新配置消息无法立
刻传遍整个网络,如果新选出的根端口和指定端口立刻就开始数据转发的话,可能
会造成暂时性的环路。
为此,STP采用了一种状态迁移的机制,新选出的根端口
和指定端口要经过2倍的ForwardDelay延时后才能进入转发状态,这个延时保证
了新的配置消息已经传遍整个网络。
2 HelloTime用于设备检测链路是否存在故障。
设备每隔HelloTime时间会向周围
的设备发送hello报文,以确认链路是否存在故障。
3 MaxAge是用来判断配置消息在设备内保存时间是否“过时”的参数,设备会将
过时的配置消息丢弃
2、RSTP【分段收敛】
1.概述:
1 快速生成树协议(rapidspaningtreeprotocol):
802.1w由802.1d发展而成
2 这种协议在网络结构发生变化时,能更快的收敛网络。
它比802.1d多了两种端口
类型:
预备端口类型(alternateport)和备份端口类型。
2.技术原理
1 stp规定在某些情况下,处于Blocking状态的端口不必经历2倍的ForwardDelay
时延而可以直接进入转发状态。
如网络边缘端口(即直接与终端相连的端口),可
以直接进入转发状态,不需要任何时延。
或者是网桥旧的根端口已经进入Blocking
状态,并且新的根端口所连接的对端网桥的指定端口仍处于Forwarding状态,那
么新的根端口可以立即进入Forwarding状态。
2 即使是非边缘的指定端口,也可以通过与相连的网桥进行一次握手,等待对端网桥
的赞同报文而快速进入Forwarding状态。
【握手次数会受到网络直径的限制】
3.端口状态
在RSTP中只有三种端口状态,Discarding、Leaning和Forwarding。
802.1D中的禁止端
口,阻塞端口,监听端口在802.1W中统一合并为禁止端口。
4.RSTP的P/A机制【适用于P2P】
P/A机制即Proposal/Agreement机制。
其目的是使一个指定端口尽快进入Forwarding状
态。
其过程的完成根据以下几个端口变量:
1 Proposing:
当一个指定端口处于Discarding或Learning状态的时候,该变量置位。
并向下游交换传递Proposal位被置位的BPDU
2 Proposed:
当端口收到对端的指定端口发来的携带Proposal的BPDU的时候。
该变
量置位。
该指示本网段上的指定端口希望忙进入Forwarding状态。
3 Sync:
当Proposed被设置以后,收到Proposal置位信息的根端口会依次为自己的
其他端口置位sync变量。
如果端口是非边缘的指定端口是则会进入
Discarding状态
4 Synced:
当端口完成转到Discarding后,,会设置自己的synced变量。
Alternate、
Backup和边缘端口会马上设置该变量。
根端口监视其他端口的synced,
当所有其他端口的synced全被设置,,根端口会设置自己的synced,然后
传回BPDU,其中Agreement位被置位。
5 Agreed:
当指定端口接收到一个BPDU时,如果该BPDU中的Agreement位被置
位且端口角色定段是“根端口”,该变量被设置。
Agreed变量一旦被置位,
指定端口马上转入Forwarding状态。
注:
RSTP的连接类型
5.RSTP相对于STP的改进
1 STP没有明确区分端口状态与端口角色,收敛时主要依赖于端口状态的切换。
RSTP
比较明确的区分了端口状态与端口角色,且其收敛时更多的是依赖于端口角色的切
换。
2 STP端口状态的切换必须被动的等待时间的超时。
而RSTP端口状态的切换却是一
种主动的协商
3 STP中的非根网桥只能被动的中继BPDU。
而RSTP中的非根网桥对BPDU的中继
具有一定的主动性
3、MSTP
1.STP/RSTP的缺陷
1 STP不能快速迁移,即使是在点对点链路或边缘端口(边缘端口指的是该端口直
接与用户终端相连,而没有连接到其它设备或共享网段上),也必须等待2倍的
ForwardDelay的时间延迟,端口才能迁移到转发状态。
2 RSTP(RapidSpanningTreeProtocol,快速生成树协议)是STP协议的优化版。
其
“快速”体现在,当一个端口被选为根端口和指定端口后,其进入转发状态的延时
在某种条件下大大缩短,从而缩短了网络最终达到拓扑稳定所需要的时间
2.说明
1 RSTP中,根端口的端口状态快速迁移的条件是:
本设备上旧的根端口已经停止转
发数据,而且上游指定端口已经开始转发数据
2 RSTP中,指定端口的端口状态快速迁移的条件是:
指定端口是边缘端口或者指定
端口与点对点链路相连。
如果指定端口是边缘端口,则指定端口可以直接进入转发
状态;如果指定端口连接着点对点链路,则设备可以通过与下游设备握手,得到响
应后即刻进入转发状态
3 RSTP可以快速收敛,但是和STP一样存在以下缺陷:
局域网内所有网桥共享一棵
生成树,不能按VLAN阻塞冗余链路,所有VLAN的报文都沿着一棵生成树进行
转发
3.MSTP的特点
MSTP(MultipleSpanningTreeProtocol,多生成树协议)可以弥补STP和RSTP的缺陷,
它既可以快速收敛,也能使不同VLAN的流量沿各自的路径转发,从而为冗余链路提供
了更好的负载分担机制
1 MSTP设置VLAN映射表(即VLAN和生成树的对应关系表),把VLAN和生成
树联系起来。
通过增加“实例”(将多个VLAN整合到一个集合中)这个概念,将
多个VLAN捆绑到一个实例中,以节省通信开销和资源占用率。
2 MSTP把一个交换网络划分成多个域,每个域内形成多棵生成树,生成树之间彼此
独立
3 MSTP将环路网络修剪成为一个无环的树型网络,避免报文在环路网络中的增生和
无限循环,同时还提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN
数据的负载分担
4 MSTP兼容STP和RSTP
4、MSTP的基本术语
1.MSTP示意图
2.关键术语
1 MST域:
MST域(MultipleSpanningTreeRegions,多生成树域)是由交换网络中
的多台设备以及它们之间的网段所构成。
这些设备具有下列特点:
1>都启动了MSTP
2>具有相同的域名
3>具有相同的VLAN到生成树实例映射配置
4>具有相同的MSTP修订级别配置
5>这些设备之间在物理上有链路连通
说明:
域内所有设备都有相同的MST域配置
A域名相同
BVLAN与生成树实例的映射关系相同(VLAN1映射到生成树实例1,VLAN2映
射到生成树实例2,其余VLAN映射到CIST。
其中,CIST即指生成树实例0)
C相同的MSTP修订级别
D一个交换网络可以存在多个MST域。
用户可以通过MSTP配置命令把多台设
备划分在同一个MST域内。
2 VLAN映射表:
VLAN映射表是MST域的一个属性,用来描述VLAN和生成树实
例的映射关系
3 IST(InternalSpanningTree,内部生成树)是MST域内的一棵生成树。
注:
IST和CST(CommonSpanningTree,公共生成树)共同构成整个交换网络的
生成树CIST(CommonandInternalSpanningTree,公共和内部生成树)。
IST
是CIST在MST域内的片段
4 CST:
CST是连接交换网络内所有MST域的单生成树。
如果把每个MST域看作
是一个“设备”,CST就是这些“设备”通过STP协议、RSTP协议计算生
成的一棵生成树
5 CIST:
CIST是连接一个交换网络内所有设备的单生成树,由IST和CST共同构成
6 MSTI:
一个MST域内可以通过MSTP生成多棵生成树,各棵生成树之间彼此独
立。
每棵生成树都称为一个MSTI(MultipleSpanningTreeInstance,多生
成树实例)
注:
每个域内可以存在多棵生成树,每棵生成树和相应的VLAN对应。
这些生成
树就被称为MSTI
7 域根:
MST域内IST和MSTI的根桥就是域根。
MST域内各棵生成树的拓扑不同,
域根也可能不同
注:
如上图所示,区域D0中,生成树实例1的域根为设备B,生成树实例2的域
根为设备C
8 总根:
总根(CommonRootBridge)是指CIST的根桥
9 域边界端口:
域边界端口是指位于MST域的边缘,用于连接不同MST域、MST
域和运行STP的区域、MST域和运行RSTP的区域的端口。
注:
1>如果区域A0的一台设备和区域D0的一台设备的第一个端口相连,整个交
换网络的总根位于A0内,则区域D0中这台设备上的第一个端口就是区域
D0的域边界端口
2>域边界端口在生成树实例上的角色与CIST的角色保持一致,但是Master
端口除外,Master端口在CIST上的角色为ROOT端口,但是在其他实例
上的角色才为Master端口
10 端口角色
1>根端口:
负责向根桥方向转发数据的端口
2>指定端口:
负责向下游网段或设备转发数据的端口
3>Master端口:
连接MST域到总根的端口,位于整个域到总根的最短路径上。
从CST上看,master端口就是域的“根端口”(把域看作是一
个节点)。
Master端口在IST/CIST上的角色是根端口,在其它
各个实例上的角色都是Master端口
4>Alternate端口:
根端口和Master端口的备份端口。
当根端口或Master端口被
阻塞后,Alternate端口将成为新的根端口或Master端口
5>Backup端口:
指定端口的备份端口。
当指定端口被阻塞后,Backup端口就会快
速转换为新的指定端口,并无时延的转发数据。
当开启了MSTP
的同一台设备的两个端口互相连接时就存在一个环路,此时设备
会将其中一个端口阻塞,Backup端口是被阻塞的那个端口
注:
端口在不同的生成树实例中可以担任不同的角色
说明:
A设备A、B、C、D构成一个MST域
B设备A的端口1、端口2向总根方向连接
C设备C的端口5、端口6构成了环路
D设备D的端口3、端口4向下连接其他的MST域
3.端口状态
1 Forwarding状态:
学习MAC地址,转发用户流量
2 Learning状态:
学习MAC地址,不转发用户流量
3 Discarding状态:
不学习MAC地址,不转发用户流量
注:
1>同一端口在不同的生成树实例中的端口状态可以不同
2>端口状态和端口角色是没有必然联系
5、MSTP的基本原理
1.概述
1 MSTP将整个二层网络划分为多个MST域,各个域之间通过计算生成CST;域内
则通过计算生成多棵生成树,每棵生成树都被称为是一个多生成树实例。
2 其中实例0被称为IST,其他的多生成树实例为MSTI。
MSTP同STP一样,使用
配置消息进行生成树的计算,只是配置消息中携带的是设备上MSTP的配置信息。
2.CIST生成树的计算
1 通过比较配置消息后,在整个网络中选择一个优先级最高的设备作为CIST的根桥。
在每个MST域内MSTP通过计算生成IST
2 同时MSTP将每个MST域作为单台设备对待,通过计算在域间生成CST。
CST和
IST构成了整个网络的CIST
3.MSTI的计算
1 在MST域内,MSTP根据VLAN和生成树实例的映射关系,针对不同的VLAN生
成不同的生成树实例
2 每棵生成树独立进行计算,计算过程与STP计算生成树的过程类似
3 MSTP中,一个VLAN报文将沿着如下路径进行转发
1>在MST域内,沿着其对应的MSTI转发
2>在MST域间,沿着CST转发
6、MSTP在设备上的实现
1.MSTP同时兼容STP、RSTP。
STP、RSTP两种协议报文都可以被运行MSTP的设备识
别并应用于生成树计算
2.设备除了提供MSTP的基本功能外,还从用户的角度出发,提供了许多便于管理的特殊
功能,如下所示:
1 根桥保持
2 根桥备份
3 根保护功能
4 BPDU保护功能
5 环路保护功能
6 防止TC-BPDU报文攻击功能
3.相关的协议规范
1 IEEE802.1D:
SpanningTreeProtocol
2 IEEE802.1w:
RapidSpanningTreeProtocol
3 IEEE802.1s:
MultipleSpanningTreeProtocol
7、指定端口快速迁移机制
1.概述:
RSTP和MSTP的指定端口快速迁移机制使用两种协议报文
1 proposal报文:
指定端口请求快速迁移的报文
2 agreement报文:
同意对端进行快速迁移的报文
2.说明:
RSTP和MSTP均要求上游设备的指定端口在接收到下游设备agreement报文后才
能进行快速迁移。
不同之处如下
1 对于MSTP,上游设备先向下游设备发送agreement报文,而下游设备的根端口只
有在收到了上游设备的agreement报文后才会向上游设备回应agreement报文
2 对于RSTP,下游设备无需等待上游设备发送agreement报文就可向上游设备发送
agreement报文。
3 当设备与作为上游设备且对MSTP协议的实现存在私有性差异的厂商设备互联
时,二者在快速迁移的配合上可能会存在一定的限制
4 通过在设备上与对MSTP协议的实现存在私有性差异的上游厂商设备相连的端口
开启NoAgreementCheck特性,可避免这种情况的出现,使得上游厂商设备的指
定端口能够进行状态的快速迁移
实例分析:
例如:
上游设备指定端口的状态迁移实现机制与RSTP类似;而下游设备运行
MSTP并且不工作在RSTP兼容模式时,由于下游设备的根端口接收不到上游设备
的agreement报文,它不会向上游设备发agreement报文,所以上游设备的指定端
口无法实现状态的快速迁移,只能在2倍的ForwardDelay延时后变成转发状态
3.配置方法
1 前提条件:
1>设备与作为上游设备且支持MSTP的设备互连,并且端口之间为点对点链路
2>为设备和厂商设备配置相同的域名、域配置修订级别和VLAN与实例映射关
系,以确保它们在同一个域内
2 配置命令
3 说明:
当且仅当在根端口上开启NoAgreementCheck特性时,此特性才会生效
4.配置举例
1 配置需求:
1>DeviceA与对MSTP协议的实现存在私有性差异的厂商设备互连并配置在同一
域内
2>厂商设备作为域根,DeviceA作为下游设备
2 拓扑图
3 配置命令
#在DeviceA端口Ethernet1/0/1上开启NoAgreementCheck特性。
system-view
[DeviceA]interfaceethernet1/0/1
[DeviceA-Ethernet1/0/1]stpno-agreement-check