STP 原理
为了提高网络的可靠性,交换网络中通常会只用冗余链路,然而,冗余链路会为交换机带来环路风险,并导致广播风暴,和mac 地址不稳定等问题,生成树协议STP 可以在提高可靠性的同时又避免环路
环路可能造成的:
1 mac地址表震荡
2 广播风暴, 网络中主机收到重复的数据帧
STP 通过阻塞端口来消除环路,当其中一个线路出现问题,阻塞的端口会自动进行工作,并实现备份的目的
工作原理
1 选举一个根桥, 一般根据交换机的优先级进行选举,越小越优先, 优先级相同
的根据mac地址进行选举
优先级:0-65535
优先级默认都是32768, 每次变化4096 的倍数
预先级一样比较mac地址, 都是越小越优先
2 每个非根交换机选举一个根端口,来接受根发出的命令
选着根端口一般是离根桥最进的端口,当根的路径开销一样是,
根据对端的BID BID 小的优先
对端的PID 与本端PID
3 每个网段选举一个指定端口
根桥的端口都是指定端口, 非根交换机分别根据根的距离,BID PID 选择
4 阻塞非根非指定端口
Stp有三种模式 stp模式是最基础的
配置
查看
修改优先级,必须是4096 倍数, 越小越优先
端口的变化,伴随端口状态的变化,
端口的状态有5种
状态的变化需要一个时间:转发延迟
一个转发延迟的状态变化时15s
从blocking状态转为forwarding状态需要30s
BPDU 每隔2s 有根桥发送一次,其他设备,非根桥交换机在连续十个周期没有收到根桥发下来的BPDU 报文,会认为根桥发生故障,重新选举
当根桥故障,需要重选根桥 整个过程需要50s时间
---------------------------------------------------------------------------------------------------------------------
RSTP
对STP 的回顾:
1 STP 主要用于二层防环, 通过阻塞端口来实现
2 同时也起到冗余备份的作用
STP 的不足之处:
1 在初始开始端口需要经过端口状态的转变,最终进入forwarding状态,整个收敛时间需要30s
2 当RP 端口down了, 这是Ap 阻塞端口会变为RP 端口, 但是AP 由阻塞状态
变为转发拽需要30s 时间
3 以下情况,当A 与B 之间的链路down了, 这是C 交换的阻塞口会变为DP 端口
整个过程需要50s时间
4 终端设备,但交换机接入终端设备,该端口转为DP 端口进入转发状态, 需要30s时间
5 在拓扑相对复杂时, 其中一个链路发生故障, 每次都要先通知根交换, 再右根交换机发送者条链路down 的消息给其他交换机, 效率低下
所以有与stp 有许多的不足, 在stp的基础上定义了RSTP 进行优化,实现了链路状态的快速收敛
1 端口的划分:
在RSTP 中增加了BP 端口, 做被DP 端口 的备份端口, 而AP 端口是RP 端口的备份端口,当DP down ,BP端口可以快速进入转发状态。
2 端口状态,有STP 原来的5中变为3种
P/A 机制
两台交换机 A B 由于A 的BID 是4096 B 的BID 是8192 是所以A会主动向B发送发送P 置位的BPDU报文(此时A交换机的端口是discarding状态) 当B 收到后同步变量,会向A 交换机发送A 置位的BPDU ,当A 交换机收到A 置位的BPDU 报文时,端口会立即进入转发状态。
针对端口必须是DP 与RP 之间, 而且是点到点之间,不可点到多点
针对STP 收敛慢的几种情况的解决
1 Rstp与STP 的本质是相同的,但是RSTP 采用了P/A 机制可以是端口迅速进入到转发状态(在初始端口阶段)
2 Ap端口最为RP 端口的备端口, 在RP 端口down后, AP 端口可以快速转为RP 端口并进入到转发状态
3 次的呢过BPDU 的处理
4 边缘端口的引入,针对接入的边缘端口设为边缘端口可以快速进入转发状态
设置边缘端口
保护:
1 BPDU 保护
主要设置在边缘端口, 为了防止在边缘端口接入一台交换机, 会发送BPDU报文引起网络的震荡, 设为BPDU保护后,当次端口接入交换机发送新的BPDU 报文时,此端口会down掉
配置: 在全局下配置
2 根保护 :
是对根交换机的保护 ,当接入新的交换机时,该交换机的优先级更高,发送更优的BPDU 报文会使原来的根交换机,不再是根交换机
设置为根保护,在指定接口下设置,当该接口收到更优的BPDU 报文会discarding ,若没有收更优的BPDU报文后才会进入转发状态
配置:
3 TC-BPDU 保护
防止频繁的发送TC 报文
启用了TC-BPDU保护,在单位时间内,RSTP 进程处理TC类型的BPDU报文次数课配置(缺省的单位时间是2秒,缺省的处理次数是3次),如果在单位时间内,RSTP 进程在收到TC类型的BPDU报文数量大于配置的阀值,nameRSTP 进程只会处理阀值指定的次数,对于其他超过的TC 类型BPDU报文,Rstp进程会对其统一一次处理,这样课避免频繁的操作,从而对交换机进行保护
-----------------------------------------------------------------------------------------------------------------------------------------------------
MSTP
默认模式就是Mstp 多实例STP
STP 与RSTP 都是单实列,因此阻塞后链路将不再承载流量,无法实现流量的负载均衡,造成带宽的浪费。 为了弥补缺陷 IEEE与2002年发布802.1s定义了MSTP
Mstp 兼容STP和RSTP ,可以实现快速收敛,有提供了数据的多个冗余路径,在数据转发过程中实现了发在均衡
单生成树的弊端
1 有与端口阻塞链路不再流量通过, 所以vlan2 与vlan3 都需从左边链路通过,造成链路浪费,此时若左边链路不允许vlan3 通过,则vlan3 将不通
2 流量无法实现分担
3 次优路径,由于阻塞端口所以vlan3 必须从左边的路径到达B交换机, 产生次优路径
MSTP 可以乘除多个生成树,每个生成树都是一个实例,之间彼此独立,互不影响
且每个MSTP 的计算过程都是独立的
实验
1 配置vlan vlan接口类型 trunk 或access [11]vlan batch 1 to 20 设置vlan [11-GigabitEthernet0/0/1]port link-type access 设置access 端口 [11-GigabitEthernet0/0/1]port default vlan 5 端口设为vlan5 在 12 交换机上做相同vlan设置 [12]vlan batch 1 to 20 [12-GigabitEthernet0/0/1]port link-type access [12-GigabitEthernet0/0/1]port default vlan 5 设置trunk 其他交换机做相同trunk配置 [11]int g0/0/2 [11-GigabitEthernet0/0/2]port link-type trunk [11-GigabitEthernet0/0/2]port trunk allow-pass vlan 1 to 20 [11]int g0/0/3 [11-GigabitEthernet0/0/3]port link-type trunk [11-GigabitEthernet0/0/3]port trunk allow-pass vlan 1 to 20 2 配置mstp 在其他交换机配置一样的 [s9]stp mode mstp 默认模式 不需要配置这歩 创建实例 [s9]stp region-configuration 进入stp视图 [s9-mst-region]instance 1 vlan 1 to 10 实例1 允许的vlan [s9-mst-region]region-name xiao 实例名 [s9-mst-region]revision-level 1 级别 [s9-mst-region]active region-configuration 活动 实例2 创建, 在其他交换机配置一样 [s9]stp region-configuration [s9-mst-region]instance 2 vlan 11 to 20 [s9-mst-region]active region-configuration 修改优先级 [s9]stp instance 1 priority 4096 [s10]stp instance 1 priority 8192 [s10]stp instance 2 priority 4096 [s9]stp instance 2 priority 8192 检查 [s9]dis stp brief MSTID Port Role STP State Protection 0 GigabitEthernet0/0/1 ROOT FORWARDING NONE 0 GigabitEthernet0/0/2 ALTE DISCARDING NONE 1 GigabitEthernet0/0/1 DESI FORWARDING NONE 1 GigabitEthernet0/0/2 DESI FORWARDING NONE 2 GigabitEthernet0/0/1 DESI FORWARDING NONE 2 GigabitEthernet0/0/2 ROOT FORWARDING NONE [s10]dis stp brief MSTID Port Role STP State Protection 0 GigabitEthernet0/0/1 DESI FORWARDING NONE 0 GigabitEthernet0/0/2 ROOT FORWARDING NONE 1 GigabitEthernet0/0/1 ROOT FORWARDING NONE 1 GigabitEthernet0/0/2 DESI FORWARDING NONE 2 GigabitEthernet0/0/1 DESI FORWARDING NONE 2 GigabitEthernet0/0/2 DESI FORWARDING NONE [s10]dis stp instance 1 brief 只查看实例1
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ETH-trunk
随着网络中部署的业务量不断正常,对于全双工点对点链路,单条物理链路的带宽已经不能满足正常的业务流量需求,如果将当前接口板替换为具备更高的宽带的接口板,则会浪费现在的设备资源,而且升级代价较大,如果增加设备间的链路数量,则在作为撒那层口使用时需要在每个接口上配置ip地址,从而导致浪费ip地址资源。
Eth-Trunk 作为一种捆绑技术,可以将多个独立物理的接口绑定子在一起作为一个带宽的逻辑接口使用,这样既不用替换接口板也不会浪费ip地址资源
Eth-Trunk 是一种将多个以太网接口捆绑成一个逻辑接口的捆绑技术
链路的聚合模式有两种:
1 手工负载分担模式 默认模式
2 LACP 模式 可以指定活动端口的个数
LACP 模式 称为M:N 模式,启动M 条链路处于活动转台转发数据,N 条链路处于非活动状态作为备份链路
图中活跃链路数位2, 即2条链路处于转发状态,1 条处于备份状态,不转发数据,只有当活跃的链路出现故障时,备份链路才能进行转发
LACP模式活动链路的选取
LACP 模式的抢占机制
实验:
[s9]int Eth-Trunk 12 [s9-Eth-Trunk12]mode manual load-balance 默认模式就是手动负载分担 加入端口 [s9-Eth-Trunk12]trunkport g0/0/2 [s9-Eth-Trunk12]trunkport g0/0/3 [s9-Eth-Trunk12]trunkport g0/0/4 [s10-Eth-Trunk12]trunkport GigabitEthernet 0/0/1 [s10-Eth-Trunk12]trunkport GigabitEthernet 0/0/3 [s10-Eth-Trunk12]trunkport GigabitEthernet 0/0/4 查看 [s10]dis eth-trunk 12 Eth-Trunk12's state information is: WorkingMode: NORMAL Hash arithmetic: According to SIP-XOR-DIP Least Active-linknumber: 1 Max Bandwidth-affected-linknumber: 8 Operate status: up Number Of Up Port In Trunk: 3 -------------------------------------------------------------------------------- PortName Status Weight GigabitEthernet0/0/1 Up 1 GigabitEthernet0/0/3 Up 1 GigabitEthernet0/0/4 Up 1 在逻辑端口在设置trunk 在2 上一样配置trunk [s9]int Eth-Trunk 12 [s9-Eth-Trunk12]port link-type trunk [s9-Eth-Trunk12]port trunk allow-pass vlan 1 to 20 [s10]int Eth-Trunk 12 [s10-Eth-Trunk12]port link-type trunk [s10-Eth-Trunk12]port trunk allow-pass vlan 1 to 20