2.10.0 以太网 传统STP生成树(简介、工作方式)
作用:
STP(Spanning Tree Prortoco)生成树协议,它的出现解决了交换机网络环路的问题。
交换机网络中收到BUM帧的时候,将会进行泛洪的操作,而在环形的交换网络中,这种泛洪操作将会引起广播风暴!
广播风暴不仅会降低交换机的处理性能,还会造成MAC地址在不同端口之间替换,从而使得正常的数据也无法进行正常的转发,这种现象称为:MAC地址飘移。
BUM帧:广播帧(Broadcast)、未知单播帧(Unknow unicast)、组播帧(Multicast)
广播风暴:二层帧头中没有可以防止数据帧无限转发的字段,所以交换机收到广播帧后无限的进行转发从而产生广播风暴
细讲一下MAC地址飘移的过程:
在没有启动STP协议时的 “环形交换网络” 出现BUM帧:
- 当PC1访问PC2时,需要发送ARP请求对方地址,因此产生一个ARP广播帧发送到交换网络中。
- LSW收到广播帧,向LSW1、LSW3转发,LSW3收到广播帧后又向LSW2、LSW1转发,因此就陷入了无限转发ARP帧的情况。
- 因为无限转发的原因,LSW1不断的从e0/0/1、e0/0/2口收到PC1数据帧,因此PC1MAC地址也在e0/0/2、e0/0/1口上不断变化。
- 这种不断变化的现象就是MAC地址飘移
通过抓包可以看到交换设备不断的接收到ARP的广播帧
STP的工作方式:
STP生成树,如其名一般在逻辑上看开启了STP协议的交换网络就像一棵倒立的树状型。
在开启了STP协议的交换网络会根据选举的规则将环形网络的部分端口进行阻塞,破坏了环型也就防止了环路的产生。
以下是STP的选举规则:
-
选举根桥(即STP生成树的根部)
- 网络中选举根桥使用:设备优先级、MAC地址
- 设备优先级默认为32768,优先级越小越优先
- 优先级一样的情况下MAC地址小的更优先
- 如图:LSW1的设备优先级更高,成为STP中的根桥
-
选举根端口(选举出距离根桥最近的端口)
- 基于选举出来的根桥,计算非根桥设备到根桥设备之间的距离,距离的总合叫作根路径开销RPC(Root Path Cost)。
- 默认根桥的接口开销为0,通过接收根桥的STP BPDU时来判断距离根桥的远近。
- 如图:根桥发送的STP BPDU中路径开销会累加“接收端口”的开销,最终开销越小,说明该端口就是根端口。
-
选举指定端口
- 默认情况下根桥所有端口都是指定端口
- 非根桥设备的所有端口也是指定端口,但会因为端口选举的原因某些端口将会成为根端口、阻塞端口…
-
选举阻塞端口
- 当两台非根桥设备连接的对端都是指定端口时,将会进行阻塞其中一个端口
- 阻塞规则:
- (1)比较设备优先级+MAC地址,MAC地址和优先级越小,越是能成为指定端口
- (2)比较端口优先级+端口序号,端口序号越小,优先级越大,越是能成为指定端口
- 端口优先级默认128,
- 端口优先级的表示(前4bit是接口优先级、低12bit是接口编号)
- 128.22[默认优先级128,接口号e0/0/22]
- 个别端口如eth-trunk接口会默认分配一个接口编号
- 为什么端口优先级的步长是16?
- 已知PID占位4个字节(16bit)
- xxxx 0000,0000 0000
- 前4bit为优先级,后12bit为端口编号
- 当第4个x置1,以每8位为一组数,也就是0001 0000 = 16
- 当第3个x置1,也就是0010 0000=32.0
- (3)如果存在多台交换的时候,就需要结合根桥ROOT所在位置决定
- 如图:因为LSW2的设备优先级更高,LSW3比不过设备优先级,所以其对应的端口将被阻塞。