BGP路由聚合

目录

一:BGP自动路由聚合

原理概述:

实验目的:

实验内容:

实验拓扑:

1.基本配置

2.配置BGP路由协议

3.开启BGP自动路由聚合功能

4.通告路由进入BGP中

5.引入外部路由到BGP协议中

 二:BGP手动路由聚合

原理概述:

实验目的:

实验内容:

实验拓扑

1.基本配置

2.配置BGP路由协议

3.配置BGP路由聚合

4.使用No-Advertise 关键字控制路由聚合

5.使用Detail-Suppressed 关键字控制路由聚合

6.使用Suppress-Policy关键字控制路由聚合

7.使用Attribute-Policy关键字控制路由聚合


一:BGP自动路由聚合

原理概述:

       BGP 是一种无类路由协议,支持 CIDR 、 VLSM ( Variable Length Sub - network Mask )和路由聚合。路由聚合技术的使用,可以在一定程度上缩减路由条目的数量,同时还可以减轻路由震荡导致的网络不稳定的问题。 BGP 的路由聚合有两种方式,一种是自动路由聚合,一种是手动路由聚合。
       自动路由聚合是在自然网络边界路由器上自动执行的。在默认情况下, BGP 的自动路由聚合功能是关闭的,并且 BGP 不会自动聚合 BGP 邻居发送的路由以及使用 network 命令通告的路由。
        使用 BGP 自动路由聚合时,需要进行严谨的 IP 地址规划。在一个地址规划杂乱无序的网络中,自动路由聚合可能会产生许多意想不到的问题。例如,在采用不连续子网规划的网络中,自动路由聚合可能会导致报文转发出现选路问题,或者是产生路由环路。

实验目的:

理解BGP自动路由聚合的概念

掌握BGP自动路由聚合的配置

实验内容:

本实验模拟了3个运营商网络,R1属于ISP-A,R2属于ISP-B,R3属于ISP-C。三台路由器都使用直连的物理接口IP地址来建立EBGP邻居关系,R2和R3的LoopBack1接口用来模拟各自ISP中的一个网段。R1、R2、R3上将开启自动路由聚合功能,R3的LoopBack 1 接口所在网段将使用network命令通告给BGP进程,R2的LoopBack 1接口所在网段将被引入到BGP进程中,最终实现R2的LoopBack 1与R3的LoopBack 1之间可以互相通信。

实验拓扑:

1.基本配置

根据拓扑图进行相应的基本配置,并使用ping命令检测R1与R2之间的连通性。

其余直连网段的连通性测试过程在此省略 。

2.配置BGP路由协议

配置BGP邻居关系,每台路由器均使用LoopBack 0接口的IP地址作为自己的Router-ID。

[r1]bgp 100
[r1-bgp]router-id 10.0.1.1 
[r1-bgp]peer 10.0.12.2 as-number 200
[r1-bgp]peer 10.0.13.3 as-number 300
 

[r2]bgp 200
[r2-bgp]router-id 10.0.2.2
[r2-bgp]peer 10.0.12.1 as-number 100
 

[r3]bgp 300
[r3-bgp]router-id 10.0.3.3
[r3-bgp]peer 10.0.13.1 as-number 100

配置完成后,查看R1的BGP邻居关系。

可以看到,R1与R2,R1与R3之间的邻居状态都为Established,表明邻居关系已正常建立。

3.开启BGP自动路由聚合功能

缺省情况下,华为设备的BGP自动路由聚合功能是关闭的,现在开启这一功能。

[r1]bgp 100
[r1-bgp]ipv4-family unicast
[r1-bgp-af-ipv4]summary automatic

[r2]bgp 200
[r2-bgp]ipv4-family unicast
[r2-bgp-af-ipv4]summary automatic

[r3]bgp 300
[r3-bgp]ipv4-family unicast
[r3-bgp-af-ipv4]summary automatic 

当路由器的BGP自动路由聚合功能打开时,系统会有如下的提示信息。

这说明,BGP自动路由聚合只适用于通过路由引入方式引入的路由。

4.通告路由进入BGP中

使用network命令,将R3的LoopBack 1 接口所在网段通告进入BGP进程。

[r3]bgp 300
[r3-bgp]ipv4-family unicast
[r3-bgp-af-ipv4]network 33.33.33.0 24 

