BGP过滤表达式

华为设备BGP过滤实战:用AS路径过滤器搞定跨AS路由控制,附正则表达式避坑指南 本文深入解析华为设备BGP路由控制中的AS路径过滤器应用,通过正则表达式实现跨AS路由精准控制。文章详细介绍了AS路径过滤器的核心原理、配置技巧及常见误区,并提供了实战案例和性能优化建议,帮助网络工程师提升路由管理效率。 阅读详情

1、字和元字符特殊字符

一个典型的AS_PATH过滤器如下所示:
ip as-path access-list 83 permit ^1_701_(_5646_|_1240).*
在关键字permit后面的字符串是一个正则表达式。正则表达式包含字和元字符特殊字符。
字是正则表达式试图匹配的一些正文字符。在上述例子中,1,701,5646和1240都是描述自治系统号的字。
元字符特殊字符是用作运算符的特殊的正则表达式符号,告诉正则表达式如何匹配。表1显示了Cisco IOS会用到的元字符特殊字符;本文的剩余部分表述每一个元字符特殊字符的用法。

表1 关于AS_PATH访问列表的正则表达式元字符特殊字符


元字符特殊字符

匹配内容

              .

任何单一字符,包括空格

             [ ]

在方括弧中罗列的任何字符

             [^]

除了在方括弧中罗列的字符外任何字符(^必须放置在字符列表之前)

               -

(连字符)在由连字符所分隔的两个字符之间的任意字符

              ?

字符或模式出现0次或1次

              *

字符或模式出现0次或多次

              +

字符或模式出现1次或多次

              ^

一行的开始

              $

一行的结束

               |

由元字符特殊字符分隔的字之一

              _

(下划线)一个逗号,行的开始,行的结束或空格


  
2、描述:匹配行的起始和结束

考虑下面的AP_PATH过滤器:
ip as-path access-list 20 permit 850
该过滤器匹配任何包 含字符串850的AS_PATH。匹配的AS_PATH例如:(850),(23,5,850,155)和(3568,5850,310)等。无论是所匹 配的串是属性中唯一的串或者属性中多个AS号中的一个甚至是属性中一个很大的AS号中的一部分,该匹配都成功。
假设你只想匹配包含唯一AS号850的AS_PATH,你必须描述行的开始和结束。使用补字号(^)匹配行的开始,美元符($)匹配行的结束:
ip as-path access-list 20 permit ^850$
这样表示表达式的开始紧接一个字符串850,然后紧接行的结束符。
你还可以使用两个描述来匹配一个空的AS_PATH:
ip as-path access-list 21 permit ^$
在上述情况,正则表达式匹配行的开始紧接行的结束;如果行的开始与行的结束间存在任何字符则匹配不成功。

3、括弧:匹配字符集和

括弧是你能指定单字符的范围。例如:
ip as-path access-list 22 permit ^85[0123459]$
上述过滤器匹配包含单一AS号850,851,852,853,854,855或859的AS_PATH。
如果字符的范围连续,你可以只指定序列中开始和结束的字符:
ip as-path access-list 22 permit ^85[0-5]$
该过滤器匹配上一个过滤器中除859以外的其他AS号。

4、否定:匹配除字符集和外的其他字符

当在括弧中使用加字符时,将否定括弧中指定的范围。如果是正则表达式将匹配范围外的任何内容。例如:
ip as-path access-list 24 permit ^85[^0-5]$
该过滤器除了多一个加字符以外与上一个过滤器类似,指定了“不是0~5”。该正则表达式将匹配856~859范围内的单个AS号。

5、通配符:匹配任何单一字符

点(.)匹配任何单一字符。单一字符可能是一个空的。考虑下面过滤器:
ip as-path access-list 24 permit ^85.
该过滤器匹配一个由AS号850-859开始的AS-PATH。由于“.”可以匹配一个空格,AS号85也能匹配成功。

6、替代:匹配字符串集合中的一个

(|)用作表示一个“或”操作。即(|)任何一边的字都可以匹配。例如:
ip as-path access-list 25 permit ^(851|852)$
该过滤器匹配单个AS号:851或852的AS_PATH。你可以扩展“或”功能来作多于两个可能性的选择:
ip as-path access-list 26 permit ^(851|852|6341|53)$

7、选择字符:匹配一个可能存在也可能不存在的字符

问号(?)匹配字的0个或一个实例。例如
ip as-path access-list 27 permit ^(850)?$
该过滤器匹配一个单一AS号850的AS_PATH或者匹配一个空的列表。注意这里的圆括弧,表示元字符“?”应用在整个AS号上。如果表达式使用850?,元字符特殊字符只应用在最后一个字符上。该表达式匹配85或者850。

