华为STP配置案例.docx
《华为STP配置案例.docx》由会员分享,可在线阅读,更多相关《华为STP配置案例.docx(17页珍藏版)》请在冰豆网上搜索。
华为STP配置案例
STP配置案例
1 简介
在二层交换网络中,一旦存在环路就会造成报文在环路内不断循环和增生,产生广播风暴,从而占用所有的有效带宽,使网络变得无法正常通信。
在这种环境下生成树协议应运而生,生成树协议是一种二层管理协议,它通过有选择性地阻塞网络冗余链路来达到消除网络二层环路的目的,同时具备链路备份功能。
生成树协议和其他协议一样,是随着网络的不断发展而不断更新换代的。
最初被广泛应用的是IEEE802.1D-1998STP(SpanningTreeProtocol,生成树协议),随后以它为基础产生了IEEE802.1wRSTP(RapidSpanningTreeProtocol,快速生成树协议)和IEEE802.1sMSTP(MultipleSpanningTreeProtocol,多生成树协议)。
三种生成树协议特点比较:
2 实现说明
2.1 华为实现说明
Ø STP在交换机所有版本,所有形态都支持。
Ø 华为交换机默认STP模式是MSTP。
需要运行STP或RSTP模式时,必须要手动配置。
Ø 华为交换机在STP模式下,使用的端口角色和RSTP是一样的,也就是说支持下面5种端口角色:
指定端口、根端口、Alternate端口、Backup端口和边缘端口。
Ø 华为交换机在STP模式下,支持下面4种保护功能:
BPDU保护、Root保护、环路保护和防TC-BPDU攻击保护。
Ø 版本差异说明:
● 从V100R006版本开始,华为X7交换机全局默认使能STP功能。
● V200R001版本及之后版本,开始支持边缘端口属性自动探测功能。
即如果端口从未收到过BPDU报文,则边缘端口属性自动生效(端口下不会自动生成stpedged-portenable配置)。
● V200R001版本及之后版本,如果端口已经配置stpedged-portenable,可以再配置根保护和环路保护,而其他版本会提示Error。
2.2 其他厂商实现
Ø H3C
● H3C交换机STP相关命令配置与S系列交换机基本没有差异。
● H3C交换机默认采用legacy标准来计算路径开销,而S系列交换机默认为dot1t。
在与S系列交换机对接时,建议配置相同的计算标准。
● 某些H3C老形态设备,全局不使能STP或全局使能端口不使能STP时,端口收到BPDU报文后,可以当做普通组播数据报文在VLAN内转发。
S系列交换机端口默认会丢弃。
Ø Cisco
Cisco交换机所支持的生成树协议类型分别有:
PVST(PerVLANSpanningTree)、PVST+(PerVLANSpanningTreePlus)、Rapid-PVST+(RapidPerVLANSpanningTreePlus)和MST(MultipleSpanningTree)。
这几种生成树协议的某些BPDU报文采用其私有的报文格式,与IEEE标准的BPDU报文格式不一样。
● 当Cisco交换机运行私有的PVST+或Rapid-PVST+生成树协议时,与S系列交换机能否互通,取决于Cisco侧的端口链路类型:
− 如果端口链路类型为trunk且退出VLAN1,与S系列交换机无法实现互通。
Cisco侧端口在非VLAN1中发送其私有的BPDU报文,S系列交换机默认不会处理该报文,当做普通组播数据报文进行转发,可以通过配置l2protocol-tunnel进行透传。
S系列盒式交换机通过l2protocol-tunnel透传PVST+报文时,全局需要配置bpdumac-address0100-0ccc-cccd。
− 如果端口链路类型为trunk而且加入VLAN1,只可以在VLAN1中与S系列交换机互通。
− 如果端口链路类型为access,可以与S系列交换机互通。
● 当Cisco交换机运行MST协议时,可以理解为标准的MSTP模式,可以与S系列交换机互通。
但是需要注意:
在使用MSTP协议的S系列交换机与使用MST的Cisco交换机采用相同的域配置(域名、修订级别、VLAN与实例的映射关系)的情况下,要想实现域内互通,需要在S系列交换机端口配置摘要侦听功能stpconfig-digest-snoop。
这是两者由于采用不同的密钥来生成MSTP的摘要信息,因此端口发送的BPDU报文中的摘要信息不同。
由于摘要信息不同,则属于不同的MST域,会进行域间互通。
注意以下介绍的STP是狭义的STP,即IEEE802.1D-1998 中定义的STP 协议。
3 STP原理
3.1 协商原则
STP协议是根据4个维度进行选举协商的,设备之间通过发送BPDU报文,经过4个维度的比较,最终会阻塞综合能力最差的端口。
选举维度(桥ID,累计根路径开销,发送设备BID,发送端口PID)
3.2 角色和状态
经过4个维度的比较,最终会协商出端口的角色和状态,确定报文流量的转发路径。
STP角色的定义,如图所示。
Ø 根桥:
就是桥ID最小的设备。
桥ID是由16位的桥优先级与桥MAC地址构成。
BID桥优先级占据高16位,其余的低48位是MAC地址。
华为交换机默认桥优先级都是32768。
所以在不修改桥优先级时,MAC地址最小的设备就是根桥。
Ø 指定端口:
就是负责转发BPDU报文的端口。
根桥上的端口都是指定端口。
该端口可以正常转发流量。
Ø 根端口:
就是去往根桥路径开销最小的端口。
该端口可以正常转发流量。
Ø 阻塞端口:
就是禁止转发流量的端口。
从上面的官方定义,可以看出:
STP协商完成后,端口要么被阻塞,要么正常转发报文。
其实在STP进行协商的过程中,是有一些中间状态的。
3.3 报文格式
STP协议报文是通过BPDU报文封装的,目的MAC是组播MAC:
01-80-C2-00-00-00,封装格式是IEEE802.3。
3.4 BPDU报文处理流程
3.4.1 BPDU报文的分类
Ø 配置BPDU报文:
根据Flags标记位,分为3类
第一类配置BPDU报文:
Flags的TCA和TC位都置为0的配置BPDU报文
第二类配置BPDU报文:
Flags的TCA和TC位都置为1的配置BPDU报文
第三类配置BPDU报文:
Flags的TCA位置为0,TC位置为1的配置BPDU报文
Ø TCNBPDU报文:
BPDUType为0x80的BPDU报文,叫做TCNBPDU报文
3.4.2 BPDU报文的处理流程
3.4.3 BPDU报文格式
Ø 配置BPDU报文:
BPDUType为0x00的BPDU报文,都叫做配置BPDU报文
1. 第一类配置BPDU报文:
Flags的TCA和TC位都置为0的配置BPDU报文
该报文用于STP状态的协商和维持。
具体报文格式如下:
2. 第二类配置BPDU报文:
Flags的TCA和TC位都置为1的配置BPDU报文
该报文用于通知下游设备停止发送TCNBPDU报文。
具体报文格式如下:
3. 第二类配置BPDU报文:
Flags的TCA位置为0,TC位置为1的配置BPDU报文
该报文用于通知下游设备删除MAC地址表项。
具体报文格式如下:
Ø TCNBPDU报文:
BPDUType为0x80的BPDU报文,叫做TCNBPDU报文,用于通知上游设备网络拓扑变更。
具体报文格式如下:
4 使用注意事项
Ø 盒式交换机需要通过“bpduenable”使能BPDU报文上送CPU处理的功能,才能使STP报文上送CPU处理,否则STP状态无法收敛。
V100R005及之前版本,在S2700系列设备,检查全局是否配置bpduenable;其他系列盒式交换机,检查物理端口、Eth-trunk接口下是否配置bpduenable。
V100R006及后续版本,对应形态设备全局或端口默认使能bpduenable。
Ø Eth-Trunk接口使能STP时,建议修改Eth-Trunk接口的cost值使其小于物理端口的cost值,使其不易协商为备份端口。
一是因为Eth-Trunk接口的开销为单个成员接口的开销除以成员接口数量,当成员口状态变化时Eth-trunk接口的cost值会变化;二是cost值越小说明链路质量越高。
Ø 通过命令“displaystpbrief”查看端口状态时,只会显示使能STP且UP的端口。
Ø 可以通过修改路径开销和发送者的BID,选择阻塞指定的端口。
5 配置举例
5.1 组网需求
如图所示,当前网络中SwitchA、SwitchB、SwitchC和SwitchD通过环形组网备份链路。
希望通过运行生成树协议阻塞端口,将环形网络结构修剪成无环路的树形网络结构。
Ø 在主链路故障时,对切换到备份链路的时间要求不高,要求配置简单,所以这里使用STP模式。
Ø SwitchA设备的性能较高,希望作为根桥,SwithB为备份根桥。
Ø SwtichC和SwitchD设备连接用户,希望阻塞SiwtchC和SwitchD之间的链路。
Ø SwitchC和SwitchD连接用户的接口GE0/0/3不要参与STP计算。
5.2 配置思路
采用如下的思路配置STP:
1. 配置模式是STP模式。
2. 配置SwitchA为根桥,SwitchB为备份根桥。
3. 统一使用默认路径开销。
华为交换机默认的路径开销计算标准使用的是标准的dot1t。
GE接口默认路径开销是20000,而Ethernet接口默认路径开销是200000。
注意:
eNSP模拟器中,STP的路径开销默认是1。
4. SwitchC和SwitchD的GE0/0/3端口去使能STP协议。
5. SwitchA、SwitchB、SwitchC和SwitchD使能STP协议。
5.3 操作步骤
步骤1:
配置模式为STP模式。
system-view
[HUAWEI] sysnameSwitchA
[SwitchA] stpmodestp
system-view
[HUAWEI] sysnameSwitchB
[SwitchB] stpmodestp
system-view
[HUAWEI] sysnameSwitchC
[SwitchC] stpmodestp
system-view
[HUAWEI] sysnameSwitchD
[SwitchD] stpmodestp
步骤2:
配置SwitchA为根桥,SwitchB为备份根桥。
[SwitchA] stprootprimary //也可以使用命令stppriority0 配置优先级为0,和stprootprimary的作用是一样的。
[SwitchB] stprootsecondary //也可以使用命令stppriority4096 配置优先级为4096,和stprootsecondary的作用是一样的。
步骤3:
去使能SwitchB和SwitchC设备GE0/0/3端口的STP功能。
[SwitchC] interfacegigabitethernet0/0/3
[SwitchC-GigabitEthernet0/0/3] stpdisable
[SwitchC-GigabitEthernet0/0/3] quit
[SwitchD] interfacegigabitethernet0/0/3
[SwitchD-GigabitEthernet0/0/3] stpdisable
[SwitchD-GigabitEthernet0/0/3] quit
步骤4:
全局使能STP功能。
华为X7系列交换机默认是使能,该步骤可以省略。
[SwitchA] stpenable
[SwitchB] stpenable
[SwitchC] stpenable
[SwitchD] stpenable
步骤5:
验证配置结果。
查看STP简要信息,通过STP简要信息可以快速的看出端口的角色和状态。
5.4 配置文件
SwitchA的配置文件
#
sysnameSwitchA
#
stpmodestp
stpinstance0rootprimary
#
return
SwitchB的配置文件
#
sysnameSwitchB
#
stpmodestp
stpinstance0rootsecondary
#
return
SwitchC的配置文件
#
sysnameSwitchC
#
stpmodestp
#
interfaceGigabitEthernet0/0/3
stpdisable
#
return
SwitchD的配置文件
#
sysnameSwitchD
#
stpmodestp
#
interfaceGigabitEthernet0/0/3
stpdisable
#
return