首页 > 其他分享 >AS_Path Filter的应用

AS_Path Filter的应用

时间:2023-06-03 15:11:06浏览次数:32  
标签:匹配 Filter 过滤器 应用 65001 字符串 Path 路由

华为:

在同一个过滤器编号下,可以定义多条过滤规则(permit或deny模式)。在匹配过程中,这些规则之间是“或”的关系,即只要路由信息通过其中一项规则,就认为通过由该过滤器编号标识的这组AS_Path过滤器。在下文中,将分不同的场景来对AS_Path过滤器的作用进行举例说明。

 

表1 BGP AS_Path支持的元字符描述

元字符

含义

示例

.

匹配除“\n”之外任何单个字符,包括空格。

.*表示匹配任意字符串,即AS_Path为任意,可以用来匹配所有路由。

说明:

通常定义了多个deny模式的ip as-path-filter子句之后,会定义一个ip as-path-filter as-path-filter-name permit .*子句,用于允许其他路由通过。

*

之前的字符在目标对象中出现0次或连续多次。

参考上例。

+

之前的字符在目标对象中出现1次或连续多次。

65+表示6在AS_Path的首位,而5在AS_Path中出现一次或多次,那么:
  • 如下字符串都符合这个特征:65,655,6559,65259,65529等。
  • 如下字符串不符合这个特征:56,556,5669,55269,56259等。

|

竖线左边和右边的字符为“或”的关系。

100|65002|65003表示匹配100、65002或65003。

^

之后的字符串必须出现在目标对象的开始。

^65表示匹配以65开头的字符串,那么:
  • 如下字符串都符合这个特征:65,651,6501,65001等。
  • 如下字符串不符合这个特征:165,1650,6650,60065等。

$

之前的字符串必须出现在目标对象的结束。

65$表示匹配以65结尾的字符串,那么:
  • 如下字符串都符合这个特征:65,165,1065,10065,60065等。
  • 如下字符串不符合这个特征:651,1650,6650,60650,65001等。
说明:

^$表示匹配空字符串,即AS_Path为空,通常用来匹配本地始发路由。

(xyz)

一对圆括号内的正则表达式作为一个子正则表达式,匹配子表达式并获取这一匹配。圆括号内也可以为空。

100(200)+可以匹配100200、100200200、……

[xyz]

匹配方括号内列出的任意字符。

[896]表示匹配含有8、9或6中任意一个字符。

[^xyz]

匹配除了方括号内列出的字符外的任意字符(^号在字符前)。

[^896]表示匹配含有8、9或6这几个字符之外的任意一个字符。

[a-z]

匹配指定范围内的任意字符。

[2-4]表示匹配2,3,4;[0-9]表示匹配数字0~9。 说明:

方括号内“[]”只能填写数字0到9。例如,如果需要匹配735~907,则需要写成(73[5-9]|7[4-9][0-9]|8[0-9][0-9]|90[0-7])。

[^a-z]

匹配不在指定范围内的任意字符。

[^2-4]表示匹配除2,3,4外的其他字符;[^0-9]表示匹配除数字0~9外的其他字符。

_

匹配一个符号,包括逗号、左大括号、右大括号、左括号、右括号和空格,在表达式的开头或结尾时还可作起始符、结束符(同^ ,$)。

  • ^65001_表示匹配字符串的开始为65001,字符串的后面为符号,也即AS_Path最左边AS(最后一个AS)为65001,可以用来匹配AS 65001邻居发送的路由,

  • _65001_表示匹配字符串里有65001,即AS_Path中有65001,可以用来匹配经过AS 65001的路由。

  • _65001$表示匹配字符串的最后为65001,字符串前面是符号,即AS_Path最右边AS(起始AS)为65001,可以用来匹配AS 65001始发的路由。

\

转义字符。

AS_Confed_Sequence是用“(” 、“)”表示的,“(” 、“)”在正则表达式中是特殊字符,有特殊用处,所以对于这种特殊字符,可以使用“\”来去除其特殊意义进行匹配。例如:
  • \(65002_表示匹配字符串为(65002,字符串的后面为符号,也即AS_Confed_Sequence最左边AS(最后一个AS)为65002,可以用来匹配联盟AS 65002邻居发送的路由。

  • \(.*_65003_.*\) 表示AS_Confed_Sequence中间有65003,可以用来匹配经过联盟AS 65003的路由。

  • _65004\)表示匹配字符串最后为65004),字符串的前面为符号,也即AS_Confed_Sequence最右边AS(起始AS)为65004,可以用来匹配联盟AS 65004始发的路由,还可以用来匹配联盟AS 65004直接发布的路由。_65004\)与65004\)作用相同。

同理,AS_Confed_Set使用的“[”、“]”,AS_Set使用的“{”、“}”也都可以使用“\”符号来去除这些特殊符号的特殊意义。