然后在R1、R2、R3上使用display bgp routing-table命令,查看BGP路由表。 

可以看到,在R1、R2、R3的BGP路由表中,33.33.33.0/24并没有被聚合。R3将33.33.33.0/24通告给R1,R1再通告给R2,整个过程中该路由都没有被聚合。这就说明,使用network命令通告到BGP中的路由,在自然网络边界处,BGP不会进行自动聚合。

5.引入外部路由到BGP协议中

在R2上使用import-route命令引入直连的路由

[r2]bgp 200
[r2-bgp]ipv4-family unicast
[r2-bgp-af-ipv4]import-route direct

配置完成后,查看R1、R2、R3的BGP路由表

[r1]display bgp routing-t

 BGP Local router ID is 10.0.1.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 3
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   10.0.0.0           10.0.12.2                             0      200?
 *>   22.0.0.0           10.0.12.2                             0      200?

 *>   33.33.33.0/24      10.0.13.3       0                     0      300i

[r2]display bgp routing-table

 BGP Local router ID is 10.0.2.2 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 10
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   10.0.0.0           127.0.0.1                             0      ?
 s>   10.0.2.2/32        0.0.0.0         0                     0      ?
 s>   10.0.12.0/24       0.0.0.0         0                     0      ?
 *>   10.0.12.2/32       0.0.0.0         0                     0      ?
 *>   22.0.0.0           127.0.0.1                             0      ?
 s>   22.22.22.0/24      0.0.0.0         0                     0      ?

 *>   22.22.22.22/32     0.0.0.0         0                     0      ?
 *>   33.33.33.0/24      10.0.12.1                             0      100 300i
 *>   127.0.0.0          0.0.0.0         0                     0      ?
 *>   127.0.0.1/32       0.0.0.0         0                     0      ?

[r3]display bgp routing-table

 BGP Local router ID is 10.0.3.3 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 3
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   10.0.0.0           10.0.13.1                             0      100 200?
 *>   22.0.0.0           10.0.13.1                             0      100 200?

 *>   33.33.33.0/24      0.0.0.0         0                     0      i 

可以看到,在R1和R3的BGP路由表中,都出现了22.0.0.0,且没有显示掩码信息,这正是聚合后的一个A类自然网络。

与RIPv2路由协议类似,当开启了 BGP 自动路由聚合功能之后,R2的 GE 0/0/0接口属于10.0.12.0/24网段,自然网络号是10.0.0.0/8,Loopback1属于22.22.22.0/24网段,自然网络号是22.0.0.0/8,两个都是 A 类网络但两个自然网络号不相同。R2的 Loopback 被引入到 BGP 之后,会被通告给R1,由于22.22.22.0/24的自然网络号为22.0.0.0/8,和r2上发送这个更新的物理接口 GE 0/0/0所在的10.0.0.0/8这个自然网络号不同,所以R2位于自然网络的边界,因此当R2将22.22.22.0/24通告给R1时便进行了路由的自动聚合。
自动路由聚合对 IP 地址规划的要求是比较苛刻的,而在 BGP 网络环境中, IP 地址的规划难以做到规整有序,所以在实际项目中,很少启用 BGP 自动路由聚合功能。我们只需要了解, BGP 的自动路由聚合功能开启后,会对哪些 BGP 路由进行自动聚合即可。

 二:BGP手动路由聚合

原理概述:

        BGP 的路由聚合有两种方式,一种是自动路由聚合,一种是手动路由聚合。相对于自动路由聚合来讲,手动路由聚合具有更高的灵活性可控性
        BGP 手动路由聚合时,可以手动控制聚合路由的掩码长度,修改聚合路由属性等。手动路由聚合又有两种方法,一种是配置一条静态路由,然后用 network 命令进行通告;另一种是使用aggregate 命令进行聚合。

       采用第一种方法时,无法对通告的静态路由加以控制,并且明细路由仍然会被通告出去。如要抑制明细路由,则需使用 Route - Policy 来对明细路由进行过滤,实现起来配置命令较多,同时还会丢失明细路由的某些 BGP 属性。
        采用第二种方法时,缺省情况下明细路由和聚合路由也都会被发送出去,但是可以通过关键字对全部或部分明细路由进行抑制,另外还可以对聚合路由的属性进行修改。和第一种方法相比,第二种方法对路由聚合的控制以及对路径选择的控制会更加灵活。

