route-map的原理及简单应用[通俗易懂]

route-map的原理及简单应用[通俗易懂]route-map(路由策略)

大家好,又见面了,我是你们的朋友全栈君。

Route-map

 什么是route-map

怎么说呢?你说它属于什么呢?属于路由策略?还是属于策略路由?

其实都不算,我个人理解,它只算是一个工具,上面两者都能用到

但是这个工具吧,用着还挺爽,所涉及到的范围还挺多的呢?~

 

IGP协议,BGP协议,….

Distribute,redistribute,等等,都能看到它的身影

 

初识route-map

 

1Route-map中的语句相当于acl的各行

2route-map的序列号默认为10,不会自动递增,所以需要手动的写序号

3route-map的行为默认是permit

4match——匹配条件,set——执行动作

match语句中,会有不同的表现形式

1 match X1,X2,写在一行,用,隔开时,是逻辑上的“或”关系

2 match X1  

 Match X2 写在两行时,用回车隔开,是逻辑上的“且”关系

“或”“且”想必不用多说了,很好理解 ,或,多个条件满足一个则OK

且,就是都得满足.

 

Route-map的运行方式

 route-map的原理及简单应用[通俗易懂]

 

 PS:route-map中,和ACL是一样的,最后都有一条deny 的动作,

所以,我们在部署route-map时,也要分情况的来配置一条permit

当然,是分情况哦~什么情况呢?

比如说你在做路由重分布时,只想提取某些条目,那势必要拒绝其它的

而如果在后期的BGP中,针对某些条目去施加特定属性时,就要去话茬其它没有被策略的,以保证路由条目的正常传递,

这一点在后期的各个小实验中会有明显的体现,先要清楚这个事儿~

 

实例1

 route-map的原理及简单应用[通俗易懂]

 

 如图所示,R1-R2运行RIP,R2-R3运行OSPF,在R2上进行双向重发布,

可以先来分析一下,

OSPF重分布到RIP ,需要写跳数,那请问这两个条目到达R1时的跳数是否一致?

RIP进到OSPF时,可以去修改metric-typeR3上看到的类型是否一致?

答案是肯定的,因为在重分布的时候并没有进行任何的修改,况且单独的重分布也没有办法进行设置。

而我现在的需求就是这样,OSPF进入RIP的两条,192.168.1.02跳,192.168.2.05

RIP进入OSPF172.16.1.0OE1172.16.2.0OE2

 

这时候就要请出我们的主角route-map了,

思路