在同一个过滤器编号下,可以定义多条过滤规则(permit或deny模式)。在匹配过程中,这些规则之间是“或”的关系,即只要路由信息通过其中一项规则,就认为通过由该过滤器编号标识的这组AS_Path过滤器。在下文中,将分不同的场景来对AS_Path过滤器的作用进行举例说明。

 

AS路径过滤器的默认行为是deny,即路由如果没有在某一次过滤中被permit则最终不能通过该过滤器的过滤。如果一个过滤器中的所有过滤规则都是deny,则没有路由能通过该过滤器的过滤,这种情况下需要在多次(或一次)deny之后设置一次permit,允许其余所有路由通过过滤器的过滤。

如果该as-path-filter已经被其他命令引用,建议先取消引用该as-path-filter的配置,再通过undo ip as-path-filter命令删除as-path-filter配置。

 

标签:匹配,Filter,过滤器,应用,65001,字符串,Path,路由
From: https://www.cnblogs.com/cyj22/p/17454013.html

相关文章

  • 实验5 文件应用编程
    实验任务6task6#读取并处理原始数据withopen('data6.csv','r',encoding='gbk')asf:old_data=f.read().split('\n')delold_data[0]#四舍五入得到新数据new_data=[]foriinrange(len(old_data)):ifeval(old_data[i])+flo......
  • 数据库应用2023-06-03 触发器
    Mysql触发器实例详解-Mr_Echo-博客园(cnblogs.com)CREATETRIGGERtrigger_nametrigger_timetrigger_eventONtb_nameFOREACHROWtrigger_stmttrigger_name:触发器的名称tirgger_time:触发时机,为BEFORE或者AFTERtrigger_event:触发事件,为INSERT、DELETE或者UPDATEtb_......
  • Rust Web 全栈开发之编写服务器端 Web 应用
    RustWeb全栈开发之编写服务器端Web应用项目结构和功能WebApp教师注册<->WebService主要技术模板引擎:Tera创建项目wsonmainvia......
  • FEAT_NV 应用场景
    FEAT_NV应用场景FEAT_NV应用场景场景​​​​‍​​‍必要性​​嵌套虚拟化是在虚拟机内运行虚拟机(vm)的规程。换句话说,嵌套管理程序就是运行多个级别的管理程序。随着虚拟化的新用例的增加,嵌套虚拟化变得越来越重要。例如,包括微软Windows在内的操作系统(操作系统......
  • 【视频】R语言机器学习高维数据应用:Lasso回归和交叉验证预测房屋市场租金价格
    分析师:JunjunLi在这篇文章中,我们将着重探讨高维数据下的机器学习应用,以房屋市场租金价格预测为例。在实际生活中,房屋租金作为一个重要的经济指标,被广泛应用于城市规划、财务投资等方面的决策中。然而,如何准确地预测房屋租金价格却一直是一个具有挑战性的问题。本文将介绍如何使用L......
  • SVG标签的Xpath定位方法(关闭Tab标签页)
    svg(可伸缩矢量图形 )在前端应用中广泛被使用,然而采用传统的xpath元素定位方法已经无法对其进行定位,我们需要将svg标签及其包含的子标签用以下方式表达:工作时遇到一个问题,就是想删除Tab标签页,但是标签的关闭是个SVG标签,用传统的Xpath标签无法定位,查找了一些资料,参考了两个别人分享......
  • P1545 [USACO04DEC] Dividing the Path G 题解
    丢一发好理解又好写的线段树优化dp。题目传送门简要题意给定一个长为\(l\)的线段,求出尽量少的不相交区间覆盖整段线段,要求题目给的所有子区间只被\(1\)个区间覆盖。分析显然题目给的子区间\([s,e]\)中只有\(s\)和\(e\)端点能作为线段端点,所以我们应该给\([s+1,......
  • 使用ChatGPT、Dall-E和GPT-4构建AI应用程序
    您可以利用AI的力量来提升您的Web开发技能。我们发布了一门课程,教您如何使用ChatGPT、Dall-E和GPT-4构建AI应用程序。本课程旨在让您掌握创建尖端人工智能应用程序的知识和技能。在本课程中,您将利用OpenAIAPI构建三个项目,并探索ChatGPT、Dall-E和革命性的GPT-4......
  • Python金融时间序列模型ARIMA 和GARCH 在股票市场预测应用|附代码数据
    原文链接:http://tecdat.cn/?p=24407最近我们被客户要求撰写关于金融时间序列模型的研究报告,包括一些图形和统计输出。这篇文章讨论了自回归综合移动平均模型(ARIMA)和自回归条件异方差模型(GARCH)及其在股票市场预测中的应用 ( 点击文末“阅读原文”获取完整代码数据******......
  • DGA GAN——GAN在安全中的应用
    DGA的模型:https://github.com/Yuren-Zhong/DeepDGACNN、LSTM、双向LSTM论文可以看https://openreview.net/pdf?id=BJLmN8xRWDGAGAN的论文:https://arxiv.org/pdf/1610.01969.pdf 国内的一些实验demohttp://www.itboth.com/d/fuE77fIBNvAn使用的是LSTM,但是效果不是很好有时间自......