1.基本概念
网络冗余是在对网络有实时性、稳定性、快速性的要求下,不允许出现故障有效的解决方案,但保证冗余的情况下有时会引起网络环路,导致网络无法正常工作,生成树协议(STP)是一个用于解决环路典型方案之一。
1)桥ID
每台运行STP的交换机都有一个唯一的桥ID(BI),包含16bit的桥优先级(BP)和48bit的桥MAC地址。
2)根桥RB
网络中拥有最小桥ID的交换机成为根桥,在一个交换网络中根桥只有一个,比较桥ID时,先比较优先级,优先级最小的交换机成为根桥,如果优先级相等,MAC地址最小的交换机成为根桥。华为交换机缺省的桥优先级是32768。
3)开销(COST)和根路径开销(RPC)
每个运行STP的接口都维护一个COST值,COST主要用于计算RPC,交换机某个接口到根桥的成本成为RPC(接收BPDU的RPC+接口COST值)。
4)接口ID
运行STP的交换机使用接口ID来标识每个接口(接口优先级+接口编号),长度16bit,高4bit是接口优先级,低12bit是接口编号,缺省为128,华为交换机优先级取值范围0-240,必须是16的倍数。
2.STP选举过程
1)在交换网络中选举一个根桥(RB)
桥ID最小的交换机成为根桥,优先级相等时,MAC地址最小的交换机成为网络中根桥,根桥选举具有可抢占性。
2)每个非根桥上选举一个根接口RP
除了根桥之外的交换机都是非根桥,非根桥将自己所收到的BPDU进行比较,收到BPDU最优的接口为根接口,连接跟桥的接口为根接口。
3)选举指定接口DP
到达根桥最优的接口为指定接口,根桥的接口为指定端口,非根器用自己计算出的BPDU与别的设备发来的BPDU比较。
4)阻塞非指定接口
既不是跟接口,又不是指定接口该接口会被STP阻塞。
3.STP报文
1)配置BPDU
初始化过程中,每台交换机都运行STP的接口向外发生配置BPDU,当STP收敛完成后,只有根桥才会周期性发生配置BPDU(缺省2s),BPDU类型为0x00,标志(Flag)中最低位TC置位1用于拓扑变更,最高位TCA置位1用于拓扑变更确认。
2)TCN BPDU
BPDU类型为0x80,用于在网络拓扑发生变化时向根桥通知变化的发生。
4.STP时间参数
1)Hello Time(Hello时间)
运行STP交换机发生配置BPDU的间隔时间(缺省2s)。
2)Forward Delay(转发延迟)
运行STP交换机从侦听状态进入学习状态,或者学习状态进入转发状态的延迟时间(缺省15s)。
3)Max Age(最大生存时间)
BPDU老化时间(缺省为20s)
一个阻塞接口要从阻塞状态进入转发状态可能需要花费30-50s。
5.BPDU比较原则
1)最小根桥ID
2)最小的RPC
3)最小网桥ID
4)最小接口ID
6.STP生成树计算过程
1)选举根桥
初始状态,交换机SW1、SW2都认为自己是根桥,从运行了STP的接口发送BPDU,包含四个重要字段:根桥ID(优先级+MAC地址)、RPC、网桥ID、接口ID,SW1根桥ID优先级更高被选举为根桥。
2)根接口选举
非根桥选举根接口,比较从哪个接口收到的BPDU更优,依次比较接收的BPDU的根桥ID、RPC、网桥ID、接口ID(优先级+接口编号),SW2接收的SW1的BPDU根桥ID、RPC、网桥ID相同,G0/0/3接口优先级与G0/0/4接口优先级相同,但G0/0/3接收SW1G0/0/1的接口ID编号小,SW2的G0/0/3接口被选举为根接口。
3)计算非指定接口
非根桥的根接口计算出非根接口的BPDU(根桥ID、RPC(与跟接口COST之和)、网桥ID(本设备)、接口ID(非根桥的非根接口ID)),跟该非根接口保存的BPDU比较,如果更优则为非指定接口,SW2的G0/0/4接口被选举为非指定接口。
4)STP收敛结束,二层环路被打破
SW1周期性发送BPDU,SW2的G0/0/4非指定接口继续保留根桥发送的BPDU,SW2的G0/0/4接口进入阻塞状态,二层环路被打破。
7.STP接口状态
1)禁用Disable:不能收发BPDU,也不能发数据帧(down)。
2)阻塞Blocking:不能发送BPDU,但会侦听BPDU,也不能发数据帧,也不学习MAC地址。
3)侦听Listening:为根接口或指定接口,可以收发BPDU,但不能收到数据帧,也不学习MAC地址。
4)学习Learning:会侦听数据帧(不转发),学习MAC地址。
5)转发Forwarding:正常收发数据帧。
8.STP配置
1)STP基本配置
[SW1]stp mode stp
[SW1]stp enable
[SW2]stp mode stp
[SW2]stp enable
[SW3]stp mode stp
[SW3]stp enable
2)配置主根桥和次根桥
[SW1]stp root primary
[SW2]stp root secondary
3)通过修改优先级(默认32768,范围0-61440,设置时要求是4096的倍数)设置主根桥和次根桥
[SW1]stp priority 0
[SW2]stp priority 4096
4)查看STP
[SW3]display stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :32768.4c1f-cce2-612d
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-cca4-5ab7 / 20000
CIST RegRoot/IRPC :32768.4c1f-cce2-612d / 0
CIST RootPortId :128.2
BPDU-Protection :Disabled
TC or TCN received :187
TC count per hello :0
STP Converge Mode :Normal
Time since last TC :0 days 0h:1m:3s
Number of TC :13
Last TC occurred :GigabitEthernet0/0/2
----[Port1(GigabitEthernet0/0/1)][DOWN]----
Port Protocol :Enabled
Port Role :Disabled Port
Port Priority :128
Port Cost(Dot1T ) :Config=auto / Active=200000000
Designated Bridge/Port :32768.4c1f-cce2-612d / 128.1
Port Edged :Config=default / Active=disabled
Point-to-point :Config=auto / Active=false
Transit Limit :147 packets/hello-time
[SW1]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 DESI FORWARDING NONE
0 GigabitEthernet0/0/2 DESI FORWARDING NONE
[SW2]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 ROOT FORWARDING NONE
0 GigabitEthernet0/0/3 DESI FORWARDING NONE
[SW3]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/2 ROOT FORWARDING NONE
0 GigabitEthernet0/0/3 ALTE DISCARDING NONE
请登录后查看评论内容