符号 |
说明 |
示例 |
As-path列举 |
^ |
匹配一个字符串的开始。 |
^12 |
12;
12 1;12 34 45;12 ……; |
$ |
匹配一个字符串的结束。 |
12$ |
12;
1 12;34 45 12;…… 12; |
{m} |
匹配前面的表达式,出现m次。 |
12{3} |
12 12 12; |
{m,} |
匹配前面的表达式,至少出现m次。 |
12{3,} |
12 12 12;
12 12 12 12;12 12 12 12 ……; |
{m,n} |
匹配前面的表达式,至少出现m次,至多出现n次。 |
12{1,2} |
12;
12 12; |
* |
匹配前面的表达式,出现任意次。等效于{0,} |
12* |
Null;
12;
12 12;12 12 12;12 12 ……; |
+ |
匹配前面的表达式,至少出现1次。等效于{1,} |
12+ |
12;
12 12;12 12 12;12 12 ……; |
? |
匹配前面的表达式,出现0次或者1次。 等效于{0,1} |
12? |
Null;
12; |
. |
代表除换行符以外的任意单个非空字符。 |
.12 |
34 12;
56 12;78 12;……12; |
( ) |
标记一个子表达式的开始和结束位置 |
. (56|78) |
34 56;
34 78;……; |
! |
逻辑非 |
|
|
| |
逻辑或 |
12|34 |
12;
34; |
[ ] |
匹配的一个范围中任意一个AS,通常和“-”一起使用。IOS和VRP里面,[]里面只能填写数字0到9,不能填写多位数。JUNOS中支持填写多位数。 |
[123-125]* |
Null;
123;123 124;124 124 124;……; |
- |
连接符,指定一个范围中一个值 |
123-125 |
123;
124;125; |
_ |
匹配一个符号。如逗号,括号,空格符号等。
JUNOS不支持。 |
|
|
Regular Expression and Useful As-path List
原创
©著作权归作者所有:来自51CTO博客作者lotson的原创作品,请联系作者获取转载授权,否则将追究法律责任
正则表达式本身只是一个文本的匹配工具,大量使用在软件编程中,可以简化代码。而在BGP中的as-path中也会使用到正则表达式。首先需要明确的是,正则表达式就只是一个文本匹配工具,它的处理对象就是文本,也就是说它要去匹配的对象于它而言就是纯文本,而不管你是在BGP还是在软件编程中应用它。as-path过滤的过程是,系统截取BGP路由中的as-path的内容(包括两个AS号之间的空格)作为输入文本,以相应正则表达式进行过滤。这个过程的理解在我们制作as-path列表的时候很有指导作用。正则表达式的运算顺序是从左往右的。
既然正则表达式是一个文本匹配工具,那千万别忘了平常在很多场合中是可以方便使用的,如在UltraEdit中进行文本查找,在设备上操作时使用管道符匹配输出时。
在设备上过滤显示的路由时还有专门的通过as-path过滤的命令:
show route protocol bgp aspath-regex "4134.*|()" *******JUNOS中;
show ip bgp regexp "4134.*|()" *******IOS、JUNOSe中;
一、正则表达式常用符号
注:在JUNOS中,9929{3}=9929 9929 9929,不是=992999
二、常用的as-path
1、Null as-path----匹配本AS内的路由
set policy-options as-path NullASPath ^&
或者:set policy-options as-path NullASPath “()” ******注意,此种用法在IOS上不支持;JUNSO上双引号不可省略。
用法举例:电信城域网中,BR只把本城域网内的明细路由(及缺省路由)通告给下挂的BRAS设备;既能减少BRAS上的路由条目,同时也利于城域网业务灵活部署。
2、任意as-path(包括空):
set policy-options as-path AnyPath .*
用法举例:通常用在as-path列表的最后一条,在前面deny的基础上,允许其他的所有通过。
3、经过某个AS传递过来的路由(经某个AS穿越的路由):
set policy-options as-path ThroughCertainAS “.* AS_number .+”
用法举例:在城域网与163、CN2的对接中,明确规定CN2、163间的互访流量不能通过城域网进行穿越。因此在向163(CN2)通告路由的时候,可以使用上述as-path禁止从CN2(163)收到的路由再向163(CN2)通告。
4、从某个邻居AS传递过来的路由:
set policy-options as-path ThroughCertainAS “AS_number .*”
5、从某个AS始发的路由:
set policy-options as-path ThroughCertainAS “.* AS_number”
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
JAVA list基础操作
list基本操作
System List Test -
Java list顺序打乱
Java list顺序打乱
List System i++ -
AS-PATH中AS的顺序
as-path
ci Standard Time -
Regular Expression Language Elements
VMware-Fusion-3.1.3-416484-light.dmg .NET Framework 4 Other Versions A regular expression is a pattern
职场 休闲 Regular Expression Language Elements -
Regular Expression(RegEx) 概述
正则表达式(英语:Regular Expression、regex或regexp,缩写为RE),也译为正规表示法、常规表示法,在计算机科学中,要有"T
regex 正则表达式 string 文本编辑 工具