解决MAC 老化不同步问题
2020-01-15四川黄生海
四川 黄生海
因2 层网广播域及可能跨度经过设备层级过多,经常出现分支点到中心点链路不可达(比如分支节点网关在中心节点组网情形),特别是在光网越来越普及的今天,中心节点也逐步采取G/E PON 网络千兆光猫接入实现,各种设备的相关处理机制各异导致网络异常,很难找到原因,下面以实际中切实发生的案例进行深度分析,并提出解决办法。
组网示意图如图1 所示。
中心节点通过PON 网络下挂三层交换机组成,分支节点网关为该三层交换机上起的VLANif 接口IP,实际中分支节点位于不同区县不同PE 设备接入,也同样是PON 网络入户,分支节点和中心节点通过PE 组建跨域MPLS VPLS 二层VPN,即相当于一个大局域网模式。
正常情况下分支节点PING 测网关(中心节点的VLANifIP)应该没有任何问题,但是实际测试却不通!
为了找到问题原因,相继做了以下测试:
1.在中心节点对应OLT1上设置VLANif 测试地址172.241.15.200,能正常PING 到网关
2.继续在 同PE 即PE1 下不同AC 接口间测试,PC2 设置172.241.15.202 也能PING 到网关
3.在跨PE 的PE2 下的OLT3 上设置测试地址172.241.15.203,同样能PING 到网关
图1 组网拓扑图
说 明OLT3-PE2-P-PE1-OLT1-ONU-三层交换机间的链路均正常!
但是PC3 即172.241.15.204 确实PING 不通网关,难道204 与203 间链路异常?
非也,因为测试172.241.15.204 能到OLT1上的测试地址172.241.15.2 00!难道多了一层设备网络就不可达了?
于是在OLT1 上做流统,发现204 PING 测网关时的报文根本没有送到OLT1!
实际中还发现很多时候网关的MAC 都学不到PE1 的对应的VPLS 下(或者MAC 老化后很难再学上去),当然远端的PE2 VPLS 下更学不到这个MAC 了,这时即使远端的PC3 初始访问时发起ARP请求广播包,最终也到不了网关!(分析很可能中心点PON 网络情况下对ARP 请求广播报文处理有BUG!这个与PON 机制有关,换过ONU情况也一样)。既然无法实现ARP 广播请求报文的正常传递,可不可以走单播方式?!
经过实验和现实环境测试,事实证明解决思路是可取的!
于是,在PC3 上进行网关的ARP 静态绑定,实现其发起访问需求时发送ARP 单播报文,目的MAC 为网关的MAC,同时针对网关MAC 在PE上的动态学习异常问题,采取静态绑定(分别在中心节点对应PE1 上向网关方向接口绑定,在远端PE2 上向P方向绑定),这样单播ARP 报文到了PE2 后能正确选取到从P 方向转发出去,到了PE1也能正确选取到从中心网关方向转发到OLT1,在OLT1 上继续做流统也能正常采集到,这样报文也能最终正常到达网关!网络也可达了!
案例涉及配置如下:
实测效果,如图2 所示。
图2 实测程序
案例针对实际环境出现的VPLS VPN 大2 层网组建过程中出现的MAC 老化、ARP报文处理等问题逆向思维采取网关静态ARP 方式,同时巧妙实现网关MAC 的“固化”、“长生不老”实现了问题的解决,解决思路新颖,思路清晰,非常值得借鉴,对该类组网的强壮也起到了添砖加瓦的切实效果!