一、Stp生成树的由来:
因为当有环路存在时,广播的发送回引起全网的广播风波,此时需要打破环路生成的条件,而生成树协议就是解决二层广播风暴的重要手段。另外我们会阻塞一些端口,打破环路生成条件,当链路出现问题时,这些被阻塞的都端口可以过渡到转发状态,实现链路的备份的作用。
二、BPDU(Bridge Protocol Data Unit)网络协议数据单元:
BPDU是直接封装在二层的协议。
STP的各种选举是通过交换BPDU报文来实现的,BPDU是直接封装在以太网帧中的。对于参与STP的所有的SW,他们都通过数据消息的交换来获取网络中其他的消息,这种消息就被成为BPDU。
1、BPDU的功能:
1、选举根网桥
2、确定冗余路径的位置
3、通过阻塞特定端口来避免环路
4、通告网络的拓扑变更
5、监控生成树的状态
(1、BPDU每2s由根网桥发送一次,拥有最小bridge-id的交换机成为根网桥;
2、最初的网络,每个sw都认为自己是根网桥,都会发送Lowest BID,选举出一个根桥,此时就只有根网桥发送BPDU。非根网桥只进行转发,转发时修改bridge-id和cost字段)
2、BPDU的两种类型:
1、配置BPDU通常由根网桥以周期性间隔发出,包括:STP参数用于进行各种选举。
2、TCN(拓扑变更通告)BPDU是当交换机检测到拓扑发生变更时所发生,由非根网桥发出。
3、选举根网桥交换机的规则:
Lowest BID=网桥优先级+MAC地址(越小越优先);交换机默认网桥优先级是32768
1、修改网桥优先级命令:
[sw1]stp prority 0 (数值需要设定为4096的倍数)
2、设置此网桥为根网桥:
[sw1]stp root primary (优先级将变成0)
3、查看谁是根网桥的命令: display stp
4、端口角色:
RP:(根端口)每个非根网桥上有且只有一个,选举到达根网桥上路径开销值最小的成为根端口。
DP:(指定端口)根网桥上每个端口都是指定端口,非根网桥上需要转发数据的端口也是指定端口。
AP:(预备端口)该接口状态为Blocking状态,只收BPDU,不发BPDU。
5、端口状态描述:
(端口由Blocking过渡到Forwarding有50秒延时,Blocking到Listening有20秒老化时间,Listening到Learning有15秒过渡时间。Learning到Forwarding有15秒过渡时间。)
6、选举根端口、指定端口的规则:
1、Lowest path cost to root bridge (到达根的最小路径开销)
2、Lowest sender BID (最小的发送方BID)
3、Lowest sender port ID (最小的发送方PID)优先级(默认128)+发送方的端口号
7、修改网桥接口优先级命令:
[sw1-Ethernet 0/0/2]stp port priority 0
查看端口状态命令:
Display stp brief
8、RSTP:快速生成树协议:
缩短生成树端口由阻塞到转发状态的过渡时间。
开启快速生成树的方法:
[ ]Stp enable
[ ]Stp mode rstp
9、MSTP:
多实例生成树,让指定一个VLAN或者是多个VLAN一颗生成树,实现链路的负载均衡。
mstp实验:
在lsw3上:
vlan batch 10 20
#
interface Ethernet0/0/1
port hybrid pvid vlan 10
port hybrid untagged vlan 10 20
#
interface Ethernet0/0/2
port hybrid pvid vlan 20
port hybrid untagged vlan 10 20
#
interface Ethernet0/0/3
port hybrid pvid vlan 10
port hybrid untagged vlan 10 20
#
interface Ethernet0/0/4
port hybrid pvid vlan 20
port hybrid untagged vlan 10 20
#
stp region-configuration
region-name huawei
revision-level 1
instance 1 vlan 10
instance 2 vlan 20
active region-configuration
在lsw1上:
vlan batch 10 20
#
interface Ethernet0/0/1
port hybrid pvid vlan 10
port hybrid untagged vlan 10 20
#
interface GigabitEthernet0/0/1
port link-type trunk 中间的trunk链路
port trunk allow-pass vlan 2 to 4094
#
interface GigabitEthernet0/0/2
port hybrid pvid vlan 10
port hybrid untagged vlan 10 20
#
stp region-configuration
region-name huawei
revision-level 1
instance 1 vlan 10
instance 2 vlan 20
active region-configuration
#
stp instance 1 root primary
stp instance 2 root secondary
在lsw2上:
vlan batch 10 20
#
interface Ethernet0/0/1
port hybrid pvid vlan 20
port hybrid untagged vlan 10 20
#
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 2 to 4094
#
interface GigabitEthernet0/0/2
port hybrid pvid vlan 20
port hybrid untagged vlan 10 20
#
stp region-configuration
region-name huawei
revision-level 1
instance 1 vlan 10
instance 2 vlan 20
active region-configuration
#
stp instance 1 root secondary
stp instance 2 root primary
在r1上:
#
interface GigabitEthernet0/0/0
ip address 192.168.10.1 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 192.168.20.1 255.255.255.0
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.255