属性匹配工具_Route-policy的匹配工具If-match的使用简介
一什么是路由策略?
路由策略是通过一系列工具或方法对路由进行属性修改,过滤,标记等方式进行有目的性的控制。,通过策略对路由的产生,发布,传递及选择进行有目的性的控制,最终实现报文按照指定路径转发。
路由策略工具主要有ACL,IP-Prefix;Route-policy;Filter-Policy等,我们按照使用类型可以分为路由匹配工具及路由策略工具;它们之间的关系如下表总结。
![](/assets/blank.gif)
0-1 路由匹配工具
![](/assets/blank.gif)
0-2 路由过滤工具
![](/assets/blank.gif)
0-3 路由匹配工具与路由策略工具之间的关系
本次我们主要讨论路由策略工具Route-policy用来匹配路由的IF-match语句的作用及使用,路由策略的关键内容之一就是指定匹配路由,通过上面的路由匹配工具总结表可以知道我们可以通告多种手段匹配到目标路由,当我们匹配到需要的路由后需要提交高路由策略工具Route-policy来执行特定动作(决定过滤还是修改路由属性),如果我们同时使用多种路由匹配工具来匹配路由Route-policy的if-match对这些匹配条件是如何处理的?如果我们使用多种工具匹配目标路由,而这些工具的语句出现矛盾时该如何处理(例如我用ACL—permit x.x.x.x这个路由,使用ip-prefix deny x.x.x.x)?接下来将使用实验来验证这些问题。
二测试环境准备
![](/assets/blank.gif)
1-1 实验拓扑
1---AR-1与AR-2如图运行OSPF协议,所属区域0
2---AR-2与AR-3及AR-4运行RIP协议,版本为V2版本
3---在AR-2将RIP协议路由引入进OSPF协议
我们将在RIP协议传递到AR-2的路由通过路由引入的方式注入进OSPF协议,在注入路由时调用Route-policy工具,来过滤需要引入的路由,已经修改这些引入路由的属性值。通过对引入调用的Route-policy工具设置不同的节点(node)匹配(if-mtach)动作与策略(apply)动作来掌握Route-policy的if-match与apply的关系。
(1)---我们来看一下引入前的AR-2的路由表
![](/assets/blank.gif)
1-2 实验拓扑AR-2路由表
(2)-----这是观察对象AR-1的路由表
![](/assets/blank.gif)
1-3 实验拓扑及AR-1路由表
三 Route-policy的匹配语句If-match
Route-policy工具在路由引入时对"指定路由"进行过滤或者修改这些路由的属性参数,这些"指定路由"我们需要使用路由匹配工具来"捕捉"。而Route-policy的if-match语句就是用来定义路由策略的匹配条件,每个Route-policy的if-mtach语句决定了需要进行部署策略路由如何获得。
If-match语句再使用时有以下特性与规则需要注意,接下来我们将利用实验的方式来一一验证这些规则。
1----If-match语句的多样性
每个Route-policy的node语句的匹配路由的if-match语句可以由一个或者多个if-match语句来进行路由定 义;if-matc语句可以根据路由的特性来定义匹配语句及条件。If-matc语句可以基于路由的前缀—利用ACL或者前缀列表来捕捉路由;也可以用路由的开销值---Cost来匹配指定路由;当然我们也可以利用路由的下一跳地址或者接受路由的接口来进行匹配;当然BGP路由拥有丰富的属性参数,可以路由BGP路由特有的属性如AS-patch列表,Community列表来匹配。
![](/assets/blank.gif)
2-1 if-match匹配路由的多样性
2----If-match语句的并列性
每个Route-policy的node语句的匹配路由的if-match语句可以由一个或者多个if-match语句来进行路由定义;如果Route-policy的node语句下存在时,那么这些if-match语句之间是"与"的关系,即如果一个节点同时存在多个if-match语句,那待匹配的路由特性需要同时满足这些if-match语句定义的条件,才能被这个Route-policy节点命中。
![](/assets/blank.gif)
2-2 if-match语句的并列性
Route-policy test permit node 10-------------------------------我们创建一个名称为:test的的路由策略语句
![](/assets/blank.gif)
2-3 if-match多样性演示
这里我们定义了2个匹配语句;
If-matc cost 4-------------表示我们只匹配开销值为4的路由
If-match ip-prefix a-2------表示我们匹配名称为"ar-2"这个前缀列表所捕捉到的路由
![](/assets/blank.gif)
2-4 ip-prefix 匹配主机路由4.4.4.4/32
前缀列表"ar-2"匹配4.4.4.4/32这个主机路由
2---调用此策略
![](/assets/blank.gif)
2-5 Route-policy test
我们在OSPF进程下对RIP协议的路由进行引入时做了对名称为"test"的路由策略进行挂接,但是完成引入后,我们发现没有任何一个路由被这个策略命中。
这是为什么呐?难道我们的RIP路由表里不存在4.4.4.4/32这个主机路由吗?还是我们没有开销为4的RIP路由?
![](/assets/blank.gif)
2-6 路由引入挂接路由策略后的AR-2路由表
观察路由表,在IP路由表里是存在4.4.4.4/32这个RIP路由的,也存在开销值为4的RIP路由,但是我们发现同时满足这个条件的路由不存在,这也是为什么路由策略—test没有匹配到任何一个路由的原因------Route-policy的一个node下的多个if-mtach是"与"的关系,一个需要经过Route-policy的路由需要同时满足一个node下的多个if-match。
3---修改策略后重新调用
接下来我们重新制定新的路由策略,并调整if-match匹配路由的条件
![](/assets/blank.gif)
2-6 Route-poliy test-1
f-matc cost 5-------------这次我们匹配开销值为5的路由
If-match ip-prefix a-2------表示我们匹配名称为"ar-2"这个前缀列表所捕捉到的路由
![](/assets/blank.gif)
2-7 AR-1路由表
我们同时查看值运行OSPF协议的AR-1的路由表,此时我们也观察到了通过路由策略"test-1"命中的路由顺利的过来了
3---If-match语句的特殊性---前缀列表与ACL不能同时存在
每个Route-policy的node语句的匹配路由的if-match语句在匹配路由时可以使用ACL—访问控制列表或者ip-prefix---前缀列表来匹配路由。因为这两个路由匹配器都使用了IP地址前缀来匹配对应的路由可能会造成对同一个路由的重复匹配或者对于同一条路由的语句冲突。
![](/assets/blank.gif)
2-8 ACL及前缀列表匹配同一条路由 4.4.4.4/32
如图我们用acl 2000定义来匹配主机路由4.4.4.4/32
但是我们用ip-prefix 2000又是拒绝主机路由4.4.4.4/32 如果我们同时把这两个匹配语句同时调用到一个Route-policy 的一个node节点下时就存在矛盾,所以为了避免这样的问题,Route-policy的if-match语句规定了一个node节点下面对于acl和ip-prefix只能同时存在一个。
如果在一个node节点同时匹配了acl和ip-prefix那按照写入的先后顺序进行覆盖。
![](/assets/blank.gif)
2-9 Route-policy test-3
通过以上测试我们可以发现,对于一个Route-policy的node下,只能存在一个,按照写入的先后顺序进行覆盖
本次我们探讨了路由策略工具Route-policy在匹配路由时if-match语句对于匹配路由的规则与注意的事项,后期我们会继续为大家带来路由控制相关的内容,当然不限于路由策略工具的使用,也包括路由问题的解决思路解决案例。
属性匹配工具_Route-policy的匹配工具If-match的使用简介相关推荐
- Unity - Timeline 自定义剪辑,轨道,混合轨道,Inspector属性显示(使用Default Playables辅助工具)
Timeline中,可以通过脚本扩展自定义的剪辑,轨道,混合轨道,Inspector属性显示器. 我这里参考了官方的 Default Playables的一个节点扩展方式,它也提供了一个辅助工具,非常 ...
- 静态代码分析工具列表分析---代码分析工具列表(30款工具)
本文是一个静态代码分析工具的清单,共有30个工具.包括4个.NET工具.2个Ada工具.7个C++工具.4个Java工具.2个JavaScript工具.1个Opa工具.2个Packaging工具.3个 ...
- js正则匹配闭合标签_正则匹配闭合HTML标签(支持嵌套)
OK,先确定我们要解决的问题--从一段Html文本中找出特定id的标签的innerHTML. 这里面最大的难点就是,Html标签是支持嵌套的,怎么能够找到指定标签相对应的闭合标签呢? 我们可以这样想, ...
- 问题解决:error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1700”不匹配值“1800”
_MSC_VER这个相当于做了宏的检测 _MSC_VER 定义编译器的版本.下面是一些编译器版本的_MSC_VER值: MS VC++ 14.0 _MSC_VER = 1900 vs2015 MS ...
- Beyond Compare 4 智能比较工具、Everything 文件/夹搜索工具,WinRAR,7-Zip 解压缩工具、diagrams 流程图工具、Markdown 编辑器-Notable
目录 Beyond Compare 概述与下载 Beyond Compare 友好使用 jd-gui 反编译 Java 源码工具 Everything 文件/夹搜索工具 WinRAR.7-Zip 解压 ...
- VIM 用正则表达式,非贪婪匹配,匹配竖杠,竖线, 匹配中文,倒数第二列, 匹配任意一个字符 :...
VIM 用正则表达式 批量替换文本,多行删除,复制,移动 在VIM中 用正则表达式 批量替换文本,多行删除,复制,移动 :n1,n2 m n3 移动n1-n2行(包括n1,n2)到n3行之下: ...
- 使用mysql命令行的工具_[MySQL]命令行工具和基本操作
一 MySQL命令行工具 (查看帮助 ---help,或 -?) 1)MySQL MySQL是一个简单的SQL外壳(有GNUreadline功能).它支持交互式和非交互式使用.当交互使用时,查询结果 ...
- 爱链工具怎么使用 爱链工具详细使用图文教程
爱链工具是爱站seo软件独立推出的一款免费友链交换平台,也是目前互联网上最强外链交换平台,不但拥有丰富的友链资源,智能的链接匹配系统,全面的SEO基础数据等等,而且率先推出目录链接交换功能,可以大大提 ...
- 数据处理之文本分词、MMSEG分词工具、斯坦福NLTK分词工具
一. 文本分词概述 二. 中文分词算法分类 三. MMSEG分词工具 四. 斯坦福NLTK分词工具 1 CRF方法实例 一. 文本分词概述 文本分词是将字符串文本划分为有意义的单位的过程,如词语.句子 ...
- linux无线命令管理工具,Linux无线网络实用工具Top 10
我曾经花费大量的时间对无线网络进行研究.在连接无线接入点的时间,对如何选择合适的应用工具起决定性作用的是我使用的Linux发行版本和硬件设备的情况.在这些工具当中,有一些是可以单独使用的.也有一些是和 ...
最新文章
- 第二课.图卷积神经网络
- 【Android 应用开发】Android 开发错误集锦
- C# 基础知识 (四).C#简介及托管代码
- 高等数学下-赵立军-北京大学出版社-题解-练习12.3
- Rabbitmq java.util.concurrent.TimeoutException小问题解决
- Linux Shell高级技巧(四)
- wordpress主题安装教程及错误处理
- 用C语言来写斐波那契数列
- X Chen笔记---Centos安装使用xmr-stack-cpu教程
- 教你制作漂亮的Word项目符号。
- 舵机常见问题原理分析及解决办法
- Panoramic Photography
- 7、LiveCharts--常用属性介绍(三)
- java中创建dvd_JAVA简单模拟DVD功能
- UR 机器人HMI 交互界面开发记录
- HDFS副本存放策略(官方文档)
- vs code下载慢的解决方法
- 生信分析流程框架概述
- 动态箭头gif图标_ScreenToGif:电脑屏幕录制生成gif格式图片软件
- 淘宝助理导出CSV文件特殊字段详解