一、OSPF中的DN位
在OSPF的Hello报文中有一个Option字段,其每一个bit位代表始发Router的一种能力,如果Router支持该能力,就把该bit置位;否则,该bit置0,如下图所示。
DN位用于MPLS VPN中,用来防止LSA3、LSA5、LSA7回传,防止次优和环路等。
二、场景和说明
如上场景,是一个BGP MPLS VPN的典型组网。PE1下连site1,并在VRF vpn-instace1中发布了60.0.0.1/32的路由。CE1在vpn-instance2中,CE1有两个PE双归属PE2和PE3,CE1与PE1、PE2间运行OSPF路由协议,PE2和PE3都学到了PE1传递过来的60.0.0.1/32路由,要求vpn1和vpn2能互通。
三、DN位的作用
在以上场景中,假设没有DN位,PE2将学到60.0.0.1/32先于PE3引入site2中,CE1学到了这条site1路由,然后传递给PE3,PE3的vpn2中,学到了IBGP路由和OSPF路由,由于优先级的原因,PE2的vpn2认为去往60.0.0.1/32的最优路由是OSPF,下一跳指向CE1,次优形成。
引入了DN位后,PE2将60.0.0.1/32引入site2中时,其LSA中的DN位会被置位,如下在PE3上查看LSA的信息:
如上输出信息,PE3上可以查看到PE2(router id 为2.2.2.2)产生的LinkState ID 60.0.0.1 的三类LSA(PE3的OSPF进程中还未将BGP路由引入),但是PE2的vpn2路由表中并没有这条OSPF路由,而是IBGP路由,原因是其DN位置位,Options : E DN,虽然有这条LSA,但是不作路由计算,从而防止次优和环路等问题。
四、DN位置位功能关闭的场景
在H3C路由器上,默认在PE上作实例引入VPN路由时会置DN位,也可以对其功能作关闭处理,只在下面两种场景中推荐使用关闭DN位置位功能。
OSPF应用在VPN-OptionA场景时,本端PE设备引入BGP路由生成LSA,发布到对端PE设备。根据RFC4577,由于DN位的抑制,对端PE设备无法计算出这个路由。这时,使用关闭命令控制本端PE设备的DN位的设置或取消。
当PE设备连接MCE设备场景时,MCE设备需要计算PE设备发布的某些路由。缺省情况下,MCE设备不支持DN位检查,这时可以在PE设备上使用关闭命令控制DN位的设置或取消。
我们明天继续!
领取专属 10元无门槛券
私享最新 技术干货