一 、生成树协议产生的背景
1、局域网中出现的主要问题:
1) 网络互联 交换机和网线
2) 广播过多 分隔广播域 vlan
3) 局域网中终端设备较多,200台以上的计算机互通,需要多台交换机?
多台交换机之间如何连线?
交换机之间不互相连接-----------单点故障
交换机之间互相连接--------------链路备份
2、新问题:
换机之间呈环状连接,可以解决单点故障的问题,存在了冗余链路,但是因为交换机之间的拓扑结构为环状,所以会产生广播风暴。
交换机之间无环拓扑----------不存在广播风暴,但是存在单点故障问题;
交换机之间环状拓扑----------没有单点故障,存在广播风暴问题;
3、广播风暴:
交换机会向除了进口之外的所有端口广播查找目标主机的mac地,如果此mac地址不存在,交换机之间就会不断的进行广播查找,直到交换机资源耗尽,死机为止。
4、解决问题:
所有交换机物理上呈环状首尾连接(解决单点故障问题),然后,所有交换机开机运行生成树协议(STP),通过生成树协议交换机彼此之间决定阻塞某个或某些端口,从而形成逻辑无环拓扑(避免了广播风暴),当现有的链路出现问题时,之前被阻塞的端口可以从新启用,从而形成一个新的逻辑无环拓扑(备份链路)
1) 物理有环:逻辑无环;
2) 物理有环:物理上交换机互相连接
3) 逻辑无环:通过生成树协议阻塞某些端口,从而形成逻辑无环拓扑;
二、生成树协议选举过程
生成树协议: spanning tree protocol
含义:让交换机之间形成树状的无环拓扑
交换机之间通过生成树协议进行协商,最终决定阻塞哪个端口;
到底交换机之间是如何协商的?
协调阻塞端口的步骤及工作原理:
生成树算法分为3个步骤:
步骤1:确定交换机角色 (根交换机、非根交换机)
步骤2:确定交换机端口角色 (根端口、指定端口、非指定端口)
步骤3:确定交换机端口状态
每个广播域选择根交换机(Root Bridge)
每个非根交换机上选择根端口(Root Port)
每个链路上选择指定端口(Designated Port)
剩下没有被选中的就是非指定端口如图:
选择根网桥:网桥ID (BID)
网桥ID是唯一的(根网桥只有一个,其它网桥都是非根网桥;)
在交换机之间选择BID值最小的交换机作为网络中的根网桥
网桥ID=网桥优先级+网桥MAC地址
网桥优先级: 取值范围 0-65535 默认值 32768
修改的步长 4096 (单位)
如选举: 先比优先级 再比MAC地址
1)发现优先级都是3268
2)然后在对比MAC地址,mac地址小就是根网桥
选择根端口:选择根端口的依据
在每个非根网桥上,选举一个根端口;
此(参加选举)端口到达根网桥的路径成本之和最低
路径成本:每条链路的带宽
默认情况下:千兆(1000M )链路成本为20000
百兆(100M) 链路成本为200000
说明:他这里说根路径成本,也就是花费时间越少,最近的路,就可以达到最低的路径成本。
当成本路径一样的情况下在对比第二条
端口标识最小
端口标识(Port Identifier)
端口标识越小越优先,由端口优先级和端口号两部分组成,
端口优先级可配置,默认值128
直连的网桥ID最小
此(参加选举)端口所直连的交换机的网桥ID最小,故与根交换机直连的端口都是根端口
选择指定端口:
在每根网线上选举一个指定端口
每根网线必须有一个指定端口,而且只能有一个指定端口;
根网桥上的所有端口都是指定端口
--此端口所在交换机到底根网桥的路径成本之和最低
--此端口所在交换机的网桥ID最小
DESI 指定端口 ALTE阻塞端口 ROOT 根端口
4、生成树协议原理
1)BPDU bridge protocol data unit 桥协议数据单元
运行了生成树协议的交换机彼此之间用来交流生成树信息的数据包
类型:
配置BPDU :详细介绍生成树的基本信息
拓扑变更BPDU:把生成树的变化信息告诉别的交换机
内容:
根网桥的网桥ID、自己的网桥ID、到根网桥的成本、端口ID
2)stp端口状态
生成树选举需要一定的时间和过程:stp收敛
收敛:设备从不稳定到稳定的过程
禁用 disabled 强制关闭
阻塞 blocking 不能转发数据帧,可以接收BPDU;
侦听 listening 不能转发数据帧,可以发送和接收BPDU;
学习 leraning 构建MAC地址表
转发 forwarding 转发数据帧
3)STP计时器
hello时间:2s,交换机发送BPDU的频率和周期
max-age(最大老化时间):20s, 表示的是交换机的接口如果在指定时间没有接收到
BPDU的更新,那就把原来BPDU信息删除;
forward-relay(转发延迟):15s
侦听---->学习 15s
学习---->转发 15s
[A]STP enable \\开启stp协议
[A]stp disable \\关闭stp协议
Warning: The global STP state will be changed. Continue? [Y/N]y 确定关闭
Info: This operation may take a few seconds. Please wait for a moment...done.
[A]display stp \\查询stp信息
Protocol Status :Disabled 关闭状态
[A]stp mode stp \\修改模式为stp
[A]display stp \\查询stp信息
-------[CIST Global Info][Mode STP]-------
[A]stp priority 8192
优先级在调整时,注意必须是4096的倍数 最小值0 4096 8192
根交换机上的端口全部都是指定端口
[A]interface Ethernet 0/0/4 \\进去0/0/4端口
[A-Ethernet0/0/4]stp disable \\关闭0/0/4端口的stp协议
[A]interface Ethernet 0/0/3 \\ 进入 0/0/3 端口
[A-Ethernet0/0/3]stp cost 10000 \\修改 成本路径为1000
[A]display stp \\查询stp信息
-------[CIST Global Info][Mode STP]-------
5、MSTP工作原理
1)STP的缺点
收敛时间慢:30-50s
设备利用率低
解决方案:
RSTP 快速生成树协议
MSTP 多生成树协议
2)RSTP
IEEE802.1w
提高了收敛速度,增加了一些端口角色;
没有解决设备利用率低的问题
模式的修改配置命令:
stp mode rstp
3)MSTP
IEEE802.1S
提出了实例的概念,可以更好的提高设备的利用率;
实例 instance : 一个实例就是一个逻辑网络拓扑
每个实例中都可以指定独立的根交换机
实例之间不会互相影响
一 、MSTP的实验
配置思路:
1) 网络互联 交换机和网线
2.配置网络设备
-交换机
*初始化配置
*创建vlan
*交换机连接pc的端口
设置模式为access并将端口加入对应的vlan
*交换机连接交换机的端口
设置模式为trunk并允许所有vlan通过
*MSTP
-修改模式MSTP
-进去STP的配置区域
-给此交换网起区域名
-创建实例并关联valn
-激活实例
1、交换机的初始化配置
[Huawei]sysname sw1 \\修改设备名为SW1
[sw1]vlan batch 10 20 \\创建vlan 10 20
[sw1]quit \\返回
[Huawei]sysname sw2 \\修改设备名为SW2
[sw2]vlan batch 10 20 \\创建vlan 10 20
[sw2]quit \\返回
[Huawei]sysname sw3 \\修改设备名为SW3
[sw3]vlan batch 10 20 \\创建vlan 10 20
[sw3]quit \\返回
[Huawei]sysname sw4 \\修改设备名为SW4
[sw4]vlan batch 10 20 \\创建vlan 10 20
[sw4]quit \\返回
2、交换机连接PC端口的配置 模式access并加入对应的vlan
[sw1]interface GigabitEthernet 0/0/1 \\进去接口0/0/1
[sw1-GigabitEthernet0/0/1]port link-type access \\设置端口模式为access
[sw1-GigabitEthernet0/0/1]port default vlan 10 \\将端口加入vlan 10
[sw1-GigabitEthernet0/0/1]quit \\返回
[sw2]interface GigabitEthernet 0/0/1 \\进去接口0/0/1
[sw2-GigabitEthernet0/0/1]port link-type access \\设置端口模式为access
[sw2-GigabitEthernet0/0/1]port default vlan 10 \\将端口加入vlan 10
[sw2-GigabitEthernet0/0/1]quit \\返回
[sw3]interface GigabitEthernet 0/0/1 \\进去接口0/0/1
[sw3-GigabitEthernet0/0/1]port link-type access \\设置端口模式为access
[sw3-GigabitEthernet0/0/1]port default vlan 20 \\将端口加入vlan 20
[sw3-GigabitEthernet0/0/1]quit \\返回
[sw4]interface GigabitEthernet 0/0/1 \\进去接口0/0/1
[sw4-GigabitEthernet0/0/1]port link-type access \\设置端口模式为access
[sw4-GigabitEthernet0/0/1]port default vlan 20 \\将端口加入vlan 20
[sw4-GigabitEthernet0/0/1]quit \\返回
3、交换机连接交换机端口的配置模式为trunk 并允许所有的vlan 通过
[sw1]port-group group-member g0/0/12 g0/0/13 \\创建临时组将g0/0/12 g0/0/13组建一起
[sw1-port-group]port link-type trunk \\设置端口模式为trunk
[sw1-port-group]port trunk allow-pass vlan all \\并允许所有的vlan通过
[sw1-port-group]quit \\返回
[sw2]port-group group-member g0/0/12 g0/0/13 \\创建临时组将g0/0/12 g0/0/13组建一起
[sw2-port-group]port link-type trunk \\设置端口模式为trunk
[sw2-port-group]port trunk allow-pass vlan all \\并允许所有的vlan通过
[sw2-port-group]quit \\返回
[sw3]port-group group-member g0/0/12 g0/0/13 \\创建临时组将g0/0/12 g0/0/13组建一起
[sw3-port-group]port link-type trunk \\设置端口模式为trunk
[sw3-port-group]port trunk allow-pass vlan all \\并允许所有的vlan通过
[sw3-port-group]quit \\返回
[sw4]port-group group-member g0/0/12 g0/0/13 \\创建临时组将g0/0/12 g0/0/13组建一起
[sw4-port-group]port link-type trunk \\设置端口模式为trunk
[sw4-port-group]port trunk allow-pass vlan all \\并允许所有的vlan通过
[sw4-port-group]quit \\返回
4、在交换机SW1 2 3 4 上做MSTP的配置 --保持一致
[sw1]stp mode mstp \\修改模式为mstp
[sw1]stp region-configuration \\进去stp的配置区域
[sw1-mst-region]region-name HCIE \\设置区域名为HCIE(名字可自定义,但四台交换机要保持一致)
[sw1-mst-region]instance 10 vlan 10 \\创建实例10并绑定vlan 10
[sw1-mst-region]instance 20 vlan 20 \\创建实例20并绑定vlan 20
[sw1-mst-region]active region-configuration \\激活配置区域
[sw1-mst-region]quit \\返回
5、将交换机SW1设置为vlan 10的根交换机
[sw1]stp instance 10 priority 0
6、将交换机SW4设置为vlan 20的根交换机
[sw4]stp instance 20 priority 0
[sw1]display stp instance 10 brief
查询发现 交换机SW1上的端口全部是指定端口
[sw4]display stp instance 20 brief
查询发现 交换机SW4上的端口全部是指定端口
[sw2]display stp brief \\显示所有的实例的端口角色
二 、MSTP的负载均衡实验
配置思路:
1) 网络互联 交换机和网线
2.配置网络设备
-交换机
*初始化配置
*创建vlan
*交换机连接pc的端口
设置模式为access并将端口加入对应的vlan
*交换机连接交换机的端口
设置模式为trunk并允许所有vlan通过
*交换机连接路由器的端口
设置模式为access并将端口加入对应的vlan
*MSTP
-修改模式MSTP
-进去STP的配置区域
-给此交换网起区域名
-创建实例并关联valn
-激活实例
1、交换机的初始化配置
[Huawei]sysname sw1 \\修改设备名为SW1
[sw1]vlan batch 10 20 \\创建vlan 10 20
[sw1]quit \\返回
[Huawei]sysname sw2 \\修改设备名为SW2
[sw2]vlan batch 10 20 \\创建vlan 10 20
[sw2]quit \\返回
[Huawei]sysname sw3 \\修改设备名为SW3
[sw3]vlan batch 10 20 \\创建vlan 10 20
[sw3]quit \\返回
[sw3]interface Ethernet 0/0/1 \\进去接口0/0/1
[sw3-Ethernet0/0/1]port link-type access \\设置端口模式为access
[sw3-Ethernet0/0/1]port default vlan 10 \\将端口加入vlan 10
[sw3-Ethernet0/0/1]quit \\返回
[sw3]interface Ethernet 0/0/2 \\进去接口0/0/1
[sw3-Ethernet0/0/2]port link-type access \\设置端口模式为access
[sw3-Ethernet0/0/2]port default vlan 20 \\将端口加入vlan 20
[sw3-Ethernet0/0/2]quit \\返回
3、交换机连接交换机端口的配置模式为trunk 并允许所有的vlan 通过
[sw1]port-group group-member e0/0/3 e0/0/10 \\创建临时组将e0/0/3 e0/0/10组建一起
[sw1-port-group]port link-type trunk \\设置端口模式为trunk
[sw1-port-group]port trunk allow-pass vlan all \\并允许所有的vlan通过
[sw1-port-group]quit \\返回
[sw2]port-group group-member e0/0/4 e0/0/10 \\创建临时组将e0/0/4 e0/0/10组建一起
[sw2-port-group]port link-type trunk \\设置端口模式为trunk
[sw2-port-group]port trunk allow-pass vlan all \\并允许所有的vlan通过
[sw2-port-group]quit \\返回
[sw3]port-group group-member e0/0/3 e0/0/4 \\创建临时组将e0/0/4 e0/0/10组建一起
[sw3-port-group]port link-type trunk \\设置端口模式为trunk
[sw3-port-group]port trunk allow-pass vlan all \\并允许所有的vlan通过
[sw3-port-group]quit \\返回
4、交换机连接路由器的端口
[sw1]interface Ethernet 0/0/1 \\进去接口0/0/1
[sw1-Ethernet0/0/1]port link-type access \\设置端口模式为access
[sw1-Ethernet0/0/1]port default vlan 20 \\将端口加入vlan 20
[sw1-Ethernet0/0/1]quit \\返回
[sw2]interface Ethernet 0/0/2 \\进去接口0/0/1
[sw2-Ethernet0/0/2]port link-type access \\设置端口模式为access
[sw2-Ethernet0/0/2]port default vlan 10 \\将端口加入vlan 10
[sw2-Ethernet0/0/2]quit \\返回
4、路由器的配置
[Huawei]sysname r1 \\修改设备名为r1
[r1]interface GigabitEthernet 0/0/1 \\进去接口0/0/1
[r1-GigabitEthernet0/0/1]ip address 192.168.20.254 24 \\配置IP地址
[r1-GigabitEthernet0/0/1]quit
[r1]interface GigabitEthernet 0/0/2 \\进去接口0/0/2
[r1-GigabitEthernet0/0/2]ip address 192.168.10.254 24 \\配置IP地址
[r1-GigabitEthernet0/0/2]quit \\返回
在配置MSTP时,需要注意的点: 在同一个交换网络中区域名要保持一致;
实例 和vlan 的捆绑也要保持一致;
所有的实例都要保持一致;
6、将交换机SW1设置为
[sw1]stp instance 10 priority 4096 \\设置vlan 10的次根交换机
[sw1]stp instance 20 priority 0 \\设置vlan 20的主根交换机
7、将交换机SW2设置为
[sw2]stp instance 10 priority 0 \\设置vlan 10的主根交换机
[sw2]stp instance 20 priority 4096 \\设置vlan 20的次根交换机
[sw1 ]display stp instance 20 brief
查询发现 交换机SW1上的端口全部是指定端口
[sw2]display stp instance 10 brief
查询发现 交换机SW2上的端口全部是指定端口