STP是用来避免数据链路层出现逻辑环路的协议,运行STP协议的设备经过交互信息发现环路,并经过阻塞特定端口,最终将网络结构修剪成无环路的树形结构。在网络出现故障的时候,STP能快速发现链路故障,并尽快找出另一条路径进行数据传输。
交换机上运行的STP经过BPDU信息的交互,选举根交换机,而后每台非根交换机选择用来与根交换机通讯的根端口,以后每一个网段选择用来转发数据至根交换机的指定端口,最后剩余端口则被阻塞。网络
S1到S4都将默认的MSTP更改成STPapp
stp enable stp mode stp
30秒后查看s1的生成树状态
查看详细状态负载均衡
display stp
查看摘要信息ide
[s1]display stp brief MSTID Port Role STP State Protection 0 Ethernet0/0/1 ROOT FORWARDING NONE 0 Ethernet0/0/2 ALTE DISCARDING NONE [s2]display stp brief MSTID Port Role STP State Protection 0 Ethernet0/0/1 DESI FORWARDING NONE 0 Ethernet0/0/2 DESI FORWARDING NONE 0 Ethernet0/0/3 DESI FORWARDING NONE [s3]display stp brief MSTID Port Role STP State Protection 0 Ethernet0/0/1 DESI FORWARDING NONE 0 Ethernet0/0/2 DESI FORWARDING NONE 0 Ethernet0/0/3 ROOT FORWARDING NONE 0 Ethernet0/0/10 DESI FORWARDING NONE 0 Ethernet0/0/11 DESI FORWARDING NONE [s4]display stp brief MSTID Port Role STP State Protection 0 Ethernet0/0/1 ALTE DISCARDING NONE 0 Ethernet0/0/2 ROOT FORWARDING NONE
由以上可知
S1的Ethernet0/0/1为根端口,转发状态;Ethernet0/0/2为替代端口,丢弃状态
S2的全部端口都是指定端口,转发状态;能够判断S2为根交换机
S3的Ethernet0/0/3为根端口,其他端口为指定端口;都是转发状态
S4的Ethernet0/0/2为根端口,转发状态;Ethernet0/0/1为替代端口,丢弃状态学习
查看s2根交换机的stp详细信息code
[s2]dis stp -------[CIST Global Info][Mode STP]------- CIST Bridge :32768.4c1f-cc29-7f53 Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20 Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20 CIST Root/ERPC :32768.4c1f-cc29-7f53 / 0 CIST RegRoot/IRPC :32768.4c1f-cc29-7f53 / 0 CIST RootPortId :0.0 BPDU-Protection :Disabled TC or TCN received :18 TC count per hello :0 STP Converge Mode :Normal Time since last TC :0 days 0h:4m:29s Number of TC :19 Last TC occurred :Ethernet0/0/3
Ps:CIST Root/ERPC 与 CIST Bridge相同,说明s2为根交换机;32768.4c1f-cc29-7f53中32768为交换机默认的优先级,后面的为交换机MAC地址orm
比较每台交换机的ID选举根交换机,交换机ID由交换机优先级和MAC地址组成
一、比较交换机优先级,数值最低的为根交换机
二、优先级一致,则比较MAC地址,数值最低的为根交换机。blog
修改交换机优先级
设置根交换机优先级为0,备份根交换机优先级为4096接口
[s1]stp priority 0 [s2]stp priority 4096
或者资源
[s1]undo stp priority [s1]stp root primary [s2]undo stp priority [s2]stp root secondary
查看s1s2的状态信息
[s1]dis stp -------[CIST Global Info][Mode STP]------- CIST Bridge :0 .4c1f-cce4-0451 Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20 Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20 CIST Root/ERPC :0 .4c1f-cce4-0451 / 0 CIST RegRoot/IRPC :0 .4c1f-cce4-0451 / 0 [s2]dis stp -------[CIST Global Info][Mode STP]------- CIST Bridge :4096 .4c1f-cc29-7f53 Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20 Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20 CIST Root/ERPC :0 .4c1f-cce4-0451 / 200000 CIST RegRoot/IRPC :4096 .4c1f-cc29-7f53 / 0
由以上可知
CIST Root/ERPC:根交换机s1优先级为0,mac为4c1f-cce4-0451
CIST RegRoot/IRPC:备份根交换机s2优先级为4096,mac为4c1f-cc29-7f53
一、每一个端口到达根交换机的根路径开销,路径开销最小的端口为根端口
二、若是根路径开销值相同,则比较每一个端口所在链路上行交换机ID值
三、若是上行交换机ID相同,则比较每一个端口所在链路上行端口ID值
手动配置端口开销值
查看s4交换机根端口以及开销值
[s4]dis stp brief MSTID Port Role STP State Protection 0 Ethernet0/0/1 ALTE DISCARDING NONE 0 Ethernet0/0/2 ROOT FORWARDING NONE [s4]dis stp ----[Port1(Ethernet0/0/1)][DISCARDING]---- Port Protocol :Enabled Port Role :Alternate Port Port Priority :128 Port Cost(Dot1T ) :Config=auto / Active=200000 ----[Port2(Ethernet0/0/2)][FORWARDING]---- Port Protocol :Enabled Port Role :Root Port Port Priority :128 Port Cost(Dot1T ) :Config=auto / Active=200000
两个端口的active(实际使用的开销值)都为200000,设置根端口的开销值小于200000,便可
配置s4上根端口开销值
[s4]interface Eth0/0/1 [s4-Ethernet0/0/1]stp cost 2000
再次查看s4交换机根端口
[s4]dis stp ----[Port1(Ethernet0/0/1)][FORWARDING]---- Port Protocol :Enabled Port Role :Root Port Port Priority :128 Port Cost(Dot1T ) :Config=2000 / Active=2000 ----[Port2(Ethernet0/0/2)][DISCARDING]---- Port Protocol :Enabled Port Role :Alternate Port Port Priority :128 Port Cost(Dot1T ) :Config=auto / Active=200000
目前根端口为Ethernet0/0/1口,开销值为2000
每一个网段选举指定端口
一、比较两个端口发送与接收BPDU中的根路径开销,小的成为指定端口
二、若是相同,比较端口发送与接收BPDU中的网桥ID,小的成为指定端口
三、若是相同,比较网桥MAC地址,小的成为指定端口
Ps:修改端口开销值来选举指定端口,修改方法同选举根端口
普通的stp不能实现快速的拓扑收敛,但定时器经过配置合适的系统参数,可使stp实现最快的拓扑收敛。
定时器有三种:
hello time定时器,BPDU多久发送一次hello,默认2秒
max age定时器,BPDU的最大老化时间,默认20秒
forword delay定时器,转发延迟时间;接口从Discarding状态,通过 过渡状态,最终到Forwording状态所用时间,默认15秒
交换机自动根据网络直径计算出hello time,max age和forword delay三个时间参数的最优值,默认网络直径为7
示例:
配置STP定时器,并配置s1为根交换机,s2为备份根交换机
[s1]stp mode stp [s1]stp root primary [s2]stp mode stp [s2]stp root secondary [s3]stp mode stp [s4]stp mode stp
查看各定时器默认值
[s1]display stp -------[CIST Global Info][Mode STP]------- CIST Bridge :0 .4c1f-cc9a-76a3 Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20 Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Config Times:标识当前设备配置的计时器
Active Times:标识正在生效的计时器
在根交换机设置FwDly时间为2000cs,默认是1500cs,cs是百分之一秒
stp timerforward-delay 2000
通常不建议直接修改这三个计时器的数值,而是配置网络直径让交换机自行计算
在根交换机配置网络直径为3
stp bridge-diameter 3
再次查看计时器信息
<s1>display stp -------[CIST Global Info][Mode STP]------- CIST Bridge :0 .4c1f-cc9a-76a3 Config Times :Hello 2s MaxAge 12s FwDly 9s MaxHop 20 Active Times :Hello 2s MaxAge 12s FwDly 9s MaxHop 20
RSTP(快速生成树协议)基于STP协议,在STP协议的端口状态和端口角色进行了细致区分,使收敛速度有很大提高。
• Proposal/Agreement机制 • 根端口快速切换机制 • 边缘端口的引入
示例:
在s1到s4交换机配置RSTP
[s1]stp mode rstp
配置s1为根交换机,s2为备份根交换机
[s1]stp root primary [s2]stp root secondary
配置s3的Ethernet0/0/1,s4的Ethernet0/0/1为边缘端口
[s3-Ethernet0/0/1]stp edged-port enable [s4-Ethernet0/0/1]stp edged-port enable
RSTP实现了网络拓扑的快速收敛,但仍是存在缺陷,即局域网内全部VLAN贡献一颗生成树,链路被阻塞后将不承载任何流量,形成带宽浪费,所以没法在VLAN间实现数据流量的负载均衡,还可能形成部分VLAN报文没法转发。
MSTP把一个交换网络划分红多个域,每一个域内造成多棵生成树,生成树之间彼此独立。每一个域叫作一个MST域,每棵生成树叫作一个多生成树实例MSTI;实例内能够包含多个VLAN,经过VLAN映射表,把VLAN和MSTI联系起来;一个MSTI能够对应多个VLAN,一个VLAN只能对应一个MSTI。
示例:
以s1为例
配置vlan 10 20,配置链接pc的端口为access,配置链接交换机的端口为trunk
[s1]vlan batch 10 20 [s1-Ethernet0/0/1]port link-type trunk [s1-Ethernet0/0/1]port trunk allow-pass vlan 10 20 [s1-Ethernet0/0/2]port link-type trunk [s1-Ethernet0/0/2]port trunk allow-pass vlan 10 20 [s1-Ethernet0/0/3]port link-type access [s1-Ethernet0/0/3]port default vlan 10
在s1,s2,s3上配置MSTP多实例
进入MSTP域视图 [s1]stp region-configuration 配置MSTP域域名 [s1-mst-region]region-name huawei 配置MSTP的修订级别为1 [s1-mst-region]revision-level 1 指定vlan10映射到MSTI1,指定vlan20映射到MSTI2 [s1-mst-region]instance 1 vlan 10 [s1-mst-region]instance 2 vlan 20 激活MST域配置 [s1-mst-region]active region-configuration
Notes:在同一MST域中,必须具备相同域名,修订级别以及VLAN到MSTI的映射关系
查看当前生效的MST域配置
<s1>dis stp region-configuration Oper configuration Format selector :0 Region name :huawei Revision level :1 Instance VLANs Mapped 0 1 to 9, 11 to 19, 21 to 4094 1 10 2 20
在s1,s2,s3查看三个实例中的生成树状态和统计的摘要信息
[s1]dis stp instance 0 brief MSTID Port Role STP State Protection 0 Ethernet0/0/1 ROOT FORWARDING NONE 0 Ethernet0/0/2 ALTE DISCARDING NONE 0 Ethernet0/0/3 DESI FORWARDING NONE [s1]dis stp instance 1 brief MSTID Port Role STP State Protection 1 Ethernet0/0/1 ROOT FORWARDING NONE 1 Ethernet0/0/2 ALTE DISCARDING NONE 1 Ethernet0/0/3 DESI FORWARDING NONE [s1]dis stp instance 2 brief MSTID Port Role STP State Protection 2 Ethernet0/0/1 ROOT FORWARDING NONE 2 Ethernet0/0/2 ALTE DISCARDING NONE
能够看到s1交换机的Ethernet0/0/2端口在实例1和实例2中都是处于DISCARDING状态,要实现这条链路被利用,配置s1交换机在实例2中为根交换机
[s1]stp instance 2 priority 0
再次查看生成树状态和统计的摘要信息
[s1]dis stp brief MSTID Port Role STP State Protection 0 Ethernet0/0/1 ROOT FORWARDING NONE 0 Ethernet0/0/2 ALTE DISCARDING NONE 0 Ethernet0/0/3 DESI FORWARDING NONE 1 Ethernet0/0/1 ROOT FORWARDING NONE 1 Ethernet0/0/2 ALTE DISCARDING NONE 1 Ethernet0/0/3 DESI FORWARDING NONE 2 Ethernet0/0/1 DESI FORWARDING NONE 2 Ethernet0/0/2 DESI FORWARDING NONE
能够看到,Ethernet0/0/2在实例2中为指定端口,状态为FORWARDING了,达到了流量分担的目的,有效的利用了网络资源,使s1的两条上行链路能够互相备份
学习自华为技术认证 HCNA网络技术实验指南