生成树协议STP
分析:
单点故障,网络中断 加入另一SWITCH提供冗余,但存在环路,造成广播风暴。
广播 ( ARP DHCP 病毒 ) MAC表未建立,单播泛洪
分析网络环路及广播风暴。
解决办法:
生成树协议STP
生成树作用:
在冗余的网络环境中防止二层环路,并提供故障自动切换及负载均衡。
基本原理:
1. 环路阻塞 进行STP 运算,选一条最优路径转发,其余阻塞。
2. 故障切换 工作链路故障,阻塞 —— 转发。
STP将一个环形网络修剪为一个简单稳定的树形网络。
重要概念:
1. 根桥 根交换机,STP运算的参考点。( 选靠近网关或服务器的交换机作为根桥。)
选举: ID号=优先级+MAC 优先级默认32768,越小越好。优先级相同,比较MAC,越小越好。 16bit
S3560(config )spanning-tree vlan 1-10 priority 4096
S3560(config )spanning-tree vlan 1 root primary 主根桥 //减2个4096
Secondary 备用根桥//减1个4096
(cisco的STP实现方式为: 每VLAN运行一个生成树 )
注: 扩展系统ID, ID=优先级 + VLAN ID + MAC, 好处在于可以节省MAC地址.
4 bit 12 bit
扩展系统ID通过VLAN-ID进行区分根ID, 可以节省MAC地址.
STP启动后,每个SW都会发出BPDU, 将自已宣布为根,进行根桥选举。hello
2. 根端口 前往根桥最优路径的端口,在所有非根桥上选举。
根桥选出后,只有根桥每2秒发一个根BPDU, 非根桥进行转发,并标识自己到根桥的开销。
转发根BPDU的被称为转发根桥,在BPDU中标识自己的桥ID和转发端口ID.
选举:比较到根桥的开销,越小越好。
转发根桥的ID号
转发端口的ID号 ( 优先级+编号 )
128
说明:在实际应用中,通常只需根据开销即可选出根端口。
10G 2 1G 4 100M 19 10M 100
S2950(config )# int f0/23
# span vlan 1 cost 19
# span vlan 2 cost 100
3. 指定端口 转发根桥BPDU的端口,在所有物理网段上选举。
选举 :原则同上。
最终,在网络中,有唯一的根桥;在非根桥上有唯一的根端口;每个网段有唯一的指定端口。
所有的根端口和指定端口 转发
落选端口 阻塞
说明:1. 根端口的选举基于交换机,用于确定前往根网桥的最优路径。(接收BPDU)
指定端口的选举基于网段,用于发送BPDU。
2. 阻塞 ≠ 关闭,不能接收和发送用户数据,也不能发送BPDU,但是要接收BPDU,用来侦听网络的正常运行。
连续20秒收不到BPDU,认为网络出现间接故障。
标准生成树 IEEE802.1D
故障,阻塞 侦听 学习 转发
20 15 15
故障检测时间20秒,转发延迟30秒。
侦听: 不能接收和发送用户数据,也不学习MAC表。
学习:不能接收和发送用户数据,但可学习MAC表,为数据转发做准备。
SW(config)# spanning-tree vlan 1 hello-time 2
# span vlan 1 forward-time 15
# span vlan 1 max-age 20
以上定时器,只用在根桥上修改,根BPDU将3个定时器传遍网络。
快速生成树IEEE802.1W
加快收敛速度,减小延迟。故障检测时间小于6秒,转发延迟小于1 秒。
改进:取消定时器,采用协商机制。 提议——协定
网络故障 →
根端口 主,备
指定端口 协商 提议——同意
实现方式:
CISCO PVST+ 每VLAN生成树
R-PVST+ 快速
注:可以实现不同VLAN 间的负载均衡,但开销大。
IEEE CST 公共生成树 ( 所有VLAN运行一个STP ,开销小,但不能负载均衡。)
MST 多生成树 ( 一组VLAN运行一个STP, 开销小,又能实现负载均衡。)
STP实验:
1. 根桥选举
SW1(config )spanning-tree vlan 1-2 priority 4096
2. 故障切换
s2950#sh span vlan 1
可以查看根桥、根端口、指定端口,还可以看到故障切换时的状态变化。