目录
(一)、STP 生成树协议
交换机出现二层环路带来的问题:
(二)、802.1D生成树协议
(1)、配置BPDU信息:
(2)、配置TCN BPDU信息:
STP的生成树选举:
1), 选根网桥 --- 一棵树有且只有一个根(802.1D整个交换网络只有一棵树)
2),根端口 --- 在每台非根交换机上,有且仅有一个;选择离根最近的接口,用来接收来自根网桥的BPDU。
3),指定端口 --- 在每一条存在协议的链路上,有且仅有一个,用来转发来自根网桥的BPDU,不能阻塞。
4),非指定端口 --- 剩下没有分配角色的接口均为非指定端口,非指定端口需要进行阻塞。(阻塞为物理上的阻塞,依然可以接收流量)
(三)、802.1D生成树的配置:
(四)802.1D的缺点:
1,收敛慢 2,链路利用率低
(五)PVST( 思科私有STP生成树协议) --- 基于VLAN的生成树
(六)RSTP(802.1W) ----- 快速生成树
(七)正对上述有以下改进点
改进点1:变更了端口角色
改进点2:修改了接口状态类型。
改进点3:对配置BPDU里面的报文参数进行了修改。
改进点4:对配置BPDU的处理
改进点5:快速收敛机制
改进点6:拓扑变更机制优化
(八)交换机处于同一个域的匹配条件:
(九)链路聚合 --- 应用在以太网中的技术
(十)VRRP--- 虚拟路由冗余协议
冗余:1,线路备份 2,设备备份 3,网管备份 4,UPS备份
交换机出现二层环路带来的问题:
1,广播风暴:广播帧在二层环路中将形成顺时针和逆时针转动的两层环路,无线循环,最终导致设备 宕 机,网络瘫痪。
2,MAC地址表的翻摆
3,多帧复制
STP 协议的主要目的是破除二层环路。
工作原理: 在二层交换网络中,逻辑的阻塞部分接口,实现从根交换机到所有节点唯一的路径,且为最佳路径。生成了一个没有环路的拓扑。当最佳路径故障时,个别阻塞接口打开,形成备份路径。
STP --- 是标准的STP --- 遵循的是802.1D标准。也是IEEE组织颁布的标准,一定是一个公有协议。
还有以下STP生成树协议:
PCST,PVST+ --- 思科私有STP生成树协议
RSTP --- 快速生成树 --- 802.1W标准
MSTP --- 多生成树协议 --- 802.1S标准
STP的数据包叫做BPDU, B--桥,指网桥;PDU--- 协议数据单元
BPDU 分为两种:一种叫配置BPDU,另一种叫配置 TCN BPDU。
工作原理: 只有根网桥可以发送,在交换网络的初始状态,所有交换机认为本地为根网桥,进行BPDU的发送,使得网络中所有交换机均接受到其他交换机的BPDU,之后将基于其中的数据参数进行比对,选举网桥。之后,所有非根网桥不再发送配置BPDU,而是仅接受和转发根网桥的BPDU,配置BPDU的发送周期为25,MAX AGE 20S。
协议版本 --- 802.1D ---- 0
802.1W --- RSTP --- 2
802.1S --- MSTP --- 3
标志 --- 在802.1D中,8位标志只使用了最高位(TCA)和最低为(TC)。中间6位,在802.1D中保留,在802.1S和802.1W中使用。
根网桥ID:指为根的交换机所具有的网桥ID。(802.1D协议在整个交换网络中将生成一颗生成树,即只有一个根网桥)
网桥ID(BID):所有的交换机都具有网桥ID来进行区分标识。
---BID 由两部分组成;前2个字节为优先级(优先级用来人为干涉),后面6个字节为交换机的MAC地址。
根网桥开销 --- 叫RPC ---表示转发BPDU的网桥距离根网桥的开销大小。
接口ID --- 用来标识和区分发送该BPDU接口。
-- 2个字节,由两部分组成;前2位字节为优先级(优先级用来人为干涉),后面12位为接口编号。
消息寿命有一个最大值MAX-HOP,默认为20。
最大寿命相当于老化时间。
转发延迟 --- 指的是接口在状态切换时停留时间,默认时间为15S.
工作原理:本地链路故障后,STP重新收敛,为了快速刷新全网所有交换机的MAC地址表。将向本地所有STP接口发送TCN BPDU。邻居交换机收到TCN后,先回复一个TCA标记位置1的配置BPDU,用于可靠传输消息;之后,将TCN BPDU逐级上报到根网桥处,由根网桥回复一个配置BPDU(将TC标记位置1),该BPDU将逐级转发至整个交换网络的所有交换机上,所有交换机收到TC标记位置1的BPDU后,将会把自己MAC地址表300S的老化时间临时修改为15S(和转发延时时间一致),用于加快失效MAC地址信息记录的刷新。
1,根网桥(RB)
2, 根端口(RP)
3,指定端口(DP)
4,非指定端口(NDP)
选举方法:
比较BPDU中的BID = 优先级+ MAC地址
0-65535,默认值32768,优先级数值越低越好。(实际取值范围:0-61440)
优先级2个字节,实际优先级只使用前4位,剩下12位为扩展系统ID(zhiyouzai 802.1S中有使用,用来代表VID)。
先比较优先级,优先级越小越优。若优先级相同,则比较MAC地址,MAC地址越小越优。
华为设备默认支持以上三种开销值计算标准,默认使用的是IEEE802.1T标准。
1,先比较接口收到根网桥发出的BPDU的开销值。
2,比较该接口对端设备(上级设备)BID,BID小的设备所对应的端口为根端口。
3,若对端BID相同,则比较对端的PID,小的对应的接口为根端口。
PID : 优先级 + 接口编号
优先级占前4位,取值范围为0-240,默认是128.(修改优先级是必须按照16的倍数来修改)
先比较优先级,优先级小的越优;如果优先级相同,则比较接口编号,接口编号越小越优。
4,若对端的PID也相同,则比较本地的PID,小的为根端口。
选择指定端口注意以下几点:(根网桥所有接口一定是指定端口)
1,先比较接口发出BPDU时的COST值,小的为指定端口。(一开始根发的cost值为0,SW2收到BPDU开销值为18)
2,若开销值(COST值)相同,则比较本地BID,BID小的交换机上接口为指定端口。
3,若本地的BID相同(在同一台交换机上),则比较接口的PID,PID小的接口为指定端口。
4,如果PID也相同,则直接将该接口堵塞。
1,禁用 ---- 1,物理接口关闭;2,接口禁用生成树协议
2,阻塞 ----- 接口激活之后进入该状态。20S时间内没有收到BPDU则进入下一个状态。
3,侦听 ---- 接口可以正常收发BPDU,但是不能接收和转发业务数据,选举时间为15S。(不允许转发业务数据是为了避免选举未完成时产生临时的环路)
如果选举出的就角色为非指定端口,则将直接退回到阻塞状态,只有根端口和指定端口在侦听状态结束后进入下一个状态。
4,学习 ---- 可以侦听业务数据,但不会进行转发。---学习时间为 15S
学习阶段是为了尽可能的减少未知单播帧的泛洪,导致资源浪费。
5, 转发 ----- 可以正常接收和转发数据帧和BPDU。
所以,802.1D生成树的收敛时间为:30S和50S
首次收敛时间:50S
结构变化:
1,根网桥故障:50S
2,直连链路故障:30S
3,非直连发生故障:50S
[sw1]stp mode stp ---- 修改生成树协议类型
[sw1]stp enable ----- 开启STP功能(华为设备默认开启。可以不用执行)
[sw6]display stp ----- 查看STP的信息
[sw5]display stp brief ---- 查看STP接口角色状态信息
[sw5]stp priority 28672 ----修改BID中的优先级(32768-4096=28672)
案例:
方法一:
undo terminal monitor off
^
Error:Too many parameters found at '^' position.
sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys sw1
[sw1]stp mode stp
Info: This operation may take a few seconds. Please wait for a moment...done.
[sw1]
[sw1]stp priority 12288 ---- 选用sw1作为root,则将它的优先级改为最小。
[sw1]display stp brief ---查看接口,6个接口全为指定接口。
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 DESI LEARNING NONE
0 GigabitEthernet0/0/2 DESI LEARNING NONE
0 GigabitEthernet0/0/3 DESI LEARNING NONE
0 GigabitEthernet0/0/4 DESI LEARNING NONE
0 GigabitEthernet0/0/5 DESI LEARNING NONE
0 GigabitEthernet0/0/6 DESI LEARNING NONE
[sw1]
undo terminal monitor off
^
Error:Too many parameters found at '^' position.
sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys sw2
[sw2]stp mode stp
Info: This operation may take a few seconds. Please wait for a moment...done.
[sw2]stp priority 16384
undo terminal monitor off
^
Error:Too many parameters found at '^' position.
[Huawei]sys sw3
[sw3]stp mode stp
Info: This operation may take a few seconds. Please wait for a moment...done.
[sw3]stp priority 20480
undo terminal monitor off
^
Error:Too many parameters found at '^' position.
sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys sw4
[sw4]stp mode stp
Info: This operation may take a few seconds. Please wait for a moment...done.
[sw4]stp priority 24576
undo terminal monitor off
^
Error:Too many parameters found at '^' position.
sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys sw5
[sw5]
Oct 21 2021 08:48:06-08:00 sw1 DS/4/DATASYNC_CFGCHANGE:OID 1.3.6.1.4.1.2011.5.25
.191.3.1 configurations have been changed. The current change number is 4, the c
hange loop count is 0, and the maximum number of records is 4095.st
[sw5]stp mo
[sw5]stp mode stp
Info: This operation may take a few seconds. Please wait for a moment...done.
undo terminal monitor off
^
Error:Too many parameters found at '^' position.
sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys sw1
[sw1]
Oct 21 2021 08:48:06-08:00 sw1 DS/4/DATASYNC_CFGCHANGE:OID 1.3.6.1.4.1.2011.5.25
.191.3.1 configurations have been changed. The current change number is 4, the c
hange loop count is 0, and the maximum number of records is 4095.st
[sw1]stp mo
[sw1]stp mode stp
Info: This operation may take a few seconds. Please wait for a moment...done.
[sw5]stp priority 28672
[sw5]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/9 DESI FORWARDING NONE
0 GigabitEthernet0/0/10 DESI LEARNING NONE
[sw5]
undo terminal monitor off
^
Error:Too many parameters found at '^' position.
sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys sw6
[sw6]stp mode stp
Info: This operation may take a few seconds. Please wait for a moment...done.
(SW6的优先级为32768,不用修改,其余均需修改,优先级大小为:SW6>SW5>SW4>SW3>SW2>SW1)
上案例接口优先级不需要更改。
更改接口优先级配置:
[sw1-GigabitEthernet0/0/1]stp port priority ?
INTEGER<0-240> Port priority, in steps of 16
查看配置的STP生成树:(ALTE---阻塞 DEST---指定 ROOT)
方法二:
[sw1]stp root primary --- 将该网桥设置为根网桥,其实质是将该网桥的优先级修改为0[sw2]stp root secondary --- 将该网桥设置为备份根网桥,其实质是将该网桥的优先级修改为4096
此上命令相当于把优先级改为0, 则sw1为root(主根)。
此上命令相当于把优先级改为4096,优先级第二小(备份根)。
----一般主根和备份根都放在汇聚层。
PVST只是提供了链路利用率低的一个解决思路。但他的本身也并不彻低,因为一个VLAN一棵树,如果整个网络中VLAN数量过大时,将导致BPDU泛洪的流量过大。
主要解决的是802.1D生成树收敛速度慢的问题。但是依然是一个网络一棵树,并且可以向下兼容802.1D的协议。
802.1D:根端口,指定端口,非指定端口
802.1W: 根端口,指定端口,替代(Alternate)端口。备份(backup)端口。
替代端口:用来替代根端口,相当于是根端口的备份。
由于学到其他网桥发送的配置BPDU报文而阻塞的端口,他提供了从指定网桥到根的另一条路径。当根端口失效时,则最优的替代端口将立即称为根端口,并进入转发状态。
备份端口:相当于指定端口的备份。
由于学到自己发送的配置BPDU而阻塞的端口,它作为指定端口的备份,当指定端口失效时,将直接称为指定端口,并且直接进入转发状态。
802.1D: 5种 ---- 禁用,阻塞,侦听,学习,转发
802.1W: 3种 --- DISCARDING(丢弃),学习,转发
丢弃 ---- 不转发用户流量也不学习MAC地址。
学习 ---- 不转发用户流量,但可以学习MAC地址。
转发 ----- 即可以转发用户流量,也可以学习MAC地址。
P/A机制
RSTP的P/A机制主要来保证一个指定接口的以从丢弃状态快速进入转发状态,从而加速了生成树的收敛。
在P/A机制中,存在一个“同步状态”,实际上就是将其他接口全部进行堵塞,防止环路的产生。
1,在拓扑收敛完成后:
802.1D:只有根网桥每隔2S发送一个配置BPDU,其他非根网桥只有收到根网桥的BPDU后才会进行转发。
802.1W:拓扑稳定后,非根网桥将自主的每隔2S发送根的BPDU。
2,更短的BPDU超时时间:
802.1D:需要等待20S(MAX AGE)
802.1W:仅需等待三个周期 --- 6S ---- 超时时间
[sw5-GigabitEthernet0/0/1]stp edged-port enable ---- 将接口配置为边缘接口
[sw5-GigabitEthernet0/0/1]stp bpdu-filter enable ---- BPDU 过滤
802.1S --- 又叫MSTP,是多生成树协议。
instance ----实例 ---- 就是一个或多个VLAN的集合
我们可以使用instance ID来区分不同的实例。一个实例创建一棵树。
instance ID ---- 由12位2进制构成,0-4094
instance 0 默认存在,且所有VLAN都默认属于instance 0
MSTP中存在一个域(region)的概念,相当于OSPF中区域(area)的概念,我们可以将一个较大的交换网络划分为多个MST域,当然,如果网络规模较小,也可以划分到一个MST域当中。
1,相同的域名(region name)
2,相同的修订级别(revision level)
3,相同的VLAN和instance的映射关系
需求:交换网络存在VLAN 1 -VLAN10,要求 VLAN 1 -VLAN5使用SW1为根创建生成树,VLAN 6 -VLAN10 以SW2为根创建生成树。
1,配置VLAN2。启动MSTP[sw1]stp mode mstp ---- 将STP的模式修改为MSTP(华为默认使 用的就是MSTP,所以,这个命令可以不敲)[sw1]stp enable --- 默认开启3,配置MST域[sw1]display stp region-configuration --- 查看当前MST域的配置Region name 默认情况下为交换机的管理接口的MAC地址[sw1]stp region-configuration --- 进入MST域配置视图[sw1-mst-region][sw1-mst-region]region-name aa ---- 修改MST域名称,所有域 中的交换机必须相同[sw1-mst-region]revision-level 1 --- 修改修订等级,默认都为0[sw1-mst-region]instance 1 vlan 1 to 5 --- 将vlan1 到 vlan 5放入实例1[sw1-mst-region]instance 2 vlan 6 to 10 --- 将vlan 6 到 vlan 10放入实例2[sw1-mst-region]active region-configuration --- 激活配置,必 须得敲,不做则之前的配置无效4,修改优先级[sw2]stp instance 1 root secondary[sw2]stp instance 2 root primary
将N条物理链路聚合为一条逻辑链路。我们把逻辑链路称为聚合链路(eth-trunk),将其中每一条物理链路称为成员链路。我们将聚合后得到的逻辑端口称为聚合端口(etn-trunk端口),聚合端口中的物理接口称为成员端口。
要求:1,通道的对端必须是同一台设备
2,成员端口应该具有相同的速率,双工模式,相同的类型,相同的VLAN允许列表。
1,创建聚合接口[sw2]interface Eth-Trunk 02,将物理接口划入聚合接口[sw2-Eth-Trunk0]trunkport GigabitEthernet 0/0/1 0/0/2 划入方法:也可以在物理接口中执行[sw2-GigabitEthernet0/0/1]eth-trunk 0
配置聚合链路的双方设备必须配置相同的eth-trunk,在进行端口聚合之前,所有端口上的配置必须删除,当聚合接口配置好之后,所有接口配置只能在聚合接口中配,不能在物理接口上配。
[r1-Eth-Trunk0]undo portswitch --- 将一个二层接口改为三层口
目前主要使用两个版本,一个VRRP V2 ---- 主要应用在IPV4领域
一个 VRRP V3 ---- 主要应用在IPV6领域
VRRP存在一个组的概念,可以将需要协同的路由器放入同一个组,配置相同的VRID(8位二进制构成)( 区分不同的组)。一个组中存在一个虚拟的网关路由器,这个网关需要配置一个虚拟ip地址(这个地址是需要指定的,而且必须和真实网关IP在同一个广播域),并且会产生一个虚拟的MAC地址 --- 0000 - 5e00 - 01XX(XX就是VRID)。
一旦接口配置激活了VRRP,开始时,所有网关接口都将发送VRRP协议报文,进行主从选举。(先比较优先级(默认优先级为100.取值范围0-255)优先级大的为主。优先级相同则比较IP地址,IP地址大的为主)。选举结束后,之后仅master周期性的发送VRRP协议报文(周期为1S),Backup 网关仅侦听,如果master3.6S未发送VRRP协议报文,则重新进行选举。
VRRP默认开启抢占模式,抢占模式只看优先级。
[Huawei-GigabitEthernet0/0/0]vrrp vrid 10 virtual-ip 192.168.1.254 ---- 配置VRRP,分组和虚拟IP地址[Huawei-GigabitEthernet0/0/0]vrrp vrid 10 priority 110 --- 修改 优先级[Huawei-GigabitEthernet0/0/0]vrrp vrid 10 track interface GigabitEthernet 0/0/1 --- 上行链路监控(默认优先级减10)[Huawei-GigabitEthernet0/0/0]vrrp vrid 10 track interface GigabitEthernet 0/0/1 reduced 50 --- 在上行链路故障时将优先级降 低50