Stub区域:OSPF的Stub区域不接受五类LSA,也就不存在四类LSA,也不存在ASBR 。之所以设置Stub区域,是因为有些路由器性差,不能接受大量的LSA,为了减少负载,过滤掉四类和五类LSA,但是过滤掉五类和四类LSA会导致一个区域无法访问外部路由,为了解决这一情况,OSPF提出了通过ABR下放一条3类默认路由到Stub区域这一概念,解决Stub区域不能访问外部路由的问题。
完全stub区域:不接受三类、四类以及五类LSA。在Stub区域中,华为设备在上进入相应区域输入stub no-summary 即可。因为三类LSA是有abr产生的,所以只要在ABR上进入配置就可以了,此时可以发现lsdb中只存在一条默认的三类LSA。
NSSA区域:Stub区域的改良,现在几乎不使用Stub区域了,因为NSSA区域的功能更强大,包含了Stub区域的所有功能。不同于Stub区域,NSSA区域虽然不接受四类和五类LSA,但是区域中可直接引入外部路由,存在ASBR,能将外部路由发送给其他区域。引入的路由会以七类LSA的存在于NSSA区域中(因为不能有5类LSA,用格式相同的7类LSA进行代替),并且通过ABR(也可以称为ASBR,因为产生了5类LSA)将7类LSA转化成5类,发布到其他普通区域中。NSSA区域的ABR会下发一条一条默认的7类LSA在所连的NSSA区域中进行泛洪,帮助NSSA区域的设备能够访问普通区域。
完全NSSA区域:不接收三类四类五类LSA,在NSSA区域中,华为设备在的ABR上进入OSPF相应区域输入 NSSA no-summary 即可。此时可以发现LSDB中存在ABR通告的一条默认的三类LSA和一条七类LSA,帮助完全NSSA区域的设备能够访问普通区域。
OSPF有RFC1583与RFC2328定义的两种路由选路规则,二者机制不同,华为设备默认情况下使用RFC1583选路规则,如果OSPF域中某些设备使用RFC2328选路规则,则要使用undo rfc1583 compatible命令配置其他设备,使其用RFC2328定义的选路规则,以保证全网OSPF设备的选路规则一致。
RFC1583和RFC2328的路由计算规则的区别主要在于计算外部路由时规则不一致, 如果网络中设备使用不同的计算规则可能会导致路由环路,为了避免路由环路的发生,使能OSPF时,建议使用一致的OSPF域的路由选路规则。
为了解决这两种规则带来的问题,RFC2328 中提出了RFC1583 兼容特性,即允许OSPF路由器使用OSPFRFC1583兼容规则执行路由计算。
RFC2328优先使用非骨干区域的路由的目的是为了减轻骨干区域的压力。
RFC1583的选路规则:
区域内>区域间>区域外1类(5类,7类等级相同)>区域外2类
RFC2328的选路规则:
参考资料:华为HCIE培训内容