目录

一.RR反射器

  1.1、前言

1.2、配置命令

1.3、RR反射原则

1.4、RR防环属性

二.BGP增强特性

2.1、BGP ORF

2.2、BGP安全特性

三.As-Path-Filter


一.RR反射器

  1.1、前言

    为什么会使用RR反射器?

    路由黑洞:
       1、BGP同步(华为设备中无法开启)

       2、BGP协议引入IGP协议中。
       3、MPLS建立LSP隧道进行标签转发。

       4、GRE
       5、建立IBGP全互联:1、对设备资源消耗严重
                                         2、扩展性差,并且配置量繁琐。

1.2、配置命令

           peer x.x.x.x reflect-client   //在AR2上指定该邻居为自己的客户机。

               非客户机:没有被配置为客户机的所有IBGP邻居,均为非客户机。

1.3、RR反射原则

             1、从客户机收到的路由,反射给其他的客户机。

             2、从客户机收到的路由,反射给其他的非客户机。

             3、从非客户机收到的路由,反射给其他的客户机。

             4、从非客户机收到的路由,不反射给非客户机。
             总结:RR只传递最优的BGP路由,除了非客户机之间的路由不反射,其他的都反射。
                    反射不会修改IBGP路由的任何属性。

1.4、RR防环属性

         RR将路由反射出去的时候添加两个属性: Originator ID、cluster list用于防止环路。

  起源 ID Originator ID:
          1、RR将路由反射出去的时候添加0rignator ID,取值为IBGP邻居的Router id。
          2、当BGP设备接收一条路由之后,Originator ID和自身RouterID相同,则拒绝接收该路由。

   簇列表 cluster ID:

      含义:当一个AS内有多个RR,每个RR与其客户机组成的为一个簇
      前提:每个RR都会有一个cluster ID,默认取值为自身的Router ID。
      1、当RR将路由反射出去的时候会将自身的cluster id,添加到在路由的Cluster list中。
      2、当RR收到一条BGP路由时,如果路由的cluster list包含自身的cluster ID,则拒绝接收该路由。

二.BGP增强特性

2.1、BGP ORF

使能BGP基于前缀的ORF(Outbound Route Filtering)功能

         基于本地入口策略构建对端的出口策略,实现BGP按需发布路由

         包括前缀的ORF和VPN ORF

使用场景:当BGP路由表有大量的最优路由时,都会传递给邻居,而自己不需要这么多路由,通                      过ORF来实现按需接收(让对方按自己的需求发送路由)

                   peer x.x.x.x capability-advertise orf cisco-compatible ip-prefix ?
                    both           /双向,应用于互相为发送方/接收方
                    receive      //在路由的发送方配置
                    send          //在路由的接收方配置

2.2、BGP安全特性

          1.认证:BGP仅支持MD5认证,没有明文认证,BGP认证由TCP options携带完成。

                       peer x.x.x.x password simple xxxxxx

          2.GTSM:

                      BGPGTSM检测IP报文头中的TTL (time-to-live)值是否在一个预先设置好的特定范围                  内,并对不符合TTL值范围的报文进行允许通过或丢弃的操作,从而实现了保护IP                          层以上业务,增强系统安全性的目的。
                      例如将IBGP对等体的报文的TTL的范围设为254至255。当攻击者模拟合法的BGP协                议报文,对设备不断的发送报文进行攻击时,TTL值必然小于254。如果没有使能BGP                    GTSM功能,设备收到这些报文后,发现是发送给本机的报文,会直接上送控制层面处                  理。这时将会因为控制层面处理大量攻击报文,导致设备CPU占用率高,系统异常繁                      忙。如果使能BGP GTSM功能,系统会对所有BGP报文的TTL值进行检查,丢弃TTL值小               于254的攻击报文,从而避免了因网络攻击报文导致CPU占用率高的问题。

  

            peer x.x.x.x valid-hop 2//该邻居发送的BGP报文,TTL要在(255-2+1)范围内(两端同时配置)

  作用:1之后向该邻居发送的BGP报文 TTL=255

                           2.接收邻居发来的BGP报文时,TTL要大于等于(255-2+1),否则将邻居状态转为                                  opensend状态

                           3.与ebgp max-hop存在冲突

          3.限制从对等体接收的路由数量

                作用:体现在运营商之间为了保障设备系统资源而做出的一种限制。

                peer x.x.x.x route-limit 10 70  //最多接收10条路由,告警阈值为70%,如果超出10条则                                                                   断开BGP邻居关系

                邻居断开之后过了三十秒会重新建立,如果超出的路由没有修改还是会断开关系,一直                  到修改路由小于10条

            peer x.x.x.x route-limit 10 70 ?

              alert-only    //只产生报警信息,不断开邻居关系,超限的路由不再接收

              idle-forever //路由超限后不再自动重新建立邻居连接,直到执行了reset bgp命令重新建立

              idle-timeout   //路由超限后,断开邻居,等待人为配置时间后重新建立(单位分钟)

           4.AS-PATH长度保护:

                  AS-PATH-limit 3  //用来配置自身接受BGP路由和发送BGP路由的as-path的最大数量。

          5.路由衰减-Route Dampening

                作用:只对EBGP路由生效,主要为了防止某一个AS中的BGP路由震荡,而导致整个网                             络中所有AS也跟着一起震荡。

                 

bgp中RR的clister id设置为一致 bgp rr配置_网络

 上图中如果AS1内的路由发生了变化,将会发送给AR4,AR4发送给AR2,AR3,AR5, AR5给AR6,    可以看出一个AS内的路由变化,将会更新给所有AS,那么如果AS内路由频繁震荡将会影响所有     AS的稳定性。
   此时可以在设备上开启路由衰减功能,只针对EBGP路由生效。

bgp中RR的clister id设置为一致 bgp rr配置_正则表达式_02

 BGP衰减使用惩罚值(Penalty Value)来衡量一条路由的稳定性,惩罚值越高则说明路由越不稳定。

如何增加路由的惩罚值呢?
当开启路由衰减之后,EBGP路由每发生一次振荡,即路由器收到该路由的撤销(Withdraw)报文时,BGP便会给此路由增加一定的惩罚值(1000),收到路由更新时也会给此路由增加一定的惩罚(500)

这个惩罚值有什么作用呢?
当惩罚值超过抑制阈值(Suppress Value)时,此路由被抑制,不加入到路由表中,也不再向其他BGP对等体发布更新报文。默认抑制阈值为2000。

路由被抑制之后何时才会恢复呢?

被抑制的路由每经过一段时间,惩罚值便会减少一半,这个时间称为半衰期(Half-life),默认为900秒。15分钟。
当惩罚值降到再使用阈值(Reuse Value)时,此路由变为可用并被加入到路由表中,同时向其他BGP对等体发布更新报文。

其他:当某条路由的惩罚值到达最大抑制值(Maximum Suppress Value),便不会再增加,因为没有意义,就像给人判了牢狱1000年一样。

配置:
[Huawei-bgp]dampening 15 1000 3000 5000
配置半衰期时间为15分钟,如果路由震荡超出阀值,如果15分钟内没有出现震荡,惩罚值减少一半。配置使用阀值为1000,当减少到1000时,路由可用
配置抑制阀值为3000,当惩罚值超出3000,路由不可用
配置抑制阀值上限为5000,表示当惩罚值增加到5000时,不再增加
FAQ:配置命令后面可加route-policy,在route-policy中使用apply语句,针对某一条路由设置单独的路由衰减参数。此时个性大于共性。
如果一条路由已经被抑制,想要单独人为使这条路由恢复:[Huawei]reset bgp dampening X.X.X.X用来清除路由的衰减信息并释放被抑制的路由。
 

三.As-Path-Filter

概述:As-Path-Filter也叫AS-PATH过滤器,对于BGP的as-path属性实际上可以看成是一个包含空格的字符串。as-path-filter可以通过正则表达式来匹配这些字符串,从而达到对BGP路由的过滤。

特点:1、通过对BGP路由的as-path属性进行匹配达到对BGP路由的过滤。
        2、在route-policy中可以被if-match语句调用,用于对匹配的路由做策略。
        3、按照配置顺序进行匹配,如果有路由匹配一个as-path-filter将不再向下继续匹配。
        4、默认拒绝所有
        5、当策略产生冲突,拒绝优先。

正则表达式:
         正则表达式使用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征,BGP的AS-Path过滤器就是通过定义

         AS-path正则表达式,然后去匹配BCP路由的AS-path属性信息,从从而实现对BGP路由信息的过滤。

正则表达式的组成:

         在as-path过滤器中正则表达式有元字符和数值两部分组成:1、元字符表示了匹配的一些规则,2、数值定义了匹配的对象。比如+在数学中代表“加”;也是十字架;也代表红十字会;那么在这+号在正则表达式里也有着它自己的意义。

        字符就是一个数字,字符串就是一串AS-path列表。

bgp中RR的clister id设置为一致 bgp rr配置_网络_03

 

bgp中RR的clister id设置为一致 bgp rr配置_正则表达式_04

 display bgp routing-table regular-expression //在设备上测试AS-PATH匹配了本地BGP表中哪些路由综合使用举例:
^$表示匹配的字符串为空,即AS-PATH为空的BGP路由,也就是始发与本AS内部的BGP路由。


 .*   表示匹配任意字符串,即AS-PATH为任意,也就是匹配所有路由。


^100  表示匹配字符串为100,即AS-PATH最左边AS前3位是100的路由。100、1001、1002等(10    1这种不匹配)


100_   表示匹配字符串开始为100,后面为符号的路由,即AS-PATH最左边AS为100,表示AS100邻居发送的路由。比较前一个表达式,“_”的好处就体现出来了,它可以和用来帮助我们限制匹配单独的一个AS。


_100$  表示匹配字符串最后为100的路由,即AS-PATH中最右边(起始AS〉为100,也就是匹配AS100始发的路由。


_100_   表示匹配字符串中间有100的路由,即AS-PATH中有100,也就是匹配AS100的始发路由。


100  直接加数字,表示匹配字符串中只要包含100这个数字就可以。


^100$  这样表示字符串使用100开始100结束,即AS-PATH只有100的BGP路由