实验目的:

掌握配置 BGP 手动路由聚合的方法
熟悉 aggregate 命令中关键字的作用

实验内容:

实验拓扑如下,R1属于 AS 100,R2属于 AS 200,R3和R4属于AS300,R5和R6属于 AS 400,每台路由器都使用自己的Loopback0接口 IP 地址作为 Router - ID ,并且都使用直连物理接口建立邻居关系,整网运行 BGP 协议。在R5和R6上使用 network 命令通告Loopback1至Loopback7接口所在网络到 BGP 进程中,在R5上用 aggregate 命令聚合这些 Loopback 接口所在网络的路由,在R6上配置一条静态路由,并且使用 network 命令通告这条静态路由来实现路由聚合。实验过程中,在R5上还存在一些具体的路由控制需求,这些需求将采用 aggregate 命令结合一些关键字来实现。

实验拓扑

1.基本配置

根据拓扑图进行相应的基本配置,并使用ping命令检测R1与R2之间的联通性。

其余直连网段的连通性测试过程在此省略。

2.配置BGP路由协议

每台路由器都是用自己的LoopBack 0接口IP地址作为Router-ID,并且使用直连物理接口建立BGP邻居关系。R5和R6的LoopBack 1至LoopBack 7接口所在网络将使用network命令通告到BGP进程中。

[r1]bgp 100
[r1-bgp]router-id 10.0.1.1
[r1-bgp]peer 10.0.12.2 as-number 200
[r1-bgp]peer 10.0.13.3 as-number 300

 

[r2]bgp 200
[r2-bgp]router-id 10.0.2.2
[r2-bgp]peer 10.0.12.1 as-number 100
[r2-bgp]peer 10.0.24.4 as-number 300

 

[r3]bgp 300
[r3-bgp]router-id 10.0.3.3
[r3-bgp]peer 10.0.13.1 as-number 100
[r3-bgp]peer 10.0.34.4 as-number 300
[r3-bgp]peer 10.0.35.5 as-number 400

 

[r4]bgp 300
[r4-bgp]router-id 10.0.4.4
[r4-bgp]peer 10.0.24.2 as-number 100
[r4-bgp]peer 10.0.34.3 as-number 300
[r4-bgp]peer 10.0.46.6 as-number 400

 

[r5]bgp 400
[r5-bgp]router-id 10.0.5.5
[r5-bgp]peer 10.0.35.3 as-number 300
[r5-bgp]peer 10.0.56.6 as-number 400
[r5-bgp]network 172.16.1.0 255.255.255.0
[r5-bgp]network 172.16.2.0 255.255.255.0
[r5-bgp]network 172.16.3.0 255.255.255.0
[r5-bgp]network 172.16.4.0 255.255.255.0
[r5-bgp]network 172.16.5.0 255.255.255.0
[r5-bgp]network 172.16.6.0 255.255.255.0
[r5-bgp]network 172.16.7.0 255.255.255.0

[r6]bgp 400
[r6-bgp]router-id 10.0.6.6
[r6-bgp]peer 10.0.46.4 as-number 300
[r6-bgp]peer 10.0.56.5 as-number 400
[r6-bgp]network 192.168.1.0 255.255.255.0
[r6-bgp]network 192.168.2.0 255.255.255.0
[r6-bgp]network 192.168.3.0 255.255.255.0
[r6-bgp]network 192.168.4.0 255.255.255.0
[r6-bgp]network 192.168.5.0 255.255.255.0
[r6-bgp]network 192.168.6.0 255.255.255.0
[r6-bgp]network 192.168.7.0 255.255.255.0

 

配置完成后,在R1上查看BGP邻居关系。

可以看到,R1与它的所有对等体的邻居关系都已正常建立。

在R1上查看BGP路由表

