欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    浅谈aspath及基于aspath的路由过滤.docx

    • 资源ID:7565083       资源大小:109.63KB        全文页数:10页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    浅谈aspath及基于aspath的路由过滤.docx

    1、浅谈aspath及基于aspath的路由过滤浅谈as-path及基于as-path的路由过滤摘 要:本文主要针对BGP as-path属性和as-path filter的概念、配置和使用做了介绍,重点讲解AS正则表达式的配置和匹配关系,并对使用as-path access-list进行BGP路由过滤的应用举例进行了简单介绍。关键词:BGP as-path access-list 路由过滤缩略语:BGP Border Gateway Protocol 边界网关协议AS Autonomous System 自治系统随着NE路由器、S8016等高端设备的网上位置不断提升,很多应用中都是作为BGP路由

    2、器来承担路由交换的核心任务。在BGP的路由策略实施中,as-path、as-path access-list是最常使用过滤方法之一。as-path是BGP协议中的一个非常重要的路径属性(Path attribute),它顺序记录了一条BGP路由从源AS到目的AS所经过的路径(由源到目的所途径的所有as-number组成一个字符串,不包含目的as-number; as-number自治系统号);每一条BGP路由都携带as-path属性,所以我们可以通过对as-path属性的过滤来灵活实现对BGP路由的过滤。as-path access-list主要应用在以下几个方面: 对BGP路由的收发过滤,使

    3、用 neighbor A.B.C.D filter-list in/out。 限制仅本地(AS)产生的路由允许向自治系统外发送,避免成为Transit AS,as-path必须为空。 基于as-path中的特定as-number选择接收/发送路由。 对BGP路由其他属性的设置、修该,使用route-map、match as-path 、set 等命令。1. as-number 自治系统号在路由协议中,as-number用于标识不同的自治系统,在as-path中同样使用as-number记录经过的自治系统,在BGP中自治系统号是一个32bit的数字(165535)。与IP地址类似,as-numb

    4、er也分为public、private两类: Public as-number:公网使用的as-number,由InterNIC或RIPE统一管理和分配,范围为164511。 Private as-number:保留给私有网络使用,此类as-number不能出现在使用公网扩散的BGP路由的as-path属性中,取值范围为6451265535。公网边界BGP路由器接入私网AS路由时必须去掉路由as-path中的Private as-number,否则与其它私网AS发生冲突。2. as-path 自治系统路径as-path是BGP三个众所周知且必须携带的属性(Well-kown mandatory

    5、 attribute)之一,也是BGP防止路由环路和进行路由优选的一个重要参数。as-path由一系列as-number 及空格、()、等特殊符号构成一个字符串,例如:200 300 788、(65001 65002) 387 456、654 400 99 100 101。 例一 as-path在自治系统联盟中的变化情况例二:一个BGP路由表UPNE16L#show ip bgp BGP local router ID is 16.16.16.15 Status codes: s suppressed, d damped, h history, * valid, best, i interna

    6、l Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Label Metric LocPrf Path * 20.0.0.0/16 0.0.0.0 0/0 99,100 i * 20.0.0.0/17 200.0.0.1 0/0 2000 100 99 i * 20.0.0.0/24 200.0.0.1 0/0 2000 100 i * 20.0.1.0/24 200.0.0.1 0/0 2000 100 99 i* 20.0.2.0/24 0.0.0.0 0/0 i * 20.1.0.0/16 0.0.0.0 0/

    7、0 ? * 20.1.0.0/24 0.0.0.0 0/0 i * 20.1.1.0/24 200.0.0.1 0/0 2000 100 i * 30.0.0.0/16 200.0.0.1 0/0 2000 100 99 ? 下面是几种常见的as-path属性字符串: 空字符串:表示此路由为本自治系统内部产生的路由(本路由发布的或从iBGP邻居学到的)。 200 201 300:从AS 300始发(发布)途经AS 201、AS 200,最后到达本AS的一条路由,注意路由实际可能起源一个Private AS(private as-number在公网BGP路由器上被删除)。 64512 64513

    8、:这是一个在公网边界BGP路由器上收到的典型的私网AS 路由,从AS 64513始发经AS 64512到达本路由器。公网边界BGP路由器在向核心网络转发这条路由前一定要使用remove-private-as命令删除这两个private as-number。 (65001 65002) 387 456:这是一个在配置了自治系统联盟的BGP路由器上收到的典型路由;()中包含的是途径的联盟内部路径,从AS 456始发经AS 387进入本自治系统联盟,再 经AS confederation(自治系统联盟)成员AS 65002、AS 65001到达本BGP路由器。注意这种as-path只能在联盟内部看到

    9、,出联盟时(65001 65002)被替换成联盟as-number(即confederation identifier)。 654 400 99 100 101 800 900:这是一条典型的使用aggregate-address (带as-set参数)命令聚合后的汇聚BGP路由,聚合发生在AS 400中,路由的起源AS已无法分辨,中包含的是形成本聚合路由的各子网路由到达AS 400前所途径的所有AS的as-number的集合(不重复),如此例中99 100 101 800 900。关于BGP路由聚合、BGP联盟、BGP路由反射器的详细内容请参阅相关资料,本文不做详细描述。3. as-path

    10、 access-list类似IP包过滤使用(ip) access-list定义过滤原则,as-path过滤使用as-path access-list定义对as-path的过滤规则:ip as-path access-list number permit|deny regexp ,即定义一个regular expression(正则表达式)。使用正则表达式来匹配as-path。as-path access-list的配置方法、匹配顺序和标准的access-lsit类似:支持多个子序列(序列间是“或”关系)、匹配顺序按序号从小到大。4. regular expression 正则表达式正则表达式是

    11、一种匹配字符串的形式和方法,它通过一组有特殊意义的标记和既定的规则来进行字符串的匹配。as-path access-list中使用的正则表达式可以匹配任何形式的as-path字符串。4.1 正则表达式的结构一个正则表达式由以下部分灵活搭配构成: 基本数字符: “0”“9”中的任何一个,用于组成as-number。 范围: 括起来的一系列基本数字符或用连字符“-”连接的起始、终止基本数字符。范围用于限制输入字符串中的单个数字符的取值范围。例如:123456与1-6都表示单个数字符的取值范围为“1”到“6”。 替代符: | expr1|expr2 如果子表达式expr1或expr2匹配输入字符串,

    12、则表达式expr1|expr2 匹配输入字符串。如:21|22 可以匹配输入字符串:“21 30”、“22 30 40”。 通配符: . 匹配输入字符串中任何单个字符(包括基本数字符、分隔符等),如:1.2 可以匹配输入字符串“112”、“182”、“1 2”等。 匹配输入字符串的开始,如:12 400 可以匹配输入字符串 “12 400”、“12 400 501”等。 $ 匹配输入字符串的结束,如:200 10$ 可以匹配输入字符串 “200 10”、“100 200 10”等。 _ 匹配输入字符串中的任何单个分割符(字符串的开始、结束、空格、TAB、逗号、左括号(、右括号)、左大括号、右大

    13、括号 ),如:100_200 可以匹配输入串 “100,200”、“100(200”、“100 200”、“100 200”等。 字符匹配组: ()可以将一个正则表达式组成一个字符匹配组以便形成更大的正则表达式。字符匹配组可以多层嵌套。如:(10|11) 120 可以匹配输入字符串“10 120”、“9 11 120 130”等。 特殊字符: 放在单个字符或符号的前面将去除该字符或符号在正则表达式中的特殊意义,用于匹配输入字符串中的这个字符或符号。如:(200 匹配输入字符串 “(200 100)100”、“101 (200 100)”等。 重复操作符:重复操作符跟在单个字符或字符匹配组的后面

    14、,匹配它们在输入字符串中的连续重复出现。 * 重复0或多次。如:90* 匹配输入字符串 “9”、“90”、“900”等。 ? 重复0或1次。如:90?匹配输入字符串 “9”、“90”,不匹配“900”。 + 重复1或多次。如:90+ 匹配输入字符串 “90”、“900”等,不匹配“9”。4.2 正则表达式的匹配原则和示例4.2.1 简单的字符串匹配正则表达式中的简单字符串匹配输入字符串中的任何等价子串,即只要输入的as-path字符串中任何连续包含这个简单字符串就算匹配成功。示例:expression:31 as-path:“213 317 2316 31”匹配结果(彩色部分):“213 31

    15、7 2316 31”4.2.2 替代表达式的匹配由替代符 | 分隔的多个子表达式构成一个大的替代表达式:expr1|expr2|.|exprn替代表达式的匹配结果是各个子表达式对输入字符串匹配的结果取“或”值,即任一子表达式的匹配成功则整个替代表达式对输入字符串匹配成功。示例:expression:21|31 as-path:“213 317 2316 31”匹配结果(彩色部分):“213 317 2316 31”4.2.3 范围与字符通配符的匹配范围与字符通配符结合可以匹配较复杂的输入字符串。示例:expression:1-3.34 as-path:“213 317 2316 31”匹配结果

    16、(彩色部分):“213 317 2316 31”、“213 317 2316 31”4.2.4 包含分隔通配符的表达式的匹配在实际应用中经常要对as-path字符串的起、止进行匹配。示例:expression:21 as-path:“213 317 2316 31 731”匹配结果(彩色部分):“213 317 2316 31 731”expression:21$ as-path:“213 317 2316 31 731”匹配结果(彩色部分):“213 317 2316 31 731”expression:_31_ as-path:“213 317 31 2316 31 731”匹配结果(彩色

    17、部分):“213 317 2316 31 731”4.2.5 包含字符匹配组的表达式的匹配通过使用匹配组可以组合小的表达式形成大的表达式进而匹配更复杂的输入字符串。示例:expression:(213|218)_31 as-path:“213 317 1218 316 31”匹配结果(彩色部分): “213 317 1218 316 31”4.2.6 包含特殊字符的表达式的匹配对于as-path中包含()的情况,必须使用(进行特殊字符的匹配。示例:expression:(213_ as-path:“213 317 1218 316 31”匹配结果(彩色部分): “(213 317) 1218

    18、316 31”4.2.7 使用重复操作符的表达式的匹配对于类似使用 as-path prepend功能路由匹配,必须要使用重复操作符创建表达式。示例:expression:_23(_78)?_45 as-path:“23 45”和 “23 78 45”匹配结果(彩色部分): “23 45”、 “23 78 45”4.3 常用的正则表达式下面是一些经常要用到的as-path正则表达式的示例: _100_ 经过AS 100的路由 100$ 源自AS 100,中间不经过其他AS的路由 _100$ 源自AS 100的路由 100_. 到AS 100后面的其它网络的路由 0-9+$ as-path只包含

    19、一个as-number的路由 $ 本地AS始发的路由 .* 任何路由 $ as-path中包含as-set的路由 ( 经过自治系统联盟成员AS的路由5. as-path access-list配置说明在NE路由器和CISCO路由器上,使用如下命令定义一个as-path access-list:命令格式:ip as-path access-list number permit|deny regexp 参数说明: number:控制列表编号,1199。 permit/deny:允许还是禁止。 regexp:用于过滤as-path的正则表达式,如表达式中包含非法字符则过滤失败。由于一条命令只允许定义

    20、一条正则表达式,对于复杂的过滤条件,只能重复使用此命令定义控制列表的子序列,需要注意的是一定要按顺序定义(因为子序列之间是“或”的关系)。例:要求在路由器A上定义一个as-path控制列表,允许接收源自AS 100或AS 101或本自治系统始发的路由。router(config-router)#ip as-path access-list 1 permit _100|101$router(config-router)# ip as-path access-list 1 permit $6. as-path access-list的应用6.1 与filter-list配合过滤与BGP邻居之间的路

    21、由收发使用命令: neighbor group-name | neighbor-address filter-list aspath-list-number in | out 参数说明: aspath-list-number:指定已配置好的as-path access-list;取值范围1199。 in|out:控制路由过滤的方向,in表示对从此邻居接收的路由进行过滤,out对发送的路 由进行过滤。6.2 与route-map配合进行路由过滤和路由属性设置使用命令1: route-map map-name permit | deny sequence-number使用命令2:neighbor

    22、group-name | neighbor-address route-map map-name in | out命令说明:使用route-map过滤与BGP邻居间的路由交换、进行路由属性设置。使用命令3:table-map map-name命令说明:对所有从BGP邻居学到的路由进行属性设置。参数说明: map-name:指定route-map的名字。 in|out:控制路由过滤的方向,in表示对从此邻居接收的路由进行过滤,out对发送的路 由进行过滤。6.3 使用as-path prepend控制回程路由(补充)as-path prepend的使用虽然本身不涉及as-path access-

    23、list,但做为as-path的一种重要的应用,我们在此一并简单介绍一下:大家知道,BGP优选路由的原则是:1 忽略下一跳不可达的路由2 优选weight最大的路由(Cisco支持,VRP不支持)3 优选local-preference最大的路由4 优选本路由器发布的路由5 优选as-path最短的路由.我们可以看到,as-path长短对路由控制的优先级高于我们常用的MED属性,而且由于MED属性不能跨越邻居AS(如要跨越需在邻居AS的EBGP上重新设置MED值,这几乎是不可能的)所以造成MED只能用在到一个邻居AS有多条连接的组网中;而对于用户网络AS连接到多个不同ISP AS的这种组网中,

    24、在不能改动ISP EBGP路由器配置的情况下,只有使用as-path的长短来控制远端网络的回程路由才是唯一的解决办法。修改as-path长短的唯一命令就是as-path prepend(在route-map中配置):命令格式1(VRP格式): set as-path as-number as-number.命令格式2(IOS 格式): set as-path prepend as-number as-number.命令说明:在route-map中对特定路由的as-path附加冗余as-number以加长as-path的长度。特别注意:一般情况只允许附加本AS的as-number,否则容易导致路

    25、由混乱。 应用示例:组网如下图所示,这是一个典型的多穴用户网络接入Internet的组网,用户网络使用保留自治系统号65001,通过2条上行链路接入不同的ISP实现Internet接入的安全备份。要求:1、用户网络不能成为Transit AS。2、用户网络对于ISP3内部网络的访问优先使用经过ISP1的路由。用户EBGP路由器上的配置:(说明:以下配置只实现上述2个路由过滤要求,实际应用中还需配置很多其它数据)!启动BGPRouterA(config)# router bgp 100!指定BGP要发送的网络RouterA(config-router-bgp)# network A.B.C.D!

    26、配置EBGP对等体RouterA(config-router-bgp)# neighbor 10.0.0.1 remote-as 100RouterA(config-router-bgp)# neighbor 20.0.0.1 remote-as 101!配置as-path access-list 1用于过滤与两个ISP之间的路由交换,只发送本地AS始发路由Router(config)# ip as-path access-list 1 permit $!配置as-path access-list 2用于匹配从ISP3始发且途径ISP1的路由Router(config)# ip as-path

    27、 access-list 2 permit _100_200$!定义一个Route-map,一个名为set_lp_200,将as-path匹配_100_200$的路由的local-preference属性设置为200,其它情况设置为100。RouterA(config)# route-map set_lp_200 permit 10RouterA(config-route-map)# match as-path 2RouterA(config-route-map)# set local-preference 200RouterA(config-route-map)# exitRouterA(c

    28、onfig)# route-map set_lp_200 permit 20RouterA(config-route-map)#set local-preference 100RouterA(config-route-map)#exit应用As-path access-list 1过滤到ISP1、ISP2边界路由器的出口路由更新上,route-map set_lp_200 到ISP1边界路由器的入口路由更新上。RouterA(config)# router bgp 65001RouterA(config-router-bgp)# neighbor 10.0.0.1 filter-list 1

    29、outRouterA(config-router-bgp)# neighbor 20.0.0.1 filter-list 1 outRouterA(config-router-bgp)# neighbor 10.0.0.1 route-map set_lp_200 in结束语本文只是重点对BGP路由属性as-path及匹配as-path的as-path正则表达式、控制列表及as-path属性的应用进行了简单的介绍,BGP协议是当前控制能力最强、路由策略最丰富的路由协议之一,还有其它如Origin、community、MED等十余种路由属性可用于路由策略的定制,这些属性的灵活搭配使BGP具有十分强大的路由控制能力,关于这些属性及BGP协议其它方面的内容请参考相关技术资料。参考资料:1 Cisco,“Configuring BGP” Cisco website2 Cisco,“Route Filtering and Route Selection in BGP” Cisco website


    注意事项

    本文(浅谈aspath及基于aspath的路由过滤.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开