目录
前言
因为当有环路存在时,广播的发送会引起全网的广播风暴,因此需要打破环路生成的条件,而生成树协议就是解决二层广播风暴的重要手段,另外我们会阻塞一 些端口,打破环路生成条件,当链路出现问题时,这些被阻塞的端口可以过渡到转发状态,实现链路的备份的作用。
一、生成树概念
1、BPDU的概念
BPDU (网桥协议数据单元,STP的各种选举是通过交换BPDU报文来实现的,BPDU是直接封装在以太网帧中的。(802. 3+802. 2)对于参与STP的所有SW,它们都通过数据消息的交换来获取网络中其他SW的信息,这种消息就被称为BPDU。
2、BPDU的功能
1.选举根桥
2.确定冗余路径的位置
3.通过阻塞特定端口来避免环路
4.通告网络的拓扑变更
5.监控生成树的状态
3、BPDU的类型
1、配置BPDU
通常由根网桥以周期性间隔发出,包括了STP参数,用于进行各种选举。
2、 TCN (拓扑变更通告) BPDU
这种BPDU是当交换机检测到拓扑发生变更时所产生。
二、生成树端口角色
1、端口角色类型及作用
(1)RP:根端口
每个非根网桥,上有且只有一个,选举到达根网桥上路径开销值最小的成为根端口。
(2)DP:指定端口
根网桥上每个端口都是指定端口,非根网桥上需要转发数据的端口也是指定端口,非根网桥上需要转发数据的端口也是指定的端口。
(3)AP:预定端口
该接口状态为block状态,只收BPDU,不发BPDU。
2、端口状态
(1)禁用状态
不转发数据帧,不学习MAC地址表,不参与生成树计算
(2)阻塞状态
不转发数据帧,不学习MAC地址表,接收并处理BPDU,不发送BPDU
(3)侦听状态
不转发数据帧,不学习MAC地址表,参与生成树计算,接收并发送BPDU
(4)学习状态
不转发数据帧,学习MAC地址表,参与生成树计算,接收并发送BPDU。
(5)转发状态
转发数据帧,学习MAC地址表, 参与生成树计算,接收并发送BPDU
3、端口的规则
1. 到达根的最小路径开销
2. 最小的发送方BID
3.最小的发送方PID端口优先级(默认128) +发送方端口号
BW Cost
10M 100
100M 19
1G 4
10G 2
4、生成树的拓展
MSTP
多实例生成树,让指定的一个VLAN或多个VLAN生成一棵树,实现链路的负载均衡。
三、拓扑案例
1、普通生成树案例
更改优先级,让LSW2的e0/0/3端口状态为预备端口
LSW1配置
<Huawei>undo terminal monitor 关闭弹窗
<Huawei>sys 进入用户视图
[Huawei]sysname LSW1 更改名字为LSW1
[LSW1]user-interface console 0
[LSW1-ui-console0]id 0 0 永不超时
[LSW1-ui-console0]q 退回上一级
[LSW1]stp priority 0 更改网桥优先级
LSW2配置
<Huawei>undo terminal monitor 关闭弹窗
<Huawei>sys 进入用户视图
[Huawei]sysname LSW2 更改名字为LSW2
[LSW2]user-interface console 0
[LSW2-ui-console0]id 0 0 永不超时
[LSW2-ui-console0]q 退回上一级
LSW3 配置
<Huawei>undo terminal monitor 关闭弹窗
<Huawei>sys 进入用户视图
[Huawei]sysname LSW3 更改名字为LSW3
[LSW3]user-interface console 0
[LSW3-ui-console0]id 0 0 永不超时
[LSW3-ui-console0]q 退回上一级
[LSW3]stp priority 4096 更改优先级为4096
最后验证
经验证已经成功将LSW2的e0/0/3端口改为预定端口。
2、mstp案例
pc3和pc4分别属于vlan10和vlan20 ,pc3属于10.1.1.0的网段,pc4属于10.1.2.0网段,现要配置mstp,使全网互通。
LSW1配置
<Huawei>undo terminal monitor 关闭弹窗
<Huawei>sys 用户视图
[Huawei]sysname LSW1 修改名字为LSW1
[LSW1]user-interface console 0 永不超时
[LSW1-ui-console0]id 0 0
[LSW1]vlan batch 10 20 创建vlan10和20
[LSW1]int g0/0/1 进入g0/0/1端口
[LSW1-GigabitEthernet0/0/1]port link-type trunk 使用trunk模式
[LSW1-GigabitEthernet0/0/1]port trunk allow-pass vlan all 允许所有标签流量通过
LSW1]int g0/0/2 进入g0/0/2端口
[LSW1-GigabitEthernet0/0/2]port link-type trunk 使用trunk模式
[LSW1-GigabitEthernet0/0/1]port trunk allow-pass vlan all 允许所有标签流量通过
[LSW1-GigabitEthernet0/0/2]int e0/0/1 进入e0/0/1端口
[LSW1-Ethernet0/0/1]port link-type access 使用access模式
[LSW1-Ethernet0/0/1]port default vlan 10 划分给vlan 10
[LSW1-Ethernet0/0/1]q 退到上一级
[LSW1]stp mode mstp stp设置为mstp
[LSW1]stp region-configuration 进入mstp设置模式
[LSW1-mst-region]region-name huawei 区域名为华为
[LSW1-mst-region]revision-level 1 版本级别为1
[LSW1-mst-region]instance 1 vlan 10 定义实列为vlan 10
[LSW1-mst-region]instance 2 vlan 20 定义实列为vlan 20
[LSW1-mst-region]active region-configuration 对mstp配置保存
[LSW1]stp instance 1 root primary 定义本交换机为实例1的根
[LSW1]stp instance 2 root secondary 定义本交换机为实例2的备选根
LSW2配置
<Huawei>undo terminal monitor 关闭弹窗
<Huawei>sys 用户视图
[Huawei]sysname LSW2 修改名字为LSW2
[LSW2]user-interface console 0 永不超时
[LSW2-ui-console0]id 0 0
[LSW2]vlan batch 10 20 创建vlan10和20
[LSW2]int g0/0/1 进入g0/0/1端口
[LSW2-GigabitEthernet0/0/1]port link-type trunk 使用trunk模式
[LSW2-GigabitEthernet0/0/1]port trunk allow-pass vlan all 允许所有标签流量通过
LSW2]int g0/0/2 进入g0/0/2端口
[LSW2-GigabitEthernet0/0/2]port link-type trunk 使用trunk模式
[LSW2-GigabitEthernet0/0/1]port trunk allow-pass vlan all 允许所有标签流量通过
[LSW2-GigabitEthernet0/0/2]int e0/0/1 进入e0/0/1端口
[LSW2-Ethernet0/0/1]port link-type access 使用access模式
[LSW2-Ethernet0/0/1]port default vlan 20 划分给vlan 20
[LSW2-Ethernet0/0/1]q 退到上一级
[LSW2]stp mode mstp stp设置为mstp
[LSW2]stp region-configuration 进入mstp设置模式
[LSW2-mst-region]region-name huawei 区域名为华为
[LSW2-mst-region]revision-level 1 版本级别为1
[LSW2-mst-region]instance 1 vlan 10 定义实列为vlan 10
[LSW2-mst-region]instance 2 vlan 20 定义实列为vlan 20
[LSW2-mst-region]active region-configuration 对mstp配置保存
[LSW2stp instance 2 root secondary 定义本交换机为实例2的根
[LSW2]stp instance 1 root primary 定义本交换机为实例1的备选根
LSW3配置
<Huawei>undo terminal monitor 关闭弹窗
<Huawei>sys 用户视图
[Huawei]sysname LSW3 修改名字为LSW2
[LSW3]user-interface console 0 永不超时
[LSW3-ui-console0]id 0 0
[LSW3]vlan batch 10 20 创建vlan10和20
[LSW3]int g0/0/1 进入g0/0/1端口
[LSW3-GigabitEthernet0/0/1]port link-type trunk 使用trunk模式
[LSW3-GigabitEthernet0/0/1]port trunk allow-pass vlan all 允许所有标签流量通过
LSW3]int g0/0/2 进入g0/0/2端口
[LSW3-GigabitEthernet0/0/2]port link-type trunk 使用trunk模式
[LSW3-GigabitEthernet0/0/1]port trunk allow-pass vlan all 允许所有标签流量通过
[LSW3-GigabitEthernet0/0/2]int e0/0/1 进入e0/0/1端口
[LSW3-Ethernet0/0/1]port link-type access 使用access模式
[LSW3-Ethernet0/0/1]port default vlan 10 划分给vlan 10
[LSW2-GigabitEthernet0/0/2]int e0/0/2 进入e0/0/2端口
[LSW3-Ethernet0/0/2]port link-type access 使用access模式
[LSW3-Ethernet0/0/2]port default vlan 20 划分给vlan 20
[LSW3-Ethernet0/0/2]q 返回上一级
[LSW3]stp mode mstp stp设置为mstp
[LSW3]stp region-configuration 进入mstp设置模式
[LSW3-mst-region]region-name huawei 区域名为华为
[LSW3-mst-region]revision-level 1 版本级别为1
[LSW3-mst-region]instance 1 vlan 10 定义实列为vlan 10
[LSW3-mst-region]instance 2 vlan 20 定义实列为vlan 20
[LSW3-mst-region]active region-configuration 对mstp配置保存
R1 配置
<Huawei>undo terminal monitor 关闭弹窗
<Huawei>sys 用户视图
[Huawei]sysname R1 修改名字为R1
[R1]user-interface console 0 永不超时
[R1-ui-console0]id 0 0
[R1]int g0/0/0 进入g0/0/0端口
[R1-GigabitEthernet0/0/0]ip add 10.1.1.1 24 创建ip地址 10.1.1.1/24
[R1-GigabitEthernet0/0/0]un sh 激活端口
[R1-GigabitEthernet0/0/0]int g0/0/1 进入g0/0/1端口
[R1-GigabitEthernet0/0/1]ip add 10.1.2.124 创建ip地址 10.1.2.1/24
[R1-GigabitEthernet0/0/1]un sh 激活端口
[R1-GigabitEthernet0/0/1]q 退回上一级
[R1]int loo 0 进入 loo 0
[R1-LoopBack0]ip add 1.1.1.1 32 创建ip地址1.1.1.1/32
验证连通性
经验证两台pc能互相通信,拓扑搭建成功。
总结
本次主要介绍了生成树的相关知识,生成树的合理的使用,可以做到链路的负载均衡。