<r1>display bgp routing-table

 BGP Local router ID is 10.0.1.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 28
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   172.16.1.0/24      10.0.13.3                                      0      300 400i

 *                                 10.0.12.2                                      0      200 300 400 i
 *>   172.16.2.0/24      10.0.13.3                                      0      300 400 i

 *                                 10.0.12.2                                      0       200 300 400 i

 *>   172.16.3.0/24      10.0.13.3                                      0      300 400i

 *                                 10.0.12.2                                      0       200 300 400 i

 *>   172.16.4.0/24      10.0.13.3                                      0       300 400i

 *                                 10.0.12.2                                      0        200 300 400 i

 *>   172.16.5.0/24      10.0.13.3                                      0      300 400i

 *                                 10.0.12.2                                      0       200 300 400 i

 *>   172.16.6.0/24      10.0.13.3                                      0      300 400i

 *                                 10.0.12.2                                      0       200 300 400 i

 *>   172.16.7.0/24      10.0.13.3                                      0      300 400i

 *                                 10.0.12.2                                      0       200 300 400 i
 *>  192.168.1.0/24     10.0.13.3                                      0     300 400 i

 *                                 10.0.12.2                                      0       200 300 400 i

 *>  192.168.2.0/24     10.0.13.3                                     0     300 400 i

 *                                 10.0.12.2                                     0       200 300 400 i

 *>  192.168.3.0/24     10.0.13.3                                     0     300 400 i

 *                                 10.0.12.2                                     0        200 300 400 i

 *> 192.168.4.0/24      10.0.13.3                                     0     300 400 i

 *                                 10.0.12.2                                     0       200 300 400 i

 *> 192.168.5.0/24      10.0.13.3                                     0     300 400 i

 *                                  10.0.12.2                                     0       200 300 400 i

 *>  192.168.6.0/24      10.0.13.3                                     0     300 400 i

 *                                  10.0.12.2                                     0        200 300 400 i

 *>  192.168.7.0/24      10.0.13.3                                     0     300 400 i

 *                                  10.0.12.2                                      0       200 300 400 i

可以看到,R1已经接收到了BGP协议的明细路由。 

在R5上使用ping命令测试R5的LoopBack 1与 R6的LoopBack 1 之间的连通性。

可以看到,通信是正常的。

3.配置BGP路由聚合

上述步骤中,R5和R6的 Loopback 1至 Loopback 7接口所在的网络已经被通告到 BGP 进程中了,并且每台路由器都接收到了R5和R6所通告的明细路由。如果其中某条明细路由出现丢失或震荡的情况,则网络中所有其他路由器都将删除这条路由或发生路由表震荡问题。现在,我们将在R5和R6上配置路由聚合,将这种明细路由的变化隐藏在 AS 内部,不会对其他 AS 产生影响。

在R6上配置静态路由,然后使用 network 命令通告出去。

[r6]ip route-static 192.168.0.0 21 NULL 0
[r6]bgp 400
[r6-bgp]network 192.168.0.0 21

 静态路由指向 NULL 0的目的是防止网络中产生环路,这条静态路由仅仅是用来通告的。

在R5上使用 aggregate 命令进行通告。

[r5]bgp 400
[r5-bgp]aggregate 172.16.0.0 21

使用 aggregate 命令进行聚合,要求 BGP 路由表中至少要存在一条属于聚合后的路由的子网路由,否则聚合不会生效。

在R1上查看BGP路由表。

<r1>display bgp routing-table

 BGP Local router ID is 10.0.1.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 32
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   172.16.0.0/21      10.0.13.3                                      0      300 400i

 *                                 10.0.12.2                                      0      200 300 400 i

 *>   172.16.1.0/21      10.0.13.3                                      0      300 400i

 *                                 10.0.12.2                                      0      200 300 400 i
 *>   172.16.2.0/24      10.0.13.3                                      0      300 400 i

 *                                 10.0.12.2                                      0       200 300 400 i

 *>   172.16.3.0/24      10.0.13.3                                      0      300 400i

 *                                 10.0.12.2                                      0       200 300 400 i

 *>   172.16.4.0/24      10.0.13.3                                      0       300 400i

 *                                 10.0.12.2                                      0       200 300 400 i

 *>   172.16.5.0/24      10.0.13.3                                      0       300 400i

 *                                 10.0.12.2                                      0       200 300 400 i

 *>   172.16.6.0/24      10.0.13.3                                      0       300 400i

 *                                 10.0.12.2                                      0       200 300 400 i

 *>   172.16.7.0/24      10.0.13.3                                      0       300 400i

 *                                 10.0.12.2                                      0       200 300 400 i

 *>  192.168.0.0/21     10.0.13.3                                      0       300 400 i

 *                                 10.0.12.2                                      0       200 300 400 i
 *>  192.168.1.0/24     10.0.13.3                                      0       300 400 i

 *                                 10.0.12.2                                      0       200 300 400 i

 *>  192.168.2.0/24     10.0.13.3                                      0        300 400 i

 *                                 10.0.12.2                                      0        200 300 400 i

 *>  192.168.3.0/24     10.0.13.3                                      0        300 400 i

 *                                 10.0.12.2                                      0        200 300 400 i

 *> 192.168.4.0/24      10.0.13.3                                      0        300 400 i

 *                                 10.0.12.2                                      0        200 300 400 i

 *> 192.168.5.0/24      10.0.13.3                                      0        300 400 i

 *                                  10.0.12.2                                     0       200 300 400 i

 *>  192.168.6.0/24      10.0.13.3                                     0       300 400 i

 *                                  10.0.12.2                                     0       200 300 400 i

 *>  192.168.7.0/24      10.0.13.3                                     0       300 400 i

 *                                  10.0.12.2                                     0       200 300 400 i

