as-path正则表达式.doc_第1页
as-path正则表达式.doc_第2页
as-path正则表达式.doc_第3页
as-path正则表达式.doc_第4页
as-path正则表达式.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

BGP AS-PATH的正则表达式的理解 2007-08-23 20:01:28标签:正则表达式推送到技术圈 标志一个表达式的开始,如果不用这个字符,那么默认就没有开始的限制了。如:当使用permit 254,那么表示的意思就是和本地相连的AS是254传过来的路由全部都允许了。如果使用简单的permit 254,那么就是只要是经过了AS 254的路由,全部都被允许了,其实和permit _254_表达的意思相同。CCIE培训,CCNA培训,CCNP培训,上海CCNA培训,上海CCNP培训,上海CCIE培训fsM5|8Mk%A泰克网络技术论坛【我们一起努力】|$N/HL M5_3q/?OL$ 标志一个表达式的结束,如果不用这个字符,那么默认就没有结束的限制了。如:当使用了permit 254$,那么表示的意思就是起源于AS 254的路由全部被接受,如果permit 254那么见上面的解释。?标志匹配前面的一个字符,注意:只是匹配一个字符。?允许前面的字符出现一次或者是空。如:permit 2540-9?$,那么就是只匹配起源于AS 254/2540-2549的路由,注意?在CISCO路由器上用CTRL-V来替代。CISCO技术,CCIE认证交流,CCNP认证交流,CCNA认证交流 x8W6M)r M * 标志匹配前面的一个字符,注意,和?不同的是,*允许前面的字符出现许多次或者是空,而?只允许匹配出现一次或者是空。如:permit 2540-9*$,那么就是只匹配起源于AS 254/2540-25499999.的路由 如果是permit 2545-9,那么就是匹配起源自AS 254/25452549/25455-25459/254555-培训,CCNP培训,上海CCNA培训,上海CCNP培训,上海CCIE培训i Ybh$cFCCIE 培训,CCNP培训,CCNA培训GL$v.l,T+和*的区别就是*可以匹配空,但是必须匹配一个值才行如permit 254+$,表示起源于254或者2544/25444.而permit 254*$则可以匹配起源于AS 25/254/25444。坛【我们一起努力】 yoL U句号.标志匹配任意一个字符,包括空格,如:当我们使用permit .*的时候,表示匹配所有的路由。CIE认证交流,CCNP认证交流,CCNA认证交流CpxDS9s_ 表示两个AS之间的连接符,如:permit 254_253_252$, 表示起源于252,经过253和254的路由条目。本文出自 51CTO.COM技术博客BGP AS-PATH的正则表达式 2008-08-05 16:07:36标签:正则表达式 BGP AS-PATH推送到技术圈 正则表达式针对的策略对象是在 show ip bgp 后显示的As-Path,其中 i 在最后不做考虑,从左到右依次显示第一跳到达目的地经过的As-Path,所以最右边的As就是发起这条路由的源As,最左边的As就是本地到达目的地的第一跳As。 开始符 $ 结束符 ? 匹配一个字符 * 匹配任意字符(包括空)+ 匹配任意字符(不包括空) . 匹配任意字符(包括空格) _ 连接符 标志一个表达式的开始,如果不用这个字符,那么默认就没有开始的限制。如:当使用 permit 254,那么意思就是第一跳AS为254的路由全部都允许。permit 254,只要经过AS 254的路由全部都允许,其实和 permit _254_ 表达的意思相同。$ 标志一个表达式的结束,如果不用这个字符,那么默认就没有结束的限制了。permit 254$,那么表示的意思就是起源于AS 254的路由全部接受。? 标志匹配前面的一个字符,注意:只是匹配一个字符。? 允许前面的字符出现一次或者是空。permit 2540-9?$,只匹配起源于AS 254/2540-2549的路由(注意?在CISCO路由器上用CTRL-V来替代)* 标志匹配前面的一个字符,注意 * 和 ? 有不同,* 允许前面的字符出现许多次或者是空,而 ? 只允许匹配出现一次或者是空。permit 2540-9*$,只匹配起源于AS 254/2540-25499999. 的路由。permit 2545-9,匹配起源自AS 254/2545-2549/25455-25459+ 和 * 的区别就是*可以匹配空,但是必须匹配一个值才行permit 254+$,表示起源于254或者2544/25444. permit 254*$ 则可以匹配起源于AS 25/254/25444。. 标志匹配任意一个字符,包括空格permit .* 表示匹配所有的路由。CIE认证交流,CCNP认证交流,CCNA认证交流CpxDS9s_表示两个AS之间的连接符permit 254_253_252$,表示起源于252,经过253和254的路由条目。本文出自 51CTO.COM技术博客上一篇 QoS技术解析II下一篇 RIP协议疑难解析 类别:我的转载 技术圈( 0) 阅读( 960) 评论( 2) 推送到技术圈 返回首页 正则表达式_BGP中as-path路径过滤器需要用时间:2005-04-12 02:09来源:Internet 作者:freebeme 点击: 103次被过滤广告. 匹配任意单个字符,包括空格* 匹配零个或多个模式的出现+ 匹配一个或多个模式的出现? 匹配零个或多个模式的出现 匹配字符的开始$ 匹配字符的结束_ 匹配逗号,左大括号,右大括号,左小括号,右小括号 例:c* 匹配行中任意多个c的出现,包括不出现cc+ 匹配行中一个或多个字符c的出现ca?b 匹配cb或者cabAa 匹配单个字符A或a,1-35-7 匹配指为1,2,3,4,5,6,7的单个字符bB 匹配以b或B开头的行2-5$ 匹配以2,3,4,5结尾的行。在方括号中的脱字符号()用于反转字符的意义1-3 匹配字符0和4-9路由含义$ 从该as起源的路由2_ 所有从直接相连的位于as 2的邻居来的路由2$ 源于as2中的邻居路由_3_ 路由包含as 31 2 使用as-path 选项聚合路由,从as 1和as 2来的路由形成聚合(65530) 与对等体形式联盟,该对等体在as 65530as-path路径过滤器的格式为:ip as-path access-list permit ip as-path access-list deny Cisco正则表达式指南时间:2008-05-26 04:20来源:Internet 作者:admin 点击: 167次被过滤广告 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 850123459$上述过滤器匹配包含单一AS号850,851,852,853,854,855或859的AS_PATH。如果字符的范围连续,你可以只指定序列中开始和结束的字符:ip as-path access-list 22 permit 850-5$该过滤器匹配上一个过滤器中除859以外的其他AS号。4、否定:匹配除字符集和外的其他字符当在括弧中使用加字符时,将否定括弧中指定的范围。如果是正则表达式将匹配范围外的任何内容。例如:ip as-path access-list 24 permit 850-5$该过滤器除了多一个加字符以外与上一个过滤器类似,指定了“不是05”。该正则表达式将匹配856859范围内的单个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_.*上述过滤器寻找一个AS_PATH,该路径路由最后一个AS号是550。550前面的加字符表示550是列表的第一个数。550后的加号表示550至少出现一次,也可能出现多次。在一个或多个550之后,可能存在880或者2304。接下来必须有一个1805。最后的部分指定1805以后,AS-PATH可能存在任何AS号序列,也可能什么也没有。AS-PATH路由过滤的正则表达式理解 As-Path从左到右显示了第一跳到达目的地经过的AS,所以最右边的As就是发起这条路由的源AS,最左边的AS就是本地到达目的地的第一跳AS。 标志一个表达式的开始,如果不用这个字符,那么默认就没有开始的限制。如:当使用 permit 254,那么意思就是第一跳AS为254的路由全部都允许。如果使用简单的 permit 254,那么就是只要经过AS 254的路由全部都允许,其实和 permit _254_ 表达的意思相同。$ 标志一个表达式的结束,如果不用这个字符,那么默认就没有结束的限制了。如:当使用了 permit 254$,那么表示的意思就是起源于AS 254的路由全部接受。? 标志匹配前面的一个字符,注意:只是匹配一个字符。? 允许前面的字符出现一次或者是空。如:permit 2540-9?$,那么就是只匹配起源于AS 254/2540-2549的路由,注意?在CISCO路由器上用CTRL-V来替代。* 标志匹配前面的一个字符,注意 * 和 ? 有不同,* 允许前面的字符出现许多次或者是空,而 ? 只允许匹配出现一次或者是空。如 permit 2540-9*$,那么就是只匹配起源于AS 254/2540-25499999. 的路由。如果是 permit 2545-9,那么就是匹配起源自AS 254/2545-2549/25455-25459。+ 和 * 的区别就是*可以匹配空,但是必须匹配一个值才行如 permit 254+$,表示起源于254或者2544/25444. 而 permit 254*$ 则可以匹配起源于AS 25/254/25444。. 标志匹配任意一个字符,包括空格,如:当我们使用permit .*的时候,表示匹配所有的路由。_ 表示两个AS之间的连接符,如:permit 254_253_252$,表示起源于252,经过253和254的路由条目。发表于: 2008-09-24 ,修改于: 2008-09-24 16:23,已浏览391次,有评论0条 推荐 投诉 正则表达式用于BGP的AS-path过

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论