8、重复:匹配许多字符的重复

你可以使用两个元字符特殊字符来匹配重复的词:星号(*)匹配0次或多次重复,加号(+)匹配1次或多次重复。例如
ip as-path access-list 28 permit ^(850)*$
该过滤器AS-PATH匹配空的AS列表或包含1个或多个的AS号850的列表。即AS路径可以是(850),(850,850),(850,850,850)等。
下面的过滤器功能类似,只是要求列表中至少包含1 个AS号850。
ip as-path access-list 29 permit ^(850)+$

9、分界线:描述多个字

分界线(_)用作描述分隔分别指定的一串字。例如假设你想匹配指定的AS_PATH(5610,148,284,13)。过滤器可以如下所示:
ip as-path access-list 30 permit ^5610_148_284_13$
下划线匹配行的开始、行的结束、逗号或空格。注意下面过滤器与上述过滤器的区别:
ip as-path access-list 31 permit -5610_148_284_13_
由于第一个过滤器指 定了行的开始与结束,只有AS_PATH(5610,148,284,13)才能匹配。在第二个过滤器中,只要求指定的序列包含在AS_PATH中,并不 要求是唯一的属性。所以AS_PATH(5610,148,284,13),AS_PATH(23,15,5610,148,284,13)和 AS_PATH(5610,148,284,13,3005)等都能匹配。

10、放到一起:一个复杂的例子

将多个元字符特殊字符混合是用来匹配一些复杂的字符串才能显示正则表达的真正威力。考虑下面的过滤器:
ip as-path access-list 10 permit ^(550)+[880|2304]?_1805_.*

BGP AS-PATH正则表达式:从核心语法到实战路由策略 在计算机网络与路由交换领域,BGP(边界网关协议)是互联网核心路由协议,其AS-PATH属性记录了路由传递的自治系统路径,是实现路由选择与策略控制的关键。通过正则表达式这一强大的模式匹配工具,网络工程师可以精确描述AS-PATH序列的复杂特征,实现对海量路由的精细化筛选。这项技术的核心价值在于,它能够基于路径模式实施高级路由策略,例如过滤特定AS路径、优化流量工程、增强网络安全以及支持多归属场景的路径调优。在BGP网络运维、数据中心互联及企业广域网等应用场景中,掌握AS-PATH正则表达式是进行高效路由控制 阅读详情

相关推荐

BGP路由控制

在AS100引入这些路由的时候,就分别打上相应的Community值用来区分语音通话的路由和视频监控的路由,凡是语音通话的路由,就打上标记100:1,凡是视频监控的路由就打上标记100:2,那么这些属性值随着路由传递给了AS200,在AS200上需要分别对语音通话和视频监控的路由做策略的时候,只需要抓取相应Community值即可。现在AS200的设备基于某种需求,需要分别对语音通话和视频监控的路由执行不同的策略,那么怎么匹配这些路由呢?(10)*指的是10可以出现零次或多次。

2402_89174705的博客 126

BGP前缀过滤(正则表达式)

BGP的正则表达式一般用在as-path中,常用的如下: .(点):表示匹配任意一个字符,包括空格。 *:表示匹配零个或多个模式的出现。即前一个字符出现0次或多次。 +:表示匹配一个或多个模式的出现。即前一个字符出现1次或多次。 ?:表示匹配零个或一个模式的出现。即前一个字符出现0次或一次。 ^:表示匹配字符串的开始。 $:表示匹配字符串的结束。 _(下划线):匹配逗号、左大括号、右大括...

剪刀石头布 1462

DataWorks PyODPS第三方包全攻略:从打包到加载的完整流程

本文详细介绍了在DataWorks的PyODPS节点中使用第三方Python包的完整流程,包括环境限制、打包工具pyodps-pack的使用、资源上传与加载实战,以及特殊场景处理技巧。通过本文,开发者可以掌握在MaxCompute受限环境中灵活使用自定义依赖的方法,提升数据处理效率。

dd012的博客 993

BGP路由过滤和正则表达式

<BGP的过滤方法总结>BGP有多种过滤方法:A.neighbor1.1.1.1prefix-list1{in|out}用前缀列表来过滤,这个是BGP的标准过滤方法,可以用in和out方向B.neighbor1.1.1.1distribute-listaccess-list-number{in|out}用访问控制列表来过滤,支持扩展访问控制列表。建议用pref...

weixin_33738578的博客 1174

Android客户端如何设计架构