可以看到, RI 的 BGP 路由表中虽然包含了聚合后的路由,但同时还包含有每个明细路由条目。若R5或R6的明细路由发生丢失或震荡,依然会导致路由表的波动,并没有解决路由不稳定的问题。 

4.使用No-Advertise 关键字控制路由聚合

       上述步骤中虽然配置了路由聚合,但明细路由还是被通告出去了。R6上使用了 network 通告静态路由的聚合方法,若想抑制明细路由,则需要配合使用 Route - Policy 来实现对明细路由的抑制。如果被抑制明细路由的数量比较多时,配置工作量就会比较大,而且维护起来不太方便,这种方法的扩展性和可维护性都比较差。
       使用 Aggregate 命令的方法时,默认情况下也不会抑制明细路由,明细路由和聚合路由都将被发布出去。但是,这种特性在某些情况下也是有利的。例如,如果要求R5、R6将自己的明细路由以及聚合路由都通告给AS300的路由器,即R3和R4,但是R3和R4只能将聚合路由通告给 AS 100的路由器R1和 AS 200的路由器R2时,网络管理员只需要在R5、R6上发布明细路由时给路由添加 No - Advertise 团体属性。
        在R5、R6上使用前缀列表和 Route - Policy 给这些明细路由添加 No - Advertise 团体属性,并通告给R3、R4。

[r5]ip ip-prefix no-adver permit 172.16.1.0 24
[r5]ip ip-prefix no-adver permit 172.16.2.0 24
[r5]ip ip-prefix no-adver permit 172.16.3.0 24
[r5]ip ip-prefix no-adver permit 172.16.4.0 24
[r5]ip ip-prefix no-adver permit 172.16.5.0 24
[r5]ip ip-prefix no-adver permit 172.16.6.0 24
[r5]ip ip-prefix no-adver permit 172.16.7.0 24
[r5]ip ip-prefix no-adver permit 192.168.1.0 24
[r5]ip ip-prefix no-adver permit 192.168.2.0 24
[r5]ip ip-prefix no-adver permit 192.168.3.0 24
[r5]ip ip-prefix no-adver permit 192.168.4.0 24
[r5]ip ip-prefix no-adver permit 192.168.5.0 24
[r5]ip ip-prefix no-adver permit 192.168.6.0 24
[r5]ip ip-prefix no-adver permit 192.168.7.0 24
[r5-bgp]route-policy no-adver permit node 10
[r5-route-policy]if-match ip-prefix no-adver
[r5-route-policy]apply community no-advertise
[r5-route-policy]route-policy no-adver permit node 20
[r5-route-policy]bgp 400
[r5-bgp]peer 10.0.35.3 route-policy no-adver export
[r5-bgp]peer 10.0.35.3 advertise-cummunity
 

