H3C V3平台交换机做OSPF的ABR或ASBR时,路由聚合导致环路问题
一、 组网:
在某项目维护中, H3C V3平台交换机做OSPF的ABR,如下图所示:
Sw2为H3C V3平台交换机。
OSPF Area1中存在1.1.1.1/32、1.1.2.1/32、1.1.3.1/32网段路由,用户希望在Sw3路由表上只看到一条1.0.0.0/8的聚合路由。因此工程师在Sw2(ABR)上执行abr-summary 1.0.0.0 255.0.0.0 advertise命令,使sw3只收到一条1.0.0.0/8的3类LSA。执行完命令后,在sw3路由表中仅存在一条1.0.0.0/8路由,达到目的。
二、 问题描述:
调试完毕后,用户发现sw2和sw3之间的流量明显增大。为何在ABR上执行聚合路由后,流量明显增大?
三、 过程分析:
1) 通过抓包发现,在sw2和sw3之前增大的流量,目的IP为网络中并不存在的地址,且属于1.0.0.0/8网段(如:目的IP为1.1.1.222)。该流量在sw2和sw3之间来回传递,网络存在环路;
2) 检测设备路由表发现:
Sw3中存在1.0.0.0/8的聚合路由,且下一跳为23.1.1.2,该地址为sw2的接口地址,正常。
Sw2路由表中存在一条缺省路由,且下一跳为sw3,该路由是为area1中用户访问公网而设定。
此时在Sw2上,通过命令display ip routing-table x.x.x.x查看异常流量下一跳为sw3:
在Sw3上,通过display ip routing-table x.x.x.x查看异常流量下一跳为sw2:
3) 通过观察得知,由于sw3向sw2发出一个1.0.0.0/8网段中不存在的地址报文(如1.1.1.222)。sw2收到后,由于该报文不匹配路由表中明细路由,因此只能按照缺省路由的方式,转发给sw3;sw3收到该报文后,查找路由表,发现该报文属于1.0.0.0/8网段,该网段的下一跳为sw2,因此又将数据包转发给sw2.数据包在sw2和sw3之间不断转发,直到数据包TTL为0时,才终止。
解决方法:
了解了H3C V3平台交换机在做ABR,同时做聚合路由后产生环路故障的原因。
于是解决方案如下:
在ABR上配置一条静态Null0路由ip route-static 1.0.0.0 255.0.0.0 NULL 0
配置后,当去往1.1.1.222的数据包再次到达sw2时,根据路由表查找规则,1.1.1.222匹配Null0路由,该报文将在sw2上丢弃。因此不会产生环路。
总结:
1) 我司V3平台交换机,在做OSPF的ABR,同时又在该交换机上执行聚合路由时,请在该交换机上一定配置一条Null0的路由,来防止可能产生的路由环路。
2) 该方法同样适用于V3平台交换机做OSPF的ASBR,同时又在该交换机上执行聚合路由的情况,其原理与ABR一致。
3) 我司V5平台交换机做OSPF的ABR或ASBR,同时又在其上执行聚合路由时,将自动在路由表中产生Null0的路由,无需手动添加。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作