一、二层环路
产生原因
在局域网中,为了实现冗余,往往会有如图所示的拓扑,在这种拓扑中,会产生环路,二层环路往往是由于物理拓扑出现了环路,如3台交换机三角形连接,二层环路的出现会产生两个问题:广播风暴和mac地址表震荡:
1. 广播风暴导致网络不可用
假设交换设备上没有启用stp协议,如果hostA发出广播请求hostB的mac地址,那么广播报文将被两台交换设备的端口1接收,并分别从端口2广播出去,然后端口2又收到另一台交换设备发过来的广播报文,再分别从两台交换设备的端口1转发,转发的同时会进行复制,如此反复,最终导致整个网络资源被耗尽,网络瘫痪不可用。
2. MAC地址表震荡导致MAC地址表项被破环
即使网络中不出现广播报文,从而消除广播风暴的可能,但是单播报文依然是危险的。比如hostA发出一个单播报文给hostB,如果此时hostB临时从网络中移去,那么交换设备的mac地址表中有关hostB的表项也会老化消失,此时hostA发给hostB的单播报文就会同时被交换设备的端口1和2接收到,端口1和端口2的的mac地址映射就会出现同一MAC地址对应两个出接口的情况,但是mac地址表不会允许这样的情况发生,所以就会更新mac地址表。由于数据不停在端口1 和端口2 之间互相转发,导致交换设备不停修改自己的mac地址表项,从而引起了mac地址表频繁抖动,如此以往,最终导致mac地址表项被破坏。
防环机制
stp
smart-link
LACP链路捆绑
设备堆叠
三层防环机制
转发层面
三层的IP头部存在ttl字段,所以报文不会无休止转发。ttl占8bit,最大255,设备接收到报文会需要减1,减到0就会丢弃,并且向报文的源IP发送type为1,code为0的icmp错误消息。
控制层面
依赖路由协议自身的防环机制。
rip
16跳限制
水平分割
毒性逆转
触发更新
OSPF
区域内依靠spf算法
区域间依靠区域结构设计和ABR的水平分割原则
ISIS
区域内依靠SPF算法
区域间依靠路由泄露的down位
BGP
AS之间依靠AS号,AS内部只传一跳,如果使用路由反射就依靠簇list和起源id,使用联盟,就依靠联盟的私有AS号。
组播
依靠RPF检查。