当我们在新开发一款APP时,我们在初期要如何设计架构呢?在这里我根据我的经验,总结了一些基本的架构思路。 客户端架构设计的时候,首先需要充分考虑到所开发的app的类型,这里我分为功能型和服务型两大类,功能型的app侧重业务和功能,服务型的app侧重服务和运算。下面我就具体来讲讲针对这两种类型的通用架构。 功能型app 功能型app的activity比较多,整个app都以一个个activity承载业务和功能,在设计这类app时,我们需要考虑哪些要素呢? 由于activity比较多,我们需要考虑页面的跳转路由,

子者不语的专栏 1544

基于AMD AU15P FPGA的SLVS-EC桥PCIe设计方案分享

各位FPGAer周末愉快,今天熊猫君分享一个基于AMD AU15P FPGA的SLVS-EC桥PCIe设计方案。

haoxingheng的专栏 1448

BGP AS过滤列表

当BGP通告一条路由时,会在as path 的左边添加经过的AS号。 顺序是从右到左看,右是源,左是目的。 做个小实验来看看情况吧 配置整个网络互通这一点就帖出配置来了。 直接看R1的AS过滤列表如何配吧 router bgp 64512 no synchronization bgp log-neighbor-changes netw...

weixin_34168700的博客 466

Ubuntu 22.04 安装 PostgreSQL + AGE + pgvector 完全指南

本教程详细介绍了在Ubuntu 22.04服务器上安装PostgreSQL数据库,并为其添加AGE图数据库扩展和pgvector向量搜索扩展的步骤。首先,更新系统并安装PostgreSQL,然后通过源码构建并安装AGE和pgvector扩展。接着,配置PostgreSQL以使用这些扩展,并可选地允许远程连接。教程还包括创建用户、设置密码、验证安装以及安装后的优化建议。最后,提供了常见问题的解决方法。通过本教程,用户可以在同一数据库中处理关系型数据、图数据和向量数据,为现代应用程序提供强大的数据支持。

这个是个人博客,记录生活中的一些日常。 1744

BGP高级特性—— AS-PATH 正则表达式

BGP过滤表达式 字和元字符特殊字符一个典型的AS_PATH过滤器如下所示:ip as-path access-list 83 permit ^1_7-01_(_5646_|_1240).*在关键字permit后面的字符串是一个正则表达式。 表1 关于AS_PATH访问列表的正则表达式元字符特殊字符 元字符特殊字符 匹配内容 . 任何单一字符,包括空格 ...

qq_62311779的博客 1万+

实战指南:如何优雅解决SpringBoot3与Mybatis-Plus的版本兼容性问题

本文深入解析SpringBoot3与Mybatis-Plus的版本兼容性问题,提供实战解决方案。通过Maven依赖排除策略、Gradle配置方案及自动配置覆盖策略,有效解决包冲突和初始化顺序问题,确保项目平稳升级。适用于开发者快速解决SpringBoot3与Mybatis-Plus的集成难题。

weixin_28432777的博客 601

如何制作微信小程序的在线购物商城应用

首先,你需要规划好商城的整体框架,确定好你的目标用户群体,思考他们的需求是什么。接下来,使用微信开发者工具创建一个新的小程序项目,输入你的AppID,选择好保存路径,点击“创建”,一个新的商城雏形就诞生了。你可以把这里当作自己的家,无论是工作之余的小憩,还是寻找灵感的驿站,我都希望你能在这里找到属于你的那份快乐和满足。数据是现代商业的灵魂,通过数据分析,你可以更准确地把握用户的行为模式,从而做出更明智的决策。

master_chenchen的博客 2429

BGP高级特性之正则表达式

AS_Path正则表达式在BGP路由过滤中的应用 摘要:AS_Path属性作为BGP路由的重要特征,可通过正则表达式进行匹配过滤。正则表达式由普通字符和特殊字符组成,能够精确描述AS路径模式。常见匹配模式包括:^$匹配本地路由、.*匹配所有路由、^100匹配AS100发起的路由、_100$匹配AS100始发的路由、_100_匹配经过AS100的路由等。不同符号组合可实现灵活的路由过滤策略,如^10_匹配以AS10开头的转发路由。华为设备配置示例展示了如何创建AS路径过滤器来实现特定路由的允许或拒绝,为BGP

Fanmeang的博客 1361

Word多级标题出现黑块的解决思路(word 数字必须介于1-1638之间)

遇到多级目录出现黑块问题,看到一篇博客完美解决,在此记录。

AI_Optimization的博客 3717

正则表达式--用于BGP的AS-path过滤

.   匹配任意单个字符,包括空格*   匹配零个或多个模式的出现+   匹配一个或多个模式的出现?  匹配零个或多个模式的出现^   匹配字符的开始$   匹配字符的结束_   匹配逗号,左大括号,右大括号,左小括号,右小括号 例:c* 匹配行中任意多个c的出现,包括不出现cc+ 匹配行中一个或多个字符c的出现ca?b  匹配cb或者cab[Aa]  匹配单个字符A或a,[1-35-7]  匹配

