https://support.huawei.com/enterprise/zh/doc/EDOC1100055159/b2827059
二层环路检测的基本原理
定义:
当路由器下面连接的二层网络设备形成环路时将导致大量重复报文上送给CPU处理,形成环路风暴,对路由器CPU造成很大冲击,进而影响正常协议报文的上送,导致正常业务中断。二层环路检测功能主要根据对上送CPU的报文进行重复性判断来检测下游设备是否形成环路,当检测到环路时,根据配置的环路响应动作,路由器会及时向网管发送告警或shutdown发生环路的接口。
目的:
二层环路检测功能在检测到发生环路后能够快速界定设备上连接环路的接口,及时发送告警或shutdown发生环路的接口,防止对业务的影响扩大化,尽量减少对正常业务的影响范围和时间,从而提高路由器设备自身的防护能力。
原理:
在设计网络时,对于环形链路都会考虑配置防环路协议吧(如STP等),但对于非环形链路一般不会配置防环路协议,但在组网过程中可能会出现接线错误的情况,而导致形成环路。一旦出现二层环路,二层网络里的广播、组播、未知单播报文就会被大量循环重复复制,形成广播风暴。
路由器下游的二层网络一旦出现环路,和二层相连的路由器的接口就会迅速收到大量的广播、组播、和未知单播报文,其中比较常见的是ARP、VRRP的一些协议报文,这些报文会直接上送路由器的控制平面。大量报文的上送会占用正常协议报文的带宽,导致正常协议报文被丢弃,影响正常业务,同时加大CPU占用率。
二层环路检测功能通过对上送CPU的报文进行重复性检查来判断是否产生环路,当检测到可能发生环路时,二层环路响应动作可以有如下四种:
关闭接口:只有当检测到某个接口确定发生环路后,才会关闭接口,从而阻止该接口的环路报文对CPU的攻击。
发送告警:检测到某个接口确定发生环路或可能发生环路,都会发送告警,用户可以根据告警信息查询发生环路的接口信息。
发送告警并关闭接口:检测到某个接口确定发生环路后,发送告警并关闭接口。
无动作:停止二层环路检测,不关闭接口,不发送告警。
三层环路检测的基本原理
定义:
三层环路检测功能用于快速检测网络之间是否存在路由环路,并在出现路由环路时及时发送告警。
目的:
三层环路检测功能是检测到发生路由环路后及时发送告警,以便及时采取措施,保证业务正常运行
原理:
路由器所在三层网络一旦出现环路,流量报文无法正常转发,在此期间给运营商或用户带来损失。三层环路检测功能是否存在路由环路,并且及时发送警告,通知产生环路的IP地址。
如图10-1所示:DeviceA上到172.17.0.0/16的路由指向DeviceB,DeviceB上到172.17.0.0/16的路由正常应该指向DeviceC,但如果因为某种原因错误地指向DeviceA。这时候在DeviceA和DeviceB之间就形成了到172.17.0.0/16的路由环路。DeviceA和DeviceB发往172.17.0.0/16的报文,会在DeviceA和DeviceB之间循环转发,并最终因为TTL超时上送DeviceA和DeviceB的CPU处理。
三层环路检测功能通过对上送CPU的TTL超时报文进行统计分析,Tracert这些TTL超时报文的目的IP地址,通过Tracert的详细结果来判断是否存在路由环路,并及时发送告警,通知产生环路的IP地址。