STP 消除环路的思想.docx
- 文档编号:28616520
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:32
- 大小:8.04MB
STP 消除环路的思想.docx
《STP 消除环路的思想.docx》由会员分享,可在线阅读,更多相关《STP 消除环路的思想.docx(32页珍藏版)》请在冰豆网上搜索。
STP消除环路的思想
*STP消除环路的思想:
将网络拓扑修剪为树形1.选择树根节点ROOT;2.确定最短路径;3.阻塞冗余链路。
*桥ID用于在STP中唯一的标识一个桥,桥ID由两部分组成,长度为8个字节:
1.桥优先级:
高16位;2.MAC地址:
低48位。
桥ID:
【桥优先级:
2字节】【桥MAC地址:
6字节】
*路径开销(PathCost):
1、路径开销用于衡量桥与桥之间路径的优劣;2、STP中每条链路都具有开销值;3、路径开销等于路
径上全部链路开销之和。
*链路开销标准:
*配置BPDU:
1、网桥通过交互配置BPDU获取STP计算所需要的参数;2、配置BPDU基于二层组播方式发送,目的地址为
01-80-C2-00-00-00;3、配置BPDU由根桥周期发出,发送周期为HelloTime;4、配置BPDU老化时间为MaxAge。
*配置BPDU格式:
(网桥协议数据单元(BridgeProtocolDataUnit))
*STP计算方法:
1、配置BPDU处理:
·网桥将各个端口收到的配置BPDU和自己的配置BPDU做比较,得出优先级最高的配置BPDU;
·网桥用优先级最高的配置BPDU更新本身的配置BPDU,用于选举根桥和确定端口角色;
·网桥从指定端口发送新的配置BPDU。
2、配置BPDU比较原则——优先级向量最小者最优:
首先比较RootBridgeID--->其次比较RootPathCost--->再次比较DesignateBridgeID--->再其次比较DesignatePortID--->
最后比较BridgePortID。
*根桥选择:
起始各个交换机都认为自己是根桥,然后进行互发帧进行根桥PK,最终根桥ID最小者胜出。
*确定端口角色的标准:
1、根端口:
网桥上到根桥最近的端口;2、指定端口:
端口的配置BPDU在其所属链路上是最优的;3、Alternate
端口:
端口的配置BPDU在其所属链路上不是最优的,且端口不是根端口。
Alternate端口:
端口既非根端口也非指定端口;根端口:
该端口到根桥的开销最小;指定端口:
端口拥有该链路上最优的配
置消息。
(根桥发送的BPDU消息,其中BPC=0)
*端口角色确定过程:
当路径开销相等时,则根据顺序比较DesignateBridgeID,越不优者相连或与之相连的端口为Alternate端口。
而对于链路
聚合的模型,两条链路开销相等时,则要比较DesignatePortID,端口越不优者为Alternate端口。
*临时环路问题:
当拓扑结构发生变化,新的配置BPDU要经过一定的时延才能传播到整个网络,在所有网桥收到这个变化的消息
之前可能会存在临时环路。
*通过中间状态避免临时环路:
1、STP为端口定义了五种状态:
Disabled、Blocking、Listening、Learning、Forwarding。
2、各端口状态对配置BPDU收发、MAC地址学习以及数据收发的处理有所不同。
STP
端口状态是否发送配置BPDU
是否进行MAC
地址学习是否收发数据
Disabled
否
否
否
Blocking
否
否
否
Listening
是
否
否
Learning
是
是
否
Forwarding
是
是
是
*ForwardDelay延时:
1、从中间状态Listening经过一个延时进入另一个中间状态Learning;
2、从Learning状态再经过一个延时进入Forwarding状态;
3、延时长度为ForwardDelay。
*STP端口状态机:
*STP拓扑改变处理过程:
(从中断到恢复需要等待MAC地址老化,将近5分钟的时间!
)
TCNBPDU:
(TopologyChangeAcknowledgment:
拓扑改变消息)
1、网桥发送TCNBPDU的条件为:
1.有端口转变为Forwarding状态,且该网桥至少包含一个指定端口;2.有端口从Forwarding状
态或Learning状态转变为Blocking状态。
TCA以及TC置位的配置BPDU:
*当根桥故障后,指定根桥等待MaxAgeTimer后没收到消息,则判断为根桥down掉了。
*STP协议的不足:
1、收敛时间长:
缺省情况下一个端口从Blocking状态过渡到Forwarding状态至少需要30秒钟(两倍的Forward
Delay)。
对于一个拓扑不稳定网络,会导致网络的长时间中断。
(两倍:
Listening--->Learning--->Forwarding)
2、拓扑变化收敛机制不灵活:
主机频繁上下线时,网络会产生大量TCN。
*RSTP:
1、RSTP是从STP发展而来,实现的基本思想一致;
2、RSTP具备STP的所有功能,可以兼容STP运行;
3、RSTP和STP有所不同:
1.减少了端口状态;2.增加了端口角色;3.BPDU格式及发送方式不同;4.当交换网络拓扑结构发生
变化时,RSTP可以更快地恢复网络的连通性。
*RSTP将端口状态缩减为三个:
Discarding、Learning、Forwarding。
RSTP将端口角色增加到四个:
根端口、指定端口、Alternate端口、Backup端口。
*RSTBPDU报文和STP相比不同之处有:
1.ProtocolVersionID变为2;2.BPDUType变为2;3.使用了Flags字段的全部8位;
4.增加Version1Length字段。
*RSTBPDU中的Flags字段:
在RSTBPDU的Flags字段中,除TC以及TCA标志位,还包含P/A标志位、端口状态标志位以及端口角色标志位。
*RSTP中BPDU的处理:
1、网桥自行从指定端口发送RSTBPDU,不需要等待来自根桥的RSTBPDU。
发送周期为HelloTime;
2、RSTBPDU老化时间为3个连续的HelloTime时长。
*收到低优先级RSTBPDU的处理:
阻塞状态的端口可以立即对收到的低优先级的RSTBPDU做出回应。
*RSTP快速收敛机制:
STP中端口需要等待两个ForwardDelay时长才能进入转发状态,如果想缩短收敛时间只能手工配置Forward
Delay为较小的值,但是这样可能会影响网络的稳定性;
·RSTP提出了快速收敛机制,包括:
边缘端口机制;根端口快速切换机制;指定端口快速切换机制。
*边缘端口(EdgePort):
1、边缘端口指网桥上直接和终端相连的端口(如:
直接与主机相连的交换机);
2、边缘端口可以直接进入转发状态,不需要延时,并且不会触发拓扑改变;
3、边缘端口收到BPDU后,会转变为非边缘端口。
*根端口快速切换:
如果旧的根端口已经进入阻塞状态,而且新根端口连接的对端网桥的指定端口处于Forwarding状态,则在新
拓扑结构中的根端口可以立刻进入转发状态。
*指定端口快速切换:
1、指定端口可以通过与相连的网桥进行一次握手,快速进入转发状态:
1.握手请求报文:
Proposal;2.握手回应报文:
Agreement。
2、P/A机制条件:
握手必须在点到点链路进行。
·通过P/A机制实现快速收敛:
*RSTP拓扑改变处理机制
1、拓扑改变触发条件:
只有非边缘端口转变为Forwarding状态时,产生拓扑改变;
2、拓扑改变处理:
·在两倍Hello时间内向所有其它指定端口和根端口发送TC置位BPDU报文;
·清除除接收到TC报文的端口之外的所有指定端口和根端口学习的MAC地址。
*RSTP拓扑改变处理:
1、不再使用TCN;2、收敛更快速。
*RSTP和STP的兼容运行:
1、RSTP的端口连续三次接收到版本为STP的BPDU,则端口协议将切换到STP协议。
2、切换到STP协议的RSTP端口将丧失快速收敛特性。
3、出现STP与RSTP混用的情况,建议将STP设备放在网络边缘。
4、运行STP的网桥移除后,由RSTP模式切换到STP模式的端口仍将运行在STP模式。
*基本配置命令:
·生成树在交换机上缺省是关闭的,如果组网中可能存在路径回环,则要通过命令开启生成树功能:
[H3C]stpenable
·如果确定某个端口连接的部分不存在回路,则可以通过命令关闭该端口的生成树功能:
[H3C-Ethernet0/1]stpdisable
·可以根据需要配置交换机的生成树运行模式:
[H3C]stpmode{stp|rstp|mstp}
*RSTP可选参数:
*配置优先级和端口开销:
·通过命令配置可以更改BridgePriority:
[H3C]stpprioritybridge-priority
·通过命令配置可以改变端口开销的值:
[H3C-Ethernet0/1]stpcostcost
·通过命令配置可以改变设备支持的端口开销标准:
[H3C]stppathcost-standard{dot1d-1998|dot1t|legacy}
*配置端口的优先级:
1.端口ID由两部分组成:
PortPriority+PortIndex;2.通过命令配置可以改变端口优先级。
·[H3C-Ethernet0/1]stpportpriorityport-priority
*配置端口的HelloTime:
1、HelloTime的配置需要注意:
1.较长的HelloTime可以降低生成树计算的消耗;2.过长的HelloTime会导致对链路故障的反
应迟缓;3.较短的HelloTime可以增强生成树的健壮性;4.过短的HelloTime会导致频繁发送配置消息,加重CPU和网络负担。
2、配置命令为:
[H3C]stptimerhellocentiseconds
*配置端口的MaxAge:
1、MaxAge的配置需要注意:
1.过长的MaxAge会导致链路故障不能被及时发现;2.过短的MaxAge可能会在网络拥塞的时候使
交换机误认为链路故障,造成频繁的生成树重新计算。
2、配置命令为:
[H3C]stptimermax-agecentiseconds
*配置端口的ForwardDelay:
1、ForwardDelay的配置需要注意:
1.过长的ForwardDelay会导致生成树的收敛太慢;2.过短的ForwardDelay可能会在拓扑
改变的时候,引入暂时的路径环路。
2、配置命令为:
[H3C]stptimerforward-delaycentiseconds
*配置网络直径:
1、网络直径:
任意两台终端设备之间通过的交换机数目的最大值;
2、改变网络直径会间接影响到MaxAge和ForwardDelay这两个参数的值,这种方法比直接手工配置两个参数更为可靠。
3、所以当网络中加入交换机可以通过改变网络直径参数来达到适应网络状况的目的。
4、配置命令为:
[H3C]stpbridge-diameterbridgenum(diameter:
直径)
*RSTP高级配置:
配置端口为边缘端口:
·端口视图配置:
[H3C-Ethernet0/1]stpedged-portenable
·全局或端口视图执行mCheck操作:
[H3C]stpmcheck[H3C-Ethernet0/1]stpmcheck
*RSTP维护调试命令:
·显示和STP统计和状态信息:
[H3C]displaystp[interfaceinterface_list][brief]
·打开和STP调试开关:
*STP/RSTP的局限:
1、所有VLAN共享一颗生成树;2、无法实现不同VLAN在多条Trunk链路上的负载分担。
*MSTP:
(MultipleSpanningTree,多生成树协议),基于实例计算出多颗生成树,实例间实现负载分担。
*MST域(MSTRegion):
拥有相同MST配置标识的网桥构成的集合:
域名、修订级别、VLAN映射关系。
*CST(CommonSpanningTree)公共生成树、IST(InternalSpanningTree)内部生成树、CIST(CommonandInternalSpanning
Tree)公共和内部生成树、MSTI(MultipleSpanningTreeInstance)多生成树实例。
*STP:
IEEE802.1D、RSTP:
IEEE802.1W、MSTP:
IEEE802.1S。
*要实现生成树功能,网桥之间必须要进行一些信息的交互,这些信息交互单元就称为配置消息BPDU(BridgeProtocolDataUnit)。
STPBPDU是一种二层报文,目的MAC是多播地址01-80-C2-00-00-00,所有支持STP协议的网桥都会接收并处理收到的BPDU报文。
*1、当根端口失效的情况下,替换端口就会快速转换为新的根端口并无时延地进入转发状态;当指定端口失效的情况下,备份端
口就会快速转换为新的指定端口并无时延地进入转发状态。
2、在只连接了两个交换端口的点对点链路中,指定端口只需与下游网桥进行一次握手就可以无时延地进入转发状态。
3、直接与终端相连而不与其他网桥相连的端口定义为边缘端口(EdgePort)。
边缘端口可以直接进入转发状态,不需要任何延时。
*MSTP的特点如下:
1、MSTP引入“域”的概念,把一个交换网络划分成多个域。
每个域内形成多棵生成树,生成树之间彼此独立;在域间,MSTP
利用CIST保证全网络拓扑结构的无环路存在。
2、MSTP引入“实例(Instance)”的概念,将多个VLAN映射到一个实例中,以节省通信开销和资源占用率。
MSTP各个实例
拓扑的计算是独立的(每个实例对应一棵单独的生成树),在这些实例上就可以实现VLAN数据的负载分担。
3、MSTP可以实现类似RSTP的端口状态快速迁移机制。
MSTP兼容STP和RSTP。
*CST、IST、CIST、总根和域根:
(Region:
区域)
*1、MST域是由交换网络中的多台设备以及它们之间的网段所构成。
这些设备具有下列特点:
都启动了MSTP;具有相同的域名
(Region);具有相同的VLAN到生成树实例映射配置;具有相同的MSTP修订级别配置;这些设备之间在物理上有链路连通。
2、VLAN映射表:
VLAN映射表是MST域的一个属性,用来描述VLAN和生成树实例的映射关系。
3、IST:
IST是域内实例上的生成树。
IST和CST共同构成整个交换网络的CIST。
IST是CIST在MST域内的片段。
4、CST:
CST是连接交换网络内所有MST域的单生成树。
如果把每个MST域看作是一个“设备”,CST就是这些“设备”通过STP
协议、RSTP协议计算生成的一棵生成树。
5、MSTI:
一个MST域内可以通过MSTP生成多棵生成树,各棵生成树之间彼此独立。
每棵生成树都称为一个MSTI。
每个域内可
以存在多棵生成树,每棵生成树和相应的VLAN对应。
这些生成树就被称为MSTI。
6、域边界端口:
域边界端口是指位于MST域的边缘,用于连接不同MST域、MST域和运行STP的区域、MST域和运行RSTP的区
域的端口。
7、总根:
总根是指CIST实例中桥ID最优的桥。
8、外部根路径开销:
外部根路径开销指的是端口到总根的最短路径开销。
9、指定端口ID:
由指定端口的优先级和端口号组成。
10、Master端口:
连接MST域到总根的端口,位于整个域到总根的最短路径上。
IST根桥在CIST上的根端口。
11、Backup端口:
当开启了MSTP的同一台设备的两个端口互相连接时就存在一个环路,此时设备会阻塞端口ID较小的端口,
此阻塞端口称为Backup端口,而另外一个端口则处于转发状态,成为指定端口。
*MSTI和MSTI域根:
*MSTP的BPDU格式:
*CIST的优先级向量:
1、CIST优先级向量={RootID:
ERPC:
RRootID:
IRPC:
DesignateBridgeID:
DesignatePortID:
RcvPortID}
2、比较原则:
最小最优:
1.首先比较CIST总根ID--->2.其次比较CIST外部路径开销--->3.再次比较CIST域根ID--->4.再其次比较CIST内部路径开销--->5.再其次比较CIST指定桥ID--->6.再其次比较CIST指定端口ID--->7.最后比较CIST接收端口ID。
*MSTI的优先级向量:
1、MSTI优先级向量={RRootID:
IRPC:
DesignateBridgeID:
DesignatePortID:
RcvPortID}
2、比较原则:
最小最优:
1.首先比较MSTI域根ID--->2.其次比较MSTI内部路径开销--->3.再其次比较MSTI指定桥ID--->4.再
其次比较MSTI指定端口ID--->5.最后比较MSTI接收端口ID。
*MSTP计算方法:
1、CST/IST的计算和RSTP类似;2、MSTI的计算仅限于区域内;3、MSTI计算参数包含在ISTBPDU中,和IST
的计算同步完成。
*MSTI计算过程-Region1:
*MSTP和RSTP的互操作:
RSTP桥将MSTP域看做一个桥ID为域根ID的RSTP桥。
*MSTP的P/A机制:
(Proposal:
建议)
1、上游桥发送的ProposalBPDU中,P标志位和A标志位都置位;
2、下游收到P标志位和A标志位都置位的ProposalBPDU,在将端口同步后会回应AgreementBPDU,使得上游的指定端口快
速进入转发状态。
*
(1)MSTP基本配置:
区域配置:
·由系统视图进入区域配置视图:
[H3C]stpregion-configuration
·配置域名:
[H3C-mst-region]region-namename
·配置修订级别:
[H3C-mst-region]revision-levellevel
·配置VLAN和实例的映射:
[H3C-mst-region]instanceinstance-idvlanvlan-list
·激活区域配置:
[H3C-mst-region]activeregion-configuration
(2)MSTP高级配置:
·配置交换机为首选根桥:
[H3C]stpinstanceinstance-idrootprimary
·配置交换机为备份根桥:
[H3C]stpinstanceinstance-idrootsecondary
(3)MSTP兼容性配置:
·配置端口识别/发送MSTP报文格式:
[H3C-GigabitEthernet1/0/1]stpcompliance{auto|dot1s|legacy}
·全局开启摘要侦听:
[H3C]stpconfig-digest-snooping
·端口开启摘要侦听:
[H3C-Ethernet1/0/1]stpconfig-digest-snooping
*MSTP兼容性配置:
下游设备配置NoAgreementCheck特性。
*MSTP配置案例:
*边缘端口受到攻击:
如果一个边缘端口接收到配置消息,将从边缘端口转换成非边缘端口,从而导致生成树重新计算。
BPDU保护机制:
启动了BPDU保护功能后,如果边缘端口收到了配置消息,MSTP就将这些端口关闭。
BPDU保护命令:
[H3C]stpbpdu-protection
可以在边缘设备上配置(边缘端口:
Ethernet1/0/1):
[SWA]stpbpdu-protection·[SWA-Ethernet1/0/1]stpedged-portenable
*根桥的错误切换:
合法根桥收到优先级更高的(BPDU)配置消息,失去根桥的地位,引起网络拓扑结构的变动。
根桥保护机制:
对于设置了根保护功能的端口,一旦该端口收到某实例优先级更高的配置消息,立即将该实例端口设置为侦听状
态,不再转发报文。
根桥保护命令:
[H3C-Ethernet1/0/1]stproot-protection
*环路的产生:
由于链路拥塞或者单向链路故障,端口会收不到上游设备的BPDU报文,此时下游设备重新选择端口角色,会导致
环路的产生。
(网络拥塞导致BPDU丢失、光纤链路单通)
环路保护机制:
1、配置了环路保护的端口,当接收不到上游设备发送的BPDU报文时,环路保护生效。
2、如果该端口参与了STP计算,则不论其角色如何,该端口在所有实例都将处于Discarding状态。
环路保护命令:
[H3C-Ethernet1/0/1]stploop-protection
*TC攻击:
在有伪造的TC-BPDU报文恶意攻击设备时,设备短时间内会收到很多的TCBPDU报文,频繁的删除操作给设备带来很大
负担,给网络的稳定带来很大隐患。
TC保护机制:
1、设置设备在收到TC-BPDU报文后的10秒内,进行地址表项删除操作的最多次数;
2、监控在该时间段内收到的TC-BPDU报文数是否大于门限值。
·使能防止TC-BPDU报文攻击的保护功能:
[H3C]stptc-protectionenable
·配置门限值:
[H3C]stptc-protectionthresholdnumber
*可靠性:
Availability,可靠性=MTBF/(MTBF+MTTR)
MTBF(MeanTimeBetweenFailure:
平均无故障时间):
衡量稳定程度
MTTR(MeanTimetoRepair:
故障平均修复时间):
衡量故障响应修复速度
*高可靠性在园区的应用:
1、网络高可靠性主要是指当设备或网络出现故障时,网络提供服务的不间断性。
1.可靠性达到5个9以上;2.可靠性99.999%
意味着每年故障时间不超过5分钟;3.可靠性99.9999%意味着每年故障时间不超过30秒。
2、园区网高可靠性技术:
1.链路备份技术;2.设备备份技术:
包含设备自身备份技术以及设备间备份技术;3.堆叠技术。
*链路备份技术:
链路备份技术用于避免由于单链路故障导致的网络通信中断。
当主链路中断后,备用链路会成为新的主用链路。
:
链路聚合、RRPP、SmartLink。
*链路聚合:
1、链路聚合是把多条物理链路聚合在一起,形成一条逻辑链路。
2、采用链路聚合可以提供链路冗余性,又可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- STP 消除环路的思想 消除 环路 思想