OSPF之Default-router-advertise 解析
1、关于default-route-advertise命令
Ospf是可以通过import-route命令引入外部路由的,但很少有人会注意到,在默认情况下,ospf是不会引入来自外部路由的缺省路由的。
但ospf有一个变通的方法,就是通过default-route-advertise命令,将自己作为默认路由的下一跳宣告到ospf区域内,这样,ospf里的其他路由器就会将缺省流量发送给自己,然后本路由器再根据其他协议的路由表进行转发。
2、关于always选项
如果没有配置always,则default-route-advertise有两种情况:有效/无效。
啥时候会有效?啥时候会无效?这依赖于来自其他协议的缺省路由是否有效,换句话说,如果本路由器的缺省路由是可用的,则会在ospf区域内招呼,大家把缺省路由指向我啊,我这里有路出去。
如果本路由器发现自身的缺省路由有问题,比如链路断了,下一条不可达,则会马上在ospf区域内撤销通告,使自己不再接受来自ospf区域内其他路由器的缺省流量。
但是如果配置了always选项,事情就不一样了,该路由器变得相当自信,会一直宣告自身作为缺省路由下一跳的有效性。
明白了这两个基础知识点,再看思考题,基本可以给出自己的解答了:
优点:
1、是能维护ospf路由表的稳定性(外部接口up/down不会触发ospf的路由更新)
2、是方便定位故障点,如果未配置always选项,则一般会先要排查ospf的配置是否有误。配置了always,并在末端能查看到该缺省路由表项之后,能直接判断是最后一跳出接口的问题。
3、在单一出口的情况下,配置简单。
这里单一出口,是指整个ospf区域,包括非骨干区域,default-route-advertise形成的lsa是可以穿越abr的。
缺点:
在多出口的情况下,会有问题。因为default-router-advertise配置了always(永久发布)之后,会屏蔽掉来自其他路由器的缺省路由项,导致经过本路由器的流量无法使用其他出口。
补充知识点:
Default-router-advertise always type 1/2
这里的type,不是指lsa的type,而是外部路由的类型。
外部路由分为1型、2型两种。
1型的优先级高于2型
1型的cost值计算方法和ospf内部路由的计算方法一样,整条链路上的cost累加起来。
2型的cost被认为远大于ospf内部的cost,故只计算外部路由的cost值。