Blog index > 过滤BGP信息常用的正则表达式,Regular Expression - iTLS Asia Pacific Blog
avatar

过滤BGP信息常用的正则表达式,Regular Expression

December 2, 2016

20140209_104637我们在过滤BGP协议的信息内容,经常会使用AS-Path的正则表达式的过滤。短时间内要完全熟练正则表达式的确不太容易,我这里列出五个工作当中经常被使用到的正则表达式,方便大家快速上手,未来我们再深入讨论正则表达式的完整功能。

  1. 发源于指定的AS号码:_ASN$

例如 _11$,代表发源于AS 11的所有BGP信息。

这个正则表达式,代表的是AS-Path结束于指定的AS号码。因为AS号码在被BGP路由器添加到AS-Path的时候,一律从开头加入(prepend),因此,AS-Path最末端的AS号码,就是发源于的AS号码。

  1. 指定邻居AS所提供的:^ASN_

例如 ^11_,代表跟我相邻的BGP邻居之中,AS号码是11,所提供给我的所有BGP信息。

这个正则表达式,代表的是AS-Path内容的开头就是指定的AS号码。相同地,是因为AS号码在被BGP路由器添加到AS-Path的时候,一律从开头加入(prepend),我的前一站的AS号码,其实正好是就是我的BGP邻居的AS号码,会被放在AS-Path的最开头。

  1. 包含AS号码:_ASN_

例如 _11_,代表BGP信息里面,AS-Path包含AS号码11的所有BGP信息。

这个正则表达式,代表的是AS-Path包含所指定的AS号码。因此,除了包含过路(Transit)于指定的AS号码之外,也包含前面两种状况:发源于、或者是前一站。

  1. “Any”:.*

这个正则表达式,代表符合任何的AS-Path。等同于完全没有任何过滤的功能。在定义Cisco IOS AS-Path ACL的时候,我们偶尔需要这个”词组”,来代表剩下的所有可能的AS-Path格式全部都允许/或拒绝。

  1. 发源自本地:^$

这个正则表达式,代表的是完全空白的AS-Path内容。因为任何来自于外部邻居BGP都会包含邻居的AS号码,AS-Path不会是完全空白的,唯一可能相符的,只剩下本地BGP所产生的BGP信息,才有可能AS-Path完全空白。

 


Photo of Li-Ji Hong (洪李吉)我是文章作者洪李吉。欢迎大家在下方留言,也欢迎大家分享本网站的内容!

(Visited 270 times, 1 visits today)

Tags:

Leave a Reply

You must be logged in to post a comment.