1 使用ACL来匹配路由条目,(使用permit

2 定义route-map条目,匹配/不匹配

3 定义match条件

4 定义动作

5 是否考虑允许其它(最后一条有deny

6 调用route-map

 

PS:还记得之前的distribute-list吗?

Distribute-list + acl,是ACL起到决策作用(deny/permit

Route-map+ ACL route-map起到了决策作用,(所以通常使用route-map时,ACL都是permit去匹配)这一点千万要记住

 

在哪里做呢?肯定是在中间那台执行了重分布设备上

 

OSPF注入到RIP中,设置不同的metric跳数

 route-map的原理及简单应用[通俗易懂]

 

 先查看一下在路由表中的具体前缀,必须按照这里的格式写才OK

由于OSPF的网络中,默认会将 loopback接口显示为一个终端,即32位的。

以及在没有配置策略之前,R1上看到的两个条目的metric

 route-map的原理及简单应用[通俗易懂]

可以看到,都是一样的。

具体部署

R2(config)#access-list 3 per 192.168.1.1 0.0.0.0    //匹配网段

R2(config)#access-list 4 per 192.168.2.1 0.0.0.0

 

R2(config)#route-map ospf 10     //定义名字ospfroute-map,序号10

R2(config-route-map)#match ip add 3   //匹配地址3(即ACL3

R2(config-route-map)#set metric 2   //执行动作,metric2

R2(config-route-map)#exit

R2(config)#route-map ospf 20

R2(config-route-map)#ma ip add 4

R2(config-route-map)#set me 5

R2(config-route-map)#exit

R2(config)#route-map ospf 30      //最后的route-map,匹配所有,即放行

R2(config-route-map)#exit        

R2(config)#router rip

R2(config-router)#redistribute ospf 1 route-map ospf   //重分布时调用route-map

 

最后再来看一下R1上的变化吧

 route-map的原理及简单应用[通俗易懂]

 

 一个变成了2跳,一个变成了5跳,成功

 

再来看另外一侧,RIP注入OSPF后显示不同metric-type

默认情况下都会是OE2,可以手动调整为OE1

但我们要求一样一个,

 route-map的原理及简单应用[通俗易懂]

 

 现在在R3上看是都一样的

 

R2上设置route-map

R2(config)#access-list 1 per 172.16.1.0 0.0.0.255

R2(config)#access-list 2 per 172.16.2.0 0.0.0.255

 

R2(config-router)#route-map rip 10

R2(config-route-map)#ma ip add 1

R2(config-route-map)#set metric-type type-1

R2(config-route-map)#exit

R2(config)#route-map rip 20

R2(config-route-map)#ma ip add 2

R2(config-route-map)#set metric-type type-2

R2(config)#route-map rip 30 

 

R2(config-router)#redistribute rip subnets route-map rip

OK

再到R3上去看一下

 route-map的原理及简单应用[通俗易懂]

 

 

看到了吗?这就是效果。

 

那有可能你会问,这么改的意义何在呢?两条路由本来就不一样,何必要这么改?

通过部署route-map路由策略,可以使收到相同路径的路由(负载均衡)时,进行策略部署,实现干预选路。从而达到我们的预期效果。

 

 

 

以上是一个简单的实例,可以很直观的看到route-map的原理以及部署过程,

route-map中可以匹配和设置的项很多

Match匹配项

 route-map的原理及简单应用[通俗易懂]

 

 set动作

 route-map的原理及简单应用[通俗易懂]

 

 

你会发现里面有好多都是关于BGP的,是的,没错,当到了后面的BGP时,会疯狂的使用route-map来部署策略。

 

所以,如果route-map学不好,那后面的BGP你也就学的那么回事儿吧!  

 

 

—————————————

CCIE成长之路 — 梅利

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154971.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月4日 上午6:46
下一篇 2022年7月4日 上午7:00


相关推荐

  • 计算几何题目

    计算几何题目计算几何题的特点与做题要领 1 大部分不会很难 少部分题目思路很巧妙 2 做计算几何题目 模板很重要 模板必须高度可靠 3 要注意代码的组织 因为计算几何的题目很容易上两百行代码 里面大部分是模板 如果代码一片混乱 那么会严重影响做题正确率 4 注意精度控制 5 能用整数的地方尽量用整数 要想到扩大数据的方法 扩大一倍 或扩大 sqrt2 因为整数不用考虑浮点误差 而且运算比浮点快 nbsp 一 点 线 面

    2026年3月18日
    2
  • 鼎捷t100架构_浅谈鼎捷T100 ERP的设计器使用规范

    鼎捷t100架构_浅谈鼎捷T100 ERP的设计器使用规范首次使用 1 建立连线方式 站点就是应用服务器的地址 登入区域默认 1 正式区 有些企业开发人员规定只能在测试区开发 那就填 2 账号和密码由公司分配 如果没有就用 tiptop 密码默认也是 工作目录建议放到别的目录 不能带中文 2 更新基础资料 进阶功能 gt 更新基础数据 等到进度条跑完 提示基础数据完成之后 就完成了设计器的配置了 3 下载规格和程序 规格就是之前的画面档 在 T100 叫做规格设计器引入了

    2026年3月26日
    2
  • android跳转到相册需要权限,Android打开相册获取图片路径[通俗易懂]

    android跳转到相册需要权限,Android打开相册获取图片路径[通俗易懂]一.获得图片路径当我们通过Intent打开相册,获取图片后,在onActivityResult回调中会得到图片的Uri。但是Uri无法直接获得图片的路径。如果你曾经直接操作过android里的数据库的话,应该明白,Uri可以通过ContentResolver获得数据库表里的数据。例如:content://com.android.providers.media.documents/document/…

    2026年2月15日
    10
  • slab、slob和slub

    slab、slob和slub一 原文链接 http www linuxdiyf com bbs viewthread php tid 92084 nbsp 很久很久以前 一个叫做 MarkHemment 的哥儿们写了 Slab 在接下来的一些年里 其他人对 Slab 进行了完善 一年半以前 SLOB 问世了 SLOB 的目标是针对嵌入式系统的 主要是适用于那些内存非常有限的系统 比如 32MB 以下的内存 它不太注重 larges

    2026年3月16日
    1
  • ultraedit激活许可证密钥 程序员必备辅助开发编辑器

    ultraedit激活许可证密钥 程序员必备辅助开发编辑器UltraEdit 是一套功能强大的文本编辑器 可以编辑文本 十六进制 ASCII 码 完全可以取代记事本 如果电脑配置足够强大 内建英文单字检查 C 及 VB 指令突显 可同时编辑多个文件 而且即使开启很大的文件速度也不会慢 UltraEdit 的界面如下图所示 UltraEdit 特征轻松打开和编辑大文件 4GB 及以上 文件和数据排序多插入符号编辑和多选集成的 FTP 客户端 支持 FTP SFTP 和 FTPS 列 块 模式编辑集成的 SSH telnet 客户端强大的搜索功能 查找和替换文

    2026年3月26日
    3
  • SaveFileDialog无法打开

    SaveFileDialog无法打开在线程中SaveFileDialog无法打开。Threadt=newThread(saveDialog);t.IsBackground=true;t.SetApartmentState(ApartmentState.STA);//加上这句就可以了t.Start();当前画面是报表画面,没用线程。主画面点击按钮,打开该画面,是在子线程中打开的,所以SaveFileDialog也无法直接打开…

    2022年10月8日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号