OSPF下发缺省路由还能这么玩?90%的人都不知道,不看后悔!!!

本文详细解释了OSPF在非强制和强制情况下下发缺省路由的方法,包括非条件产生的两种方式(非强制和强制),以及条件产生的规则,特别强调了路由策略中的if-match和apply语句在缺省路由属性设置中的作用。
摘要由CSDN通过智能技术生成

点赞+关注,每日分享数通知识~

OSPF下发缺省路由有以下几种情况:

一、非条件产生

非条件产生,表示调用路由策略时不进行 if-match 匹配

1) 非强制下发

default-route-advertise route-policy test
非强制下发缺省路由,并修改缺省路由的属性

  1. 当路由器表中存在其他路由进程的缺省路由时,下发OSPF缺省路由,并通过route-poliy修改缺省路由的cost,tag,type 3个属性,如果路由表中不存在其他路由进程的缺省路由时不下发缺省路由;
  2. 如果route-policy中存在if-match语句,则不会产生缺省路由。

注意:不能进行if-match 匹配,否则缺省路由无法下发

2)强制下发

default-route-advertise alway route-policy test
强制下发缺省路由,并修改缺省路由的属性

  1. 始终产生缺省路由;
  2. 如果存在其他协议的缺省路由,则route-policy 生效,通过route-policy设置缺省路由的cost,tag,type 3个属性,此时如果route-policy中存在if-match语句,apply语句失效,按默认属性产生缺省路由;
    3.如果路由表中不存在其他路由进程的缺省路由时,还是按默认属性下发缺省路由,但route-policy不生效,不管有没有if-match语句。

二、条件产生

条件产生,表示调用路由策略时需要进行 if-match 匹配

1)非强制下发

default-route-advertise route-policy test match-any

  1. 只要路由表中存在满足route-policy的路由,就下发缺省路由,并可以修改缺省路由的cost,tag,type 属性;
  2. 不要求路由表中存在其他进程的缺省路由;
  3. 当route-policy中存在多条if-match语句,语句间是逻辑与的关系,即条件路由必须匹配所有if-match语句。if-match可以匹配路由条目,路由cost,路由开销类型,路由下一跳,路由tag等等。

举例:

route-policy test permit node 10
	if-match ip-prefix test 即存在1.1.1.0/24路由
	if-match cost 7		并且1.1.1.0/24 cost为7,才满足条件
	apply cost 100
	apply cost-type type-1
	apply tag 100

ip ip-prefix test index 10 permit 1.1.1.0 24
  1. 当route-polioy中的引入ACL或ip-prefix定义了多条条件路由时,只要一个条件存在即下发缺省路由,当条件路由都失效时不再下发缺省路由。
route-policy test permit node 10
	if-match ip-prefix test 
	if-match cost 7		
	apply cost 100
	apply cost-type type-1
	apply tag 100

ip ip-prefix test index 10 permit 1.1.1.0 24
ip ip-prefix test index 10 permit 1.1.2.0 24

只要两个if-match语句各自有一个匹配的条件存在,即下发缺省路由,比如1.1.1.0 /24存在,但1.1.2.0 /24失效,但只要1.1.1.0 /24 开销等7,也满足条件;如果1.1.1.0 /24和1.1.2.0 /24都存在,只要其中一条路由 cost 等于7 也满足条件。

  1. 当多个node存在apply语句,按以下规则确定缺省路由属性:
route-policy test permit node 10
	if-match ip-prefx 1
	apply cost-type 2
	apply cost 5
	apply tag 100

route-policy test permit node 20
	if-match ip-prefix 2
	apply cost 10
	apply cost-type type-2
	apply tag 50

如果条件满足多个Node语句,缺省路由属性的生效机制:

  1. cost-type 1的node语句优先被使用;
  2. cost-type 相同,则cost值小的node语句优先被使用;
  3. cost值相同,则tag值小的node语句优先被使用。

注意:没有always参数,只要满足条件就下发缺省,不满足条件就不下发

2)强制下发

default-route-advertise always route-policy test match-any

  1. 当路由表中存在其他进程的缺省路由时,下发缺省路由,只有当条件路由满足irmatch语句,才能修改tag,cost,type属性,否则无法修改。if-match语句决定了apply语句是否生效,不决定缺省路由是否下发;

  2. 当路由表中不存在其他进程的缺省路由时,下发缺省路由,只有当条件路由满足if-match语句,才能修改tag,cost,type属性,否则无法修改。

    总结:总是下发缺省路由,如果满足if-match语句 则根据apply语句对缺省路由的属性做修改,如果不满足if-match语句,则按缺省路由默认属性下发缺省路由。

  • 27
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wx:wlgcs_123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值