一、背景
在中国大陆地区我们家里面的光猫都有一种防环回检测机制,一旦自己下联的光猫口出现环路,光猫就会自己down掉该端口,并在3-5分钟内重新恢复
二、检测机制
光猫自己有一个防环回检测机制,这种放环回机制区别与我们在企业级交换机上使用的防环回协议,如STP、RSTP、MSTP这些协议,他使用了一种广播包来检测,这个广播包很特别,抓包看只有60个字节,其实这里我有些疑问,以太网规定了为了防止产生冲突和碰撞的概率,规定了最新的以太网数据帧的大小为64字节哈,这里为什么还有60字节的数据包出现?有大佬知道的话可以评论一下!!,这个防环回包的发送间隔为5s中,就是一旦这个包在我交换机的任意一个口重新受到那么我就认为我光猫下面出现了环路,所以就down掉出现环路的这个接口。
抓包分析:
可以看到我这个光猫是每5秒发送一次这个以太网类型是0xfffa的60个字节的报文
三、环路验证查看光猫的处理机制
使用xcap组一个一模一样的报文,从光猫下的任意接口广播回去,查看光猫是否会down掉对应的端口
总结
有时候遇见家里网络异常的时候可以看看时不时上游某些设备产生环路导致,反正这问题我是定位了好一会儿