MSTP
了解MSTP, 在CS6200上进行配置
简介
它应用RSTP的快速收敛特性,允许多个具有相同拓扑的VLAN映射到一个生成树实例上,而这个生成树拓扑同其它生成树实例相互独立。这种机制一方面用多重生成树实例为映射到它的VLAN的数据流量提供了独立的发送路径,实现不同实例间VLAN数据流量的负载分担;另一方面,若干个VLAN共享同一个拓扑实例(MSTI),同每个VLAN对应一个生成树(PVST)的实现方法相比,大大减少了每个网桥需要维持的生成树实例的数量,节约了CPU资源
MSTP把一个交换网络划分成多个域,每个域内形成多棵生成树,生成树之间彼此独立。每棵生成树叫做一个多生成树实例MSTI(Multiple Spanning Tree Instance),每个域叫做一个MST域(MST Region:Multiple Spanning Tree Region)
域用来解决如何判断某个VLAN映射到哪个生成树实例的问题
在同一个MST域(MST Region)必须满足以下条件
- 都启动了MSTP
- 域名(Region Name)
- 修订级别(Revision Level)
- 格式选择器(Configuration Identifier FormatSelector)
- VLAN与实例的映射关系(mapping of VIDs to spanning trees)…
VLAN映射表:
VLAN映射表是MST域的属性,它描述了VLAN和MSTI之间的映射关系
在BPDU里是一个摘要, 该摘要是根据映射关系计算得到的一个16字节签名
CST
公共生成树CST(Common Spanning Tree)是连接交换网络内所有MST域的一棵生成树。
如果把每个MST域看作是一个节点,CST就是这些节点通过STP或RSTP协议计算生成的一棵生成树。
IST
内部生成树IST(Internal Spanning Tree)是各MST域内的一棵生成树。
IST是一个特殊的MSTI,MSTI的ID为0,通常称为MSTI0。
IST是CIST在MST域中的一个片段。
SST
运行STP或RSTP的交换设备只能属于一个生成树。
MST域中只有一个交换设备时,这个交换设备构成单生成树。
CIST
所有MST域的IST+CST即构成了一个完整的生成树, 即CIST
总根
总根是CIST(Common and Internal Spanning Tree)的根桥。
域根
域根(Regional Root)分为IST域根和MSTI域根。
一个MST域内可以生成多棵生成树,每棵生成树都称为一个MSTI。MSTI域根是每个多生成树实例的树根。
主桥
主桥(Master Bridge)也就是IST Master,它是域内距离总根最近的交换设备。
端口角色
根端口、指定端口、Alternate端口、Backup端口和边缘端口的作用同RSTP协议中定义。
除边缘端口外,其他端口角色都参与MSTP的计算过程。
同一端口在不同的生成树实例中可以担任不同的角色。
所谓”实例”就是多个VLAN的一个集合。在MSTP中,各个实例拓扑的计算是独立的,一个MSTP实例单独计算一棵生成树,在这些实例上就可以实现负载均衡。使用的时候可以把多个相同拓扑结构的VLAN映射到同一个实例中,这些VLAN在端口上的转发状态将取决于对应实例在MSTP里的转发状态。
端口角色
STP需要做两件事情:选举根桥、确定端口角色。
外部与内部路径开销ExtRPC&IntRPC
外部路径开销是相对于CIST而言的,同一个域内外部路径开销是相同的;内部路径开销是域内相对于某个实例而言的,同一端口对于不同实例对应不同的内部路径开销。
域边缘端口
域边缘端口是指位于MST域的边缘并连接其它MST域或SST的端口
Alternate端口
Alternate端口是根端口的备份端口,如果根端口被阻塞后,Alternate端口将成为新的根端口
Backup端口
当同一台交换机的两个端口互相连接时就存在一个环路,此时交换机会将其中一个端口阻塞,Backup端口就是被阻塞的那个端口。
从转发用户流量来看,Backup端口,作为指定端口的备份
Master端口
Master端口是MST域和总根相连的所有路径中最短路径上的端口,它是交换机上连接MST域到总根的端口。Master端口是域中的报文去往总根的必经之路。
Master端口是特殊域边缘端口,Master端口在IST/CIST上的角色是Root Port,在其它各实例上的角色都是Master。
配置
我只用3个交换机测试, 所以只有一个域
即CIST=IST
CIST总根=IST域根
1 | # 开启生成树(默认mstp), 开启后才能设置其他mode域 |
拓扑
<暂时未画..>
各交换机参数如下(改过S1的优先级):
1 | S1#show spanning-tree |
Current port list in Instance 0:
默认所有vlan都映射到intance 0intRPC
: 内部开销extRPC
: 外部开销Region Root Id
: 域根Root Port ID: 128.3
: 根端口(port_pri.vlan_id)DsgBridge
: 指定桥, 上游交换机给我发的BPDU的桥ID(bridge_pri.mac)Designate Port
: 上游交换机给我发BPDU的端口
选举根桥
接收BPDU, 比较BID–>先比较优先级,优先级值越小,优先级越高。如果优先级相同,则比较MAC地址大小,越小越优
1 | # 更改优先级 |
根桥选出后,其他交换机都可以叫指定桥。指定桥不再主动发出BPDU,只会转发根桥的BPDU。根桥每间隔Hello Time(默认2秒)时间周期性发出BPDU。
根端口
PID共占2个字节,其中,优先级与端口索引号各占1字节。但为了避免端口索引号不够用,把优先级中的低4位保留用于端口索引号,一般取值为0000。高4位优先级默认二进制取值为1000,所以端口优先级默认为128, 低4位无意义, step为16
对比哪个离根桥最近, 也就是对比RPC(root path cost)
如果RPC相同, 还有几个参数提供选择: 指定BID>指定Port ID>自身端口PID(优先级>端口编号)
1 | # 端口下 |
指定端口
cost小的就是指定端口
1 | # 端口模式下 |
配置MSTP域
1 | # config |
PORTFAST
1 | # 端口模式下 |
参考
这篇MSTP是真的爱了!(图解易懂)
1.NAT简述及其配置
2.VPN简述及实现
3.DCP-debugging
4.dynamic-vlan
5.Security
6.交换机认证配置
7.Port_channel
8.交换机基础配置