Steve 3216

190、LLC谐振变换器的样机调试实战(问题定位)

这篇实战笔记总结了LLC谐振变换器样机调试中的五大典型问题及解决方案:1)空载炸机源于谐振电容纹波电流能力不足;2)轻载啸叫因控制环路不稳定,需调整突发模式阈值;3)MOSFET过热由死区时间不当导致,需精确优化实现ZVS;4)输出纹波大由PCB布局耦合引起,需优化共模抑制;5)启动过冲需延长软启动时间。作者强调调试需结合示波器、热成像仪等工具,理论计算与实测并重,并详细记录每次参数调整。文章指出LLC调试是不断试错的过程,关键是通过现象分析本质原因。

Jack010169的博客 50

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

BGP过滤器原理和实验(华为设备)

概述: 过滤器,也就是匹配路由条目的工具 目前提供以下五种过滤器供BGP使用: • 访问控制列表ACL(Access Control List) • 地址前缀列表(IP-Prefix List) • AS路径过滤器(AS-Path-Filter) • 团体属性过滤器(Community-Filter) • 扩展团体属性过滤器(Extcommunity-Filter) 在路由控制笔记归纳ACL、前缀列表在BGP中的使用;这里主要归纳新增加的三种过滤器: • AS路径过滤器: • 团体属性过滤器: • 拓展团体

tushanpeipei的博客 4082

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

AS_Path Filter在BGP中的应用

AS_Path属性按矢量顺序记录了某条路由从本地到目的地址所要经过的所有AS编号。如图10-14所示,某条BGP路由的AS_Path属性实际上可以看作是一个包含空格的字符串,所以可以通过正则表达式来进行匹配。图10-14BGP路由的AS_Path属性正则表达式就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。BGP的AS_Path过滤器主要是定义AS_Path正则表达式,然后去匹配BGP路由的AS_Path属性信息,从而实现对BGP路由信息的过滤。例如。

HCIE 数通、RHCE、HCIP 欧拉、MySQL OCP 持证工程师。 2438

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

深入解析 as - path - filter 与 BGP4+ 技术

在网络技术的广袤领域中,边界网关协议(BGP)无疑是极为关键的存在,负责在不同自治系统(AS)之间实现高效的路由信息交换。今天,我们将聚焦于 BGP 中的两个重要概念:as - path - filter 和 BGP4+,深入探讨它们的原理、功能以及在实际网络环境中的应用。

m0_57836225的博客 1058

BGP反射器,联邦,选路规则,正则表达式

目录 反射器 联邦 选路规则 选路规则 常用的选路规则: BGP的过滤,默认路由,浮动惩罚,后门及完美重启 过滤 默认路由 浮动惩罚 BGP backdoo: AS-path过滤器 正则表达式 反射器 反射器---三种角色(不是三台设备):客户端 非客户端 RR反射器 RR为中心,连接客户端和非客户端;RR与客户端非客户端均是IBGP邻居关系;...

qq_43803267的博客 715

BGP(IE阶段)

active,passive dynamic neighbors 4-byte AS number address-family remove private AS regexp active,passive 实验环境中,BGP的TCP的主动响应默认是先开启的为active,响应是passive,这样不利于信网安全,所以可以设置为必须为active,这样即便是别人主动发起,也是不能建立关系的 a...

openlab网工之路 2111

BGP AS-PATH的正则表达式的理解

^ 标志一个表达式的开始,如果不用这个字符,那么默认就没有开始的限制了。如:当使用permit ^254,那么表示的意思就是和本地相连的AS是254传过来的路由全部都允许了。如果使用简单的permit 254,那么就是只要是经过了AS 254的路由,全部都被允许了,其实和permit _254_表达的意思相同。CCIE培训,...

weixin_34166847的博客 577

03-9 BGP route-map应用总结

Technorati 标签:CCIE,CCNP,BGP,route-map,正则表达式 在BGP进行路由过滤有几种类型: prefix 的in和out策略 neighbor x.x.x.x distrubte in/out 最后就是强大的route-map. route-map在BGP中的功能不仅仅是可以过滤路由。还有其他很多用途,今天我们来系统...

weixin_34381666的博客 1076

正则表达式 BGP中as-path路径过滤器需要用

. 匹配任意单个字符,包括空格 * 匹配零个或多个模式的出现 + 匹配一个或多个模式的出现 ...

weixin_34228662的博客 736
上一篇: [8]求数组中两个和为定值的元素
下一篇: [9]树的层次遍历
proing
博客等级 码龄19年 2092粉丝 94原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值