HCIP 学习笔记 (17-21) BPDU过程、STP、RSTP和MSTP
文章目录
0.STP生成树解决环路问题:
由于设备冗余,或链路冗余,造成回路,使用BPDU协议避免环路:
①选root(根桥/根交换机);
②每个非根桥选一个RP(根端口);
③每条线选一个DP(指定端口),根桥端口都是DP(指定端口);
④剩下一个就是NDP(阻塞端口);
1.BPDU协议Hello包:
BPDU协议Hello包:
Hello 2s hello包2秒发一次,BPDU时间
MaxAge 20s 死亡时间是20s,10倍BPDU时间内没有收到对方hello包,就认为对方出现了问题
FwDly 15s
端口过程:阻塞(Block) --> 监听(Listening) --> 学习(learning) --> 非阻塞/转发(Forward)
20s 15s 15s =50s 收敛时间
BID(Brige ID):优先级+Mac地址
RID(Root ID):根桥
stp mode stp 修改为STP模式
dis stp 查看交换机生成树(默认MSTP)
dis stp inter e0/0/1
dis stp br
2.STP选取 根交换机:比较BID谁更小
stp priority 0 调整id,优先级
stp root primary 首要根交换机 变为0
stp root secondary 备用根交换机 变为4096
3.STP选取 根端口:
根端口:发包给根的端口,每台设备有且只有一个
① 第一步:比较端口成本谁更小(自己的cost):
成本是累加的,离根交换机有两条线,cost就是两条线的和
dis stp br 查看每个端口的状态,根桥所有端口都是Forward
dis stp inter g0/0/1 查看端口的cost Active=20000
dis stp inter e0/0/1 查看端口的cost Active=200000
Port Cost(Dot1T ) :Config=auto / Active=20000
调整端口的cost:
inter e0/0/1
[Huawei-Ethernet0/0/1]stp cost 2000
dis stp br 查看根端口和阻塞端口
[Huawei-Ethernet0/0/1]undo stp cost
② 第二步:比较对方交换机的BID谁更小:
看连的对方的BID,来选择自己的根端口,更小的为根端口
③ 第三步:比较对方端口的PID谁更小:
PID=端口优先级+端口号
注意:是对方的!和自己没有关系!
Port Priority :128
Designated Bridge/Port :32768.4c1f-cc0d-5977 / 128.23
inter g0/0/1
stp port priority 0
4.STP选取 指定端口:
在每一条线上面,选取指定端口
哪一个端口离根最近,哪一个就是指定端口
(离根最近指的是:端口到根桥经过的线的累加成本最低,即cost最小,
注意:不是带宽,带宽不适合累加)
①第一步:比较端口(累加)成本谁更小
根桥两个端口离根最近,所以DP
②第二步:比较端口所在交换机的BID谁更小
③第三步:比较端口的PID谁更小
5.RSTP 快速生成树:
STP五种状态:
disable:端口关闭状态
blocking:不允许转发数据流量,但可以转发BPDU
Listening:决定端口应该成为什么角色,端口应该成为RP还是DP,不允许转发数据流量,但可以转发BPDU
learning:学习MAC地址,不允许转发数据流量,但可以转发BPDU
Forwarding:既可以转发数据流量,也可以转发BPDU
RSTP:合并disable、blocking、Listening状态,叫discarding状态,
加上learning、Forwarding共3种状态,
P|A 提议|确认 机制,不要50s 计时器了,快速收敛
链路失效时间以前需要20s,现在只需要3倍时间6s
stp mode rstp
dis stp bri
ROOT 根端口
DESI 指定端口
BACK 备份端口(阻塞态) 指定端口的备份
ALTE 预备端口(阻塞态) 是根端口的备份口
inter e0/0/2
shutdown
dis stp br
undo shutdown
经测试:
BACK需要经过15s从Discarding进入learning,再经过15sForwarding收敛,共30s
ALTE是根端口的备份口,直接收敛
PC主机关机,会发送tcn bpdu,告知根交换机,网络拓扑发生变化,然后根桥将该信息广播到整个网络
MSTP另一种端口:边缘端口:交换机连PC的端口
配置了此端口,PC就不参与网络拓扑变化,就不用发送tcn bpdu了
此端口不需要参与生成树,应直接从Discarding 到 Forward 或 从Block状态到 Forward
测试:
E0/0/10,DESI端口关掉再开启,需要经过15s进入learning,在经过15sForwarding收敛,共30s
将端口设置为边缘端口,告诉交换机这个端口不需要参与生成树
stp edged-port enable 开启
快速进入Forwarding状态,不需要等30s
stp edged-port disable 关闭
dis version
在V200R001版本之后,边缘端口可以自动检测
即:如果没有收到PC方向发来的BPDU,则自动成为边缘端口
stp bpdu-filter enable 端口不再发送BPDU,
当然配置了边缘端口,收到BPDU也进行忽略
6.MSTP 华为默认生成树:
思科PVSTP/RPVSTP,每个vlan一个生成树,各个vlan阻塞的口不一样,实现负载均衡
但思科的vlan生成树必须每个vlan一个,不方便,
MSTP自定义生成树,把某些vlan的根定义在左边,另外的vlan根定义在右边
比如:希望vlan2流量从左边走,vlan3流量从右边走,
当链路出问题时,将有问题的一路切换
所以要将vlan2作为一个生成树,vlan3作为另外一个生成树
配置MSTP:
(默认MSTP 是instance 0 所有未配置的vlan都在0里面)
stp region-configuration 进入配置
region-name xiaoniu 域名,三台设备一样
revision-level 1 修订号,三台设备一样
instance 1 vlan 2
instance 2 vlan 3 创建2个生成树的实例,第一个生成树包含vlan2,第二个生成树包含vlan3
active region-configuration 生效
在另外两台设备上同样配置
配置MSTP根交换机和备份交换机:
[SW1]stp instance 1 root primary
[SW1]stp instance 2 root secondary
[SW2]stp instance 2 root primary
[SW2]stp instance 1 root secondary
查看MSTP实现的 负载均衡:
[SW3]dis stp ins 1
[SW3]dis stp ins 1 bri
dis stp region-configuration