一、交换机环路的产生
当网络中,一个单一的链路在工作的过程中,可靠会出现故障,导致数据不能正常传送;为了保证网络的稳定性和可靠性,通常增加使用备份链路或者冗余链接以保证网络的稳定性、可靠性;
但是这种情况下,冗余链接间的交换机经常相互连接,则会形成环路,导致广播风暴,造成网络拥塞,主要产生两种后果:
1、环路会造成帧的重复(多帧复制、重复接收);
2、环路会造成地址学习错误;
二、交换机环路的解决;
1、所有的节点都需要链接起来,但是必须保证任何两个节点都只能有唯一的路径;
2、拓扑结构中,物理上看所有的链路都是链接的;逻辑上进行阻断某一链接(端口);
3、当线路故障时候,阻断接口被激活;恢复通信,起到备份作用;
三、生成树算法的步骤;
1、选择找到跟网桥(root Bridge);谁的网桥id最小谁就是跟网桥;
(1)、优先级(2字节)小的为跟网桥。优先级可以自己设置,但必须是4096的倍数;默认值是4096*8 = 32768;
(2)、优先级一样的时候,MAC地址小的为跟网桥(6个字节);
2、在每个非跟网桥中选择找到跟端口(root port); 每个非跟网桥,都有唯一的跟端口;
(1)、到跟网桥的路径代理成本最低的端口;(一个交换机上,有多个端口,多条链接到跟网桥的路径)
(2)、如果(1)一样,则选择相邻的、直连的网桥id小的端口;
(3)、如果(1)和(2)一样,则选择端口id小的端口;
3、在每个网段中选择找到代理(指定)端口;一个网段只有一个代理端口,跟网桥上所有端口都是代理端口;
(1)、到跟网桥的路径代理成本最低的端口;
(2)、如果(1)一样,则选择网桥id小的;
(3)、如果(1)和(2)一样,则选择端口id小的;
4、剩余未被选择指定的端口,则被阻断,阻塞;
四、网桥协议数据单元(BPDU)
1、BPDU数据中包含的重要字段:
2、工作过程:
(1)、开始(启动)的时候,每个交换机/网桥都认为自己是跟网桥,向外(所有端口)发送的BPDU中的跟网桥id是自身网桥id
(2)、每个交换机都在发送自身的BPDU,也都在从各个端口接收BPDU,若端口接收到的BPDU中的网桥id比自己的网桥id小的时候,停止该链路的BPDU的发送;则更改自身BPDU中的字段数据内容(跟网桥id、RPC),再转发新的BPDU;若端口接收到的BPDU中的网桥id比自己的网桥id大的时候,则丢弃该BPDU;
(3)、每个端口上定期2s发送BPDU;(此时的是配置BPDU,生成树建立后只有跟网桥发送BPDU来维护);
五、生成树维护
(1)、当拓扑结构发生变化时,下游设备用来通知上游设备网络拓扑结构发生变化的报文。它是当拓扑稳定后,网络中出现了链路故障,网络拓扑发生改变时发送 TCN BPDU消息;
(2)、跟桥会每隔2s周期性的发送BPDU,到各个角落;