[r6]ip ip-prefix no-adver permit 192.168.1.0 24
[r6]ip ip-prefix no-adver permit 192.168.2.0 24
[r6]ip ip-prefix no-adver permit 192.168.3.0 24
[r6]ip ip-prefix no-adver permit 192.168.4.0 24
[r6]ip ip-prefix no-adver permit 192.168.5.0 24
[r6]ip ip-prefix no-adver permit 192.168.6.0 24
[r6]ip ip-prefix no-adver permit 192.168.7.0 24
[r6]ip ip-prefix no-adver permit 172.16.1.0 24
[r6]ip ip-prefix no-adver permit 172.16.2.0 24
[r6]ip ip-prefix no-adver permit 172.16.3.0 24
[r6]ip ip-prefix no-adver permit 172.16.4.0 24
[r6]ip ip-prefix no-adver permit 172.16.5.0 24
[r6]ip ip-prefix no-adver permit 172.16.6.0 24
[r6]ip ip-prefix no-adver permit 172.16.7.0 24
[r6]route-policy no-adver permit node 10
[r6-route-policy]if-match ip-prefix no-adver
[r6-route-policy]apply community no-advertise
[r6-route-policy]route-policy no-adver permit node 20
[r6-route-policy]bgp 400
[r6-bgp]peer 10.0.46.4 route-policy no-adver export
[r6-bgp]peer 10.0.46.4 advertise-cummunity

peer ×. ×. ×. ×.  advertise-community命令是为了将团体属性传递给任何对等体(组),缺省情况下是不传递的。

配置完成后,可在R1、R2、R3、R4上查看BGP路由表,下面仅以R1、R3为例。

<r1>display bgp routing-table

 BGP Local router ID is 10.0.1.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 4
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   172.16.0.0/21      10.0.13.3                                      0      300 400i

 *                                 10.0.12.2                                      0      200 300 400 i

 *>   192.168.0.0/21    10.0.13.3                                      0      300 400i

 *                                 10.0.12.2                                      0      200 300 400 i

<r3>display bgp routing-table

 BGP Local router ID is 10.0.3.3
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 18
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   172.16.0.0/21      10.0.35.5                                      0      400i

    i                               10.0.46.6                       100         0      400i
 *>   172.16.1.0/24      10.0.35.5     0                                  0      400i
 *>   172.16.2.0/24      10.0.35.5     0                                  0      400i
 *>   172.16.3.0/24      10.0.35.5     0                                   0      400i
 *>   172.16.4.0/24      10.0.35.5     0                                   0      400i
 *>   172.16.5.0/24      10.0.35.5     0                                     0      400i
 *>   172.16.6.0/24      10.0.35.5     0                                     0      400i
 *>   172.16.7.0/24      10.0.35.5     0                                    0      400i
 *>   192.168.0.0/21     10.0.35.5                                         0      400i

   i                                 10.0.46.6     0                 100           0       400i
 *>   192.168.1.0        10.0.35.5                                          0      400i
 *>   192.168.2.0        10.0.35.5                                          0      400i
 *>   192.168.3.0        10.0.35.5                                           0      400i
 *>   192.168.4.0        10.0.35.5                                          0      400i
 *>   192.168.5.0        10.0.35.5                                          0      400i
 *>   192.168.6.0        10.0.35.5                                         0      400i
 *>   192.168.7.0        10.0.35.5                                          0      400i

可以看到,R1接收到了聚合路由,但R3既接收到了聚合路由也接收到了明细路由。

添加No-Advertise团体属性是通过路由策略告知对等体的,不要将这些明细路由通告给其他任何BGP对等体。 

5.使用Detail-Suppressed 关键字控制路由聚合

网络管理员还可以利用aggregate命令结合使用Detail-Suppressed关键字来实现对明细路由的抑制,只将聚合后的路由发送出去。

[r5]bgp 400
[r5-bgp]aggregate 172.16.0.0 255.255.248.0 detail-suppressed

配置完成后,可以在R1、R2、R3、R4、R6上查看BGP路由表,下面仅以R1、R3、R6为例。

<r1>display bgp routing-table

 BGP Local router ID is 10.0.1.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 4
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   172.16.0.0/21      10.0.13.3                                      0      300 400i

 *                                 10.0.12.2                                      0      200 300 400 i

 *>   192.168.0.0/21    10.0.13.3                                      0      300 400i

 *                                 10.0.12.2                                      0      200 300 400 i

<r3>display bgp routing-table

 BGP Local router ID is 10.0.3.3
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 11
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   172.16.0.0/21      10.0.35.5                                      0      400i

   i                                10.0.46.6                                      0      400 i

 *>   192.168.0.0/21    10.0.35.5                                      0      400i

 ......                             

<r6>display bgp routing-table

 BGP Local router ID is 10.0.6.6 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 9
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  172.16.0.0/21      10.0.56.5                  100        0      i
 *>   192.168.0.0/21        0.0.0.0         0                     0      i
 ......

可以看到,R1,R3,R6只接收到R5通告的聚合路由,没有接收到明细路由。

6.使用Suppress-Policy关键字控制路由聚合

Aggregate 命令支持抑制全部明细路由,也可以支持仅抑制部分明细路由。如果需要R5将172.16.2.0/24、172.16.4.0/24、172.16.6.0/24这几条明细路由进行抑制,而将其他的明细路由和聚合路由通告出去,则网络管理员可以通过使用 Suppress - Policy 关键字配合 Route - Policy 来实现。前缀列表用来匹配哪些路由需要被抑制, Route - Policy 用来调用前缀列表,配合 Suppress - Policy 实现最终需求。

[R5] ip ip-prefix sup_policy permit 172.16.2.0 24
[R5]ip ip-prefix sup_policy permit 172.16.4.0 24
[R5] ip ip-prefix sup_policy permit 172.16.6.0 24
[R5] route-policy sup_policy permit node 10
[R5- route - policy ] if-match ip-prefix sup_policy 
[R5- route - policy ] bgp 400
[R5- bgp ] undo peer 10.0.35.3 route-policy no-adver export 
[R5- bgp ] aggregate 172.16.0.021 suppress-policy sup_policy 

配置完成后,可在R1、R2、R3、R4、R6上查看 BGP 路由表,下面仅以R1、R3、R6为例。 

<r1>display bgp routing-table

 BGP Local router ID is 10.0.1.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 13
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   172.16.0.0/21      10.0.13.3                                      0      300 400i

 *                                 10.0.12.2                                      0      200 300 400 i

 *>   172.16.1.0/21      10.0.13.3                                      0      300 400i

 *>   172.16.3.0/24      10.0.13.3                                      0      300 400i

 *>   172.16.5.0/24      10.0.13.3                                      0      300 400i

 *>   172.16.7.0/24      10.0.13.3                                      0      300 400i

 *>  192.168.0.0/21     10.0.13.3                                      0      300 400 i

......

<r3>display bgp routing-table

 BGP Local router ID is 10.0.3.3
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 15
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   172.16.0.0/21      10.0.35.5                                      0      400i

   i                                10.0.46.6                   100             0      400i

 *>   172.16.1.0/21      10.0.35.5       0                             0      400i
 *>   172.16.3.0/21      10.0.35.5       0                             0      400i

 *>   172.16.5.0/21      10.0.35.5       0                             0      400i

 *>   172.16.7.0/21      10.0.35.5       0                             0      400i

*>   192.168.0.0/21    10.0.35.5       0                              0      400i

<r6>display bgp routing-table

 BGP Local router ID is 10.0.6.6 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 13
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  172.16.0.0/21      10.0.56.5                  100              0      i
 *>   172.16.1.0        0.0.0.0         0               100             0      i
 *>   172.16.3.0        0.0.0.0         0                100            0      i
 *>   172.16.5.0        0.0.0.0         0                100             0      i
 *>  172.16.7.0        0.0.0.0         0                  100            0      i

 *>   192.168.0.0        0.0.0.0         0                                  0      i

 ......

可以看到,R1、R3、R6的 BGP 表中都没有172.16.2.0/24、172.16.4.0/24、172.16.6.0/24
这几条被抑制了的明细路由。 

7.使用Attribute-Policy关键字控制路由聚合

关键字 Attribute - Policy 可用来设置聚合路由的属性。例如,在上述步骤中,R5通告的是属性没有经过任何修改的路由,其聚合路由的 Origin 属性是 i 。现在,通过 Attribute - Policy 将聚合路由的属性修改成 Incomplete ,在 BGP 路由表中显示为"?"。

[r1]route-policy att_policy permit node 10
[r1-route-policy]apply origin incomplete
[r1-route-policy]bgp 400
[r1]aggregate 172.16.0.0 255.255.248.0 attribute-policy att_policy

配置完成后,在R1上查看BGP路由表

<r1>display bgp routing-table

 BGP Local router ID is 10.0.1.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 4
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   172.16.0.0/21      10.0.13.3                                      0      300 400?

 *                                 10.0.12.2                                      0      200 300 400 ?

 *>   192.168.0.0/21    10.0.13.3                                      0      300 400i

......

可以看到,R1的BGP路由表中的聚合路由的origin属性变成了“?”。

  • 31
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值