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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • RPC协议底层原理与实现「建议收藏」

    RPC协议底层原理与实现「建议收藏」RPC协议基本组成在一个典型RPC的使用场景中,包含了服务发现、负载、容错、网络传输、序列化等组件,其中RPC协议就指明了程序如何进行网络传输和序列化。也就是说一个RPC协议的实现就等于一个非透明的RPC调用,如何做到的的呢?Client客户端Server服务端协议基本组成:    1.  地址:服务提供者地址;2.  端口:协议指定开放的端口;3.  运行服务:1.  netty(…

    2022年5月19日
    29
  • 神经网络的反向传播算法推导

    神经网络的反向传播算法推导有了上一篇神经网络的反向传播算法推导—前期知识准备做铺垫,下一步来看看反向传播算法具体的推导过程。一、定义机器学习中常说的两个函数:损失函数(lossfunction):是定义在单个样本上的,算的是一个样本的值和预测值的误差,记为C(Θ);代价函数(costfunction):是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均,记为J(Θ);假设函数:二、神经网络结构图以三层神经网络为例:…

    2022年5月27日
    28
  • 各种聚类算法(原理+代码+对比分析)最全总结「建议收藏」

    各种聚类算法(原理+代码+对比分析)最全总结「建议收藏」序言还是要持续总结,持续积累。一、聚类的目标使同一类对象的相似度尽可能地大;不同类对象之间的相似度尽可能地小。二、聚类算法分类1.基于划分给定一个有N个元组或者纪录的数据集,分裂法将构造K个分组,每一个分组就代表一个聚类,K<N。特点:计算量大。很适合发现中小规模的数据库中小规模的数据库中的球状簇。算法:K-MEANS算法、K-MEDOIDS算法、CLARANS算法2….

    2022年6月8日
    57
  • matplotlib绘图基础[通俗易懂]

    matplotlib绘图基础[通俗易懂]http://blog.csdn.net/pipisorry/article/details/37742423matplotlib介绍matplotlib是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。它的文档相当完备,并且Gallery页面中有上百幅缩略图,打开之后都

    2022年5月24日
    44
  • f stream_fstream

    f stream_fstreamofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间;在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符:1、插入器(  向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout2、析取器(>>)  从流中输入数据

    2022年9月15日
    5

发表回复

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

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