生成树协议mstp配置Word下载.docx
《生成树协议mstp配置Word下载.docx》由会员分享,可在线阅读,更多相关《生成树协议mstp配置Word下载.docx(73页珍藏版)》请在冰豆网上搜索。
当根端口失效,该端口切换为根端口,如上图中的SwitchB上标注A的端口。
Backup
生成树网络稳定时,该端口作为指定端口的备份端口;
当指定端口失效,该端口切换为指定端口,如上图中的SwitchB上标注B的端口。
Disable
表示该端口处于不活动状态,例如:
端口Shutdown,或者由于生成树算法阻塞多余链路。
17.2.2.2STP端口状态
在STP中,每个端口会根据分配的角色处于以下三种状态之一,从而控制生成树拓扑的形成。
Discarding:
阻塞状态,处于该状态的端口不能学习MAC地址,不参与报文转发。
Learning:
学习状态,处于该状态的端口能够学习MAC地址,但不参与报文转发,作为端口转换到Forwarding的一个过渡状态。
Forwarding:
转发状态,处于该状态的端口能够学习MAC地址,同时参与报文转发。
对一个已经处于稳定的生成树网络,只有RootPort和DesignatedPort才会进入Forwarding状态,而其它角色的端口都处于Discarding状态。
17.2.2.3STP定时器
在STP中,存在三种定时器:
HelloTimer:
触发网桥定时向外发送BPDU报文的时间间隔。
Forward-DelayTimer:
端口状态转换的时间间隔。
例如:
端口从Discarding状态转换到Learning状态,或者从Learning状态转换到
Forwarding状态所需的时间间隔。
Max-AgeTimer:
BPDU报文的生存周期。
当超出这个时间,报文消息将由于过期而被废弃。
17.2.2.4STP协议报文
STP通过定期发送BPDU报文,在网桥间交互网络拓扑信息,确保生成树算法计算出最佳路径,并生成逻辑上无环路的树型拓扑网络。
BPDU报文使用组播地址01-80-C2-00-00-00(十六进制)作为协议报文的目的地址。
BPDU报文在STP中分成两类:
ConfigurationBPDU(配置BPDU)
和
TCNBPDU(拓扑变化通告BPDU)。
1.
TCNBPDU:
是由非根桥设备发出,当网络拓扑发生变化(例如端口UP/DOWN),非根桥设备就会向根桥方向发送一个TCNBPDU报文。
该报文仅通过根端口发送。
2.
ConfigurationBPDU:
是由根桥发出,用于构造并维护生成树网络拓扑结构。
此外,当根桥收到TCNBPDU报文后,会产生一个配置BPDU,用于通知非根桥设备拓扑发生了变化。
该报文仅通过指定端口发送。
ConfigurationBPDU主要包括如下参数:
RootBridgeID
用于识别根桥的网桥ID
RootPathCost
本网桥到根桥的路径花销。
BridgeID
创建该BPDU报文的本地网桥ID
PortID
发送该报文端口的ID,每个端口ID都是唯一的。
MessageAge
该BPDU报文已存活的时间
HelloTime
定时发送BPDU报文的时间间隔。
Forward-DelayTime
Max-AgeTime
17.2.2.5BridgeID
根据IEEE802.1W标准规定,每个网桥都要有一个唯一的网桥ID(BridgeID),生成树算法依据网桥ID选举根桥(RootBridge),网桥ID越小越优先。
BridgeID是由8个字节组成,后6个字节为该网桥的MAC地址,对于前2个字节(如下表所示):
前4个Bit表示优先级(Priority),后12个Bit表示SystemID,为以后扩展协议而用,在RSTP中该SystemID的值为0,因此给网桥配置的优先级必需是4096的倍数。
网桥ID中的优先级和SystemID
Priorityvalue
SystemID
Bit位
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
值
32768
16384
8192
4096
2048
1024
512
256
128
64
32
17.2.3
STP工作原理
生成树算法主要通过以下四个步骤将网络收敛成一个无环的树型结构:
选举根桥
在运行生成树协议的算法中,必须先指定网络拓扑中唯一一个根桥。
根桥的选举是通过比较网桥之间交互的BPDU报文中的BridgeID值来实现的,其中BridgeID优先级最高(值最小)的网桥被选为根桥,如果BridgeID中的优先级相同则比较MAC地址,MAC地址最小的网桥被选为根桥。
选择指定端口和指定网桥
所谓指定端口,是物理网段中到根桥路径开销最小的端口,指定端口所在的网桥为指定网桥。
当根路径开销相同时,先比较BridgeID;
如果BridgeID相同,再比较PortID,比较规则类似根桥选举。
根桥上的所有活动端口都是指定端口,根桥是与它相连的所有物理网段的指定网桥。
3.
选择根口
在每一个非根桥设备上必须选择一个根口,根口是具有到根桥最小根路径开销的端口,负责接收指定网桥转发的数据。
当根路径开销相同时,比较PortID。
4.
阻塞端口
当选出网络中的根口和指定端口,便相应阻塞多余的链路端口。
当网络初始化时,所有的设备都将自己作为根桥,并定期(以Hellotime为周期)向外发送以自己为根桥的配置BPDU。
各网桥将接收到的BPDU与自己产生的BPDU进行比较,如果收到的BPDU优先级高(BridgeID值最小),则保存该BPDU的相应配置信息,更新端口开销后以更新后的BPDU信息继续向外扩散。
如果收到的BPDU优先级比自身的低则丢弃,并发送自己的更高优先级的BPDU进行回应。
通过在各网桥之间交互传递BPDU报文,竞选出优先级最高的网桥作为根桥,并以根桥的ID和路径开销为配置消息向外发送配置BPDU,同时各非根桥计算到根桥的最短路径,进而挑选出每个物理网段的指定网桥。
在每个非根桥内挑选收到最优配置消息(包括路径开销、端口ID等)的端口作为该网桥的根口,并计算其他端口到根口的配置信息,选择最优配置消息的端口为指定端口,并阻塞冗余链路,以此类推在网桥间及网桥内不断计算扩展,将整个网络修剪成无环的树型结构。
如果某条链路或网桥端口发生故障,对应的根端口在指定时间(Max-AgeTime)内没有收到新的配置BPDU,旧的配置BPDU由于过期(Max-AgeTime超时)而被废弃,则网桥将重新向外发送以自己为根桥的配置BPDU,根据生成树算法选出新的一条通路替代原来的故障链路,恢复网络连通性。
17.2.4
STP典型应用
假设SwitchA、B、C的BridgeID是递增的,即SwitchA的优先级最高。
A与B间是千兆链路,A和C间为十兆链路,B和C间为百兆链路。
SwitchA为该网络的骨干设备,网络拓扑如下图所示,显然,如果让这些链路都生效必产生环路。
STP典型应用示意图
如果这三台设备都启用了STP协议,它们通过交互BPDU报文选举A作为根桥。
B发现有两个端口都连在A上,它就选出端口优先级最高的端口为根口,另一个端口作为根口的替换端口。
而C发现它既可以通过B到A,也可以直接到A,根据算法得出:
通过B到A的路径开销比直接到A的低(各种链路对应的路径请参见“配置端口的路径开销”章节),于是C就选择了与B相连的端口作为根口,与A相连的端口作为根口的替换端口,如下图所示。
如果SwitchA和SwitchB之间的活动链路因故障失效,备份链路就会切换为当前活动链路,如下图所示。
同样,如果SwitchB和SwitchC之间的活动链路因故障失效,SwitchC就会自动将根口的替换口切换为根口,如下图所示。
17.3
理解RSTP
17.3.1
RSTP概述
当网络拓扑发生变化时,配置BPDU要经过一段时间才能传播到整个网络,当端口根据收到新的配置BPDU会重新参与生成树计算选举端口角色,为避免配置消息传播到整个网络之前产生临时环路,端口收到配置消息会经历Discarding->
Learning->
Forwarding状态变化过程,每变化一次需要一定的时延,默认15秒时间(即Forward-Delaytime的缺省时间),两次状态切换大约需要相当于两倍Forward-Delaytime,待整个网络拓扑稳定为一个树型结构需要大约50秒的收敛时间。
对于以太网快速发展的今天,收敛时间太长的STP技术已无法满足用户的需求。
RSTP(RapidSpanningTreeProtocol,快速生成树协议)是在IEEE802.1W中定义的,是在STP技术的基础上,通过特有的“Proposal&
Agreement”握手协商方式为生成树协议提供快速收敛机制,它使得以太网的链路收敛在1秒至10秒内完成,大大提高了网络的可靠及稳定性。
注意
RSTP仅适用于点对点链路(Point-to-pointConnect),对于非点对点链路仍然像STP一样的收敛效率。
所谓点对点链路,即两台设备之间直接相连的链路。
17.3.2
RSTP基本概念
17.3.2.1RSTP协议报文
RSTP中仅定义一种BPDU报文,即ConfigurationBPDU(配置BPDU),在此主要说明在RSTP中运行“Proposal&
Agreement”握手协商所需要的两个特有标志位:
ProposalFlag:
若某一网桥向其它网桥发送的BPDU报文中带有
“Proposal”标志,表示建议让自己作为局域网中的根桥或指定网桥。
AgreementFlag:
若其它网桥回复的BPDU报文中带有“Agreement”标志,表示同意对方作为局域网中的根桥或指定网桥。
RSTP没有定义TCNBPDU报文,它通过TC-BPDU报文向其它设备通告网络拓扑发生变化。
TC-BPDU类似TCNBPDU,但TCNBPDU仅在STP模式下通过根口发送,其BPDU的类型为0X80;
而TC-BPDU是表示BPDU报文中的Flags字段的TopologyChange位被置1的报文,它可以在RSTP和MSTP模式下通过根口或指定端口发送,其BPDU的类型为0X02。
17.3.3
RSTP工作原理
如图所示,交换机A与交换机B通过点对点链路连接,所有的端口均处于阻塞状态。
交换机A发送一个特有的“Proposal”报文(一个带有Proposal标志设置的BPDU)给交换机B,建议自己成为根桥。
接收到“Proposal”报文后,交换机B比较BPDU的优先级(BridgeID越小,优先级越高),如果收到的BPDU优先级低则丢弃它,并发送自己更高优先级的BPDU;
如果收到的BPDU优先级高,则更新原先的配置信息,强制其它所有非边缘端口进入阻塞状态,并挑选收到该报文的端口为根口立即进入转发状态,同时通过根口发送“Agreement”(一个带有Agreement标志设置的BPDU)报文给交换机A。
当交换机A收到来自交换机B的“Agreement”报文,立即将收到BPDU的端口进入转发状态。
交换机C同样通过点对点链路与交换机B相连,交换机B和交换机C之间也发送类似的握手协议报文,相互连接的端口也依次被挑选作为根口和指定端口,并进入转发状态。
以此类推扩展至整个网络,使整个网络拓扑在瞬间快速收敛成一个稳定的无环的树型结构。
RTSP快速转发机制
17.4
理解MSTP
17.4.1
MSTP概述
在STP或RSTP环境下,整个网络只有一棵生成树,为保证所有VLAN都能正常通讯,每个VLAN的报文都沿着一棵生成树进行转发,无法实现负载均衡。
MSTP是在802.1S中定义的一种新型生成树协议,MSTP包含了RSTP的快速转发机制,并且能将一个或多个VLAN映射到一个Instance(实例)中,每个实例生成一棵独立的生成树,不同的VLAN沿着各自映射的实例生成树进行数据转发,实现了负载均衡,并保证单个实例出现故障不会影响到其它实例的数据转发。
17.4.2
MSTP基本概念
17.4.2.1MSTP相关角色
MSTP相关角色介绍
请结合上图了解以下MSTP的相关角色介绍:
MSTRegion(MST域)
整个网络被划分为多个MST域,一个MST域可包含多台设备和多个实例,但相同域内每台设备的MSTP配置信息相同,主要包括:
MST域名、MST版本号、VLAN到生成树实例的映射配置。
IST(InternalSpanningTree
内部生成树)
MST域内的一棵生成树,为MST域内的0号实例。
CST(CommonSpanningTree公共生成树)
是连接交换网络内所有MST域的单生成树,如果把每个MST域看作是一个“设备”,CST就是这些“设备”通过MSTP协议计算生成树。
CIST(CommonInstanceSpanningTree公共实例生成树)
IST和CST共同构成CIST,是连接一个交换网络内所有设备的单生成树。
MSTI(多生成树实例)
每个MST域内可以存在多棵生成树,每棵生成树和相应的VLAN对应。
这些生成树就被称为MSTI。
CSTRoot
对于CST来说,各个MST域相当于一个大“设备”,CST是集合所有大“设备”进行生成树计算,选举最优的一个网桥作为整个CST的根桥,这个根桥同时也是该网桥所在域的CISTRegionalRoot。
CISTRegionalRoot
每个MST域通过计算到CSTRoot的最短路径,选出作为这个域的CISTRegionalRoot。
RegionalRoot
在MST域内,每个实例(IST和MSTI)都有自己的根桥,统称为域根。
在一个MST域内,由于各实例形成的生成树结构不同,选出的域根也不同。
Master
CISTRegionalRootPort在MSTI实例上的角色就是MasterPort,即在每个MST域内,提供到CSTRoot的最短路径的端口,作为域内每个实例对外的“出口”,它能转发所有实例的数据。
17.4.2.2MSTP协议报文
在IEEE802.1S中定义了MSTP的BPDU报文,它能够兼容RSTP的BPDU报文,并增加了MSTP特有的CIST和MSTI配置信息,报文格式如图所示:
MSTPBPDU报文格式
MSTI配置消息格式
17.4.2.3HOPCount机制
IST和MSTI并非是通过MessageAge和MaxAge来计算BPDU信息是否超时,而是运用了HopCount机制。
在MST域内,从RegionalRoot
开始,每经过一个设备,HopCount就会减1,直到为0则表示该BPDU信息超时,设备收到Hops值为0的BPDU就丢弃它。
HopCount指定了BPDU报文从RegionalRoot开始经过多少台设备后被丢弃,从而限制了MST域的规模。
在域间,MSTP依然保留了MessageAge和MaxAge的运算机制,兼容STP和RSTP运算方式。
17.4.3
MSTP工作原理
MSTP将整个二层网络划分为多个MST域,如下图。
MSTP拓扑结构图
在每个MST域内,各台设备可以创建多个实例,实例0是强制存在的。
用户可以按需要分配1-4094个Vlan属于不同的实例,未分配的Vlan缺省就属于实例0。
各实例根据各自的网桥优先级、端口优先级以及路径开销竞选出各自的根桥,并决定端口角色,生成独立的多生成树实例(MSTI),其中实例为0的生成树称为IST。
假设在Region1中,各实例中的网桥通过竞选生成相应的生成树拓扑结构,下图所示。
内多生成树实例拓扑结构
在各个域之间通过计算生成CST,并选举网桥ID最小的作为整个CST的根桥(CSTRoot),各个域挑选出到CSTRoot的最短路径的网桥作为CISTRegionalRoot,并挑选该网桥上的根口(MasterPort)负责转发向CSTRoot转发域内消息,如下图所示,三个MST域的IST和CST组成整个CIST,红色连线部分表示为CST,各域中黑色连线代表IST,其中网桥A为CST的根桥,同时也是Region1的CISTRegionalRoot,网桥B和网桥C分别为Region2和Region3的CISTRegionalRoot,网桥B和网桥C分别通过各自的CISTRegionalRootPort与其它域连接。
拓扑结构图
MSTPBPDU中携带了MST的配置信息,当设备收到BPDU携带的MST配置信息和自身的一样时,就会认为该端口上连着的设备和自已是属于同一个MST域,否则就认为来自另外一个MST域。
在MST域间,BPDU将沿着CST转发;
在MST域内,将沿着对应的MSTI转发。
17.5
STP/RSTP/MSTP的兼容
RSTP协议都能够向下兼容STP协议,RSTP协议会根据收到的BPDU版本号判断与之相连的网桥是支持STP协议还是支持RSTP协议,如果与STP网桥互连,就会发送STPBPDU报文与之兼容。
但对于STP和RSTP混用的环境下存在一定的问题,如果与STP网桥互连,就会按照STP的计算方式生成树型结构,无法发挥RSTP的快速收敛功能。
另外,由于在STP模式下无法自动切换回RSTP模式,如下图所示,支持RSTP的交换机A与支持STP的交换机B互连,交换机A发现与它相连的设备支持STP协议,就会发送STPBPDU与之兼容,如果将交换机B设置为支持RSTP协议,但交换机A却依然发送STPBPDU报文,这样使交换机B误认为与之相连的设备支持STP协议,导致两台支持RSTP协议的设备仍工作在STP模式下。
RSTP协议提供了Protocol-migration功能来强制发RSTPBPDU,这样交换机B发现与之互连的设备是支持RSTP协议,就能切换回RSTP模式。
MSTP协议也同样具有RSTP的兼容性。
STP与RSTP之间的兼容
对于RSTP和MSTP混用的情况下,支持RSTP协议的设备能够处理MSTPBPDU中CIST部分,且每台支持RSTP协议的设备都将被看作是独立的一个域,因此,支持MSTP协议的设备无需发送RSTPBPDU与之兼容。
如下图所示。
RSTP与MSTP之间的兼容
17.6
协议规范
相关的协议规范有:
IEEE802.1D:
SpanningTreeProtocol
IEEE802.1W:
RapidSpanningTreeProtocol
IEEE802.1S:
MultipleSpanningTreeProtocol
17.7
STP可选特性简介
以下章节描述了MSTP的可选特性:
PortFast
BPDUGuard
BPDUFilter
TC-protection
TCGuard
BPDU源MAC检查
BPDU非法长度过滤
AutoEdge
RootGuard
LoopGuard
端口的兼容性模式
17.7.1
PortFast功能能够使得二层接入端口立即进入Forwarding状态,而回避了STP收敛所需要经过的Learning状态。
对于接入层设备来说,端口直接与网络终端相连,通过在边缘端口上启用PortFast特性,可以使得这些设备立即连接到网络中,而不必等待生成树进行收敛。
配置了PortFast功能的端口仍然参与生成树计算。
如果在PortFast端口收到BPDU报文,则PortFast功能失效。
此时拓扑改变,端口重新进行生成树的计算。
PortFast功能仅适用与网络终端直连的端口。
如果将在连接网络设备的端口上启用该功能,可能会导致临时数据环路。
PortFast功能生效(PortOperPortFast值为enable)的端口参与生成树计算,端口仍然向外发送BPDU报文。
17.7.2
AutoEdge功能指的是边缘端口的自动识别功能。
边缘端口是指不直接与任何交换机连接,也不通过端口所连接的网络间接与任何交换机相连的端口。
为实现边缘端口无需等待延迟时间,就能够快速进入Forwarding状态,设备在默认情况下就开启边缘的自动识别功能,该功能仅适用于指定端口。
当指定口在一定时间范围内(3秒),如果收不到下游网络发送的BPDU报文,则认为该端口相连的是一台终端设备,从而设置该端口为边缘端口,直接进入Forwarding状态。
如果该端口收到BPDU报文,将自动识别为非边缘口。
PortFast功能通过手工指定某个端口为边缘端口,而AutoEdge功能能够通过协议的运算自动识别端口为边缘端口,不需要手动配置。
AutoEdge功能与PortFast功能共用时,已手工配置的优先生效。
17.7.3
开启BPDUFilter功能,将强制端口不参与生成树计算,端口不接收也不向外发送BPDU报文。
BPDUFilter功能能够防止非法用户在边缘口上发送BPDU