某项目BGP/MPLS VPN+OSPF多实例实施总结

  一、项目情况:

  

图片4.png


  某运营商客户计划进行网络改造,改造后拓扑如上所示。PE1和PE2为H3C SR66路由器,MCE1和MCE2为H3C S5500交换机。不同业务通过不同VPN实例承载,实现业务之间的隔离。PE1和PE2进行BGP与OSPF路由互引,实现MCE1与MCE2内部路由互通。

  二、故障情况:

  按照MPLS以及OSPF基本配置方法对设备进行配置,配置完成后进行测试发现MCE1与MCE2之间不能互通。

  三、问题处理:

  1、检查路由表

  查看MCE1与MCE2路由表,发现MCE1的VPN路由表上看不到MCE2侧的路由,同时在MCE2上也看不到MCE1侧的路由;但是在两台PE之间却已经正确进行路由信息的学习。

  2、检查OSPF LSDB

  查看MCE设备的OSPF LSDB,发现已经学到相应的的LSA;仔细观察后发现,LSA的DN位置位。OSPF文档规定:OSPF为避免类型3的LSA产生环路,在OSPF头部的选项字段中有一个DN位,当PE收到某条3类LSA并且发现DN位有置位的时候,这个PE在运行SPF算法时会忽略这条LSA。设备判断自己是不是PE设备,只看OSPF进程是否与VPN实例进行绑定,故MCE会认为自己是PE设备。分析得知路由无法学习是LSDB中的DN置位导致。

  3、PE设备能正常学习到路由的原因

  检查PE设备的配置时,发现PE1与PE2已经在OSPF协议视图下配置了命令vpn-instance-capability simple,不对OSPF LSA DN位进行检查,MCE1与MCE2未做此配置,才导致上述问题的产生。

  4、故障解决

  尝试在MCE1与MCE2上配置vpn-instance-capability simple命令,MCE1与MCE2都正常学到对侧网段路由,业务访问正常, 问题得到解决。

  四、实施总结:

  在项目实施中,我们不可避免的会遇到一些问题。当遇到的问题凭经验无法解决时,我们从原理着手,可能会有一些意想不到的收获。


2015年12月