首页 > 编程学习 > BGP 路由策略-路由汇总基础及其应用

BGP 路由策略-路由汇总基础及其应用

发布时间:2022/1/17 12:24:13

说明:该笔记作用于 BGP 的路由策略中的路由汇总讲解于应用,其携带命令参考

参考视频:红茶三杯

前置

路由策略知识点总共包含如下:

  • BGP 路由汇总

  • 正则表达式

  • 通过 community 操控路由

  • Prefix-list 前缀列表

  • distribute-list 分发列表

  • Route-map

  • 条件通告

  • ORF

以上加粗为新知识

BGP 自动汇总


我们在 RIP 和 EIGRP 中会观察到,二者都会开启路由自动汇总的功能,那么该功能只要开启,IGP 路由就会自动去汇总路由,但是在 BGP 中却不是这样。

1:若 R1 开启 auto-summary,并使用重发布直连的方式引入 1.1.1.0/24,则该子网会被汇总

2:若 R1 开启 auto-summary,且使用 network 1.1.1.0 mask 255.255.255.0,该路由仍以明细更新

3:若 R1 开启 auto-summary,且 network 1.0.0.0 mask 255.0.0.0 ,则该子网会被汇总

第三个宣告方式为有类宣告

总结:BGP 自动汇总 auto-summary ,只汇总重发布引入的路由,以及使用 network 命令有类宣告方式引入的路由,Cisco 默认关闭自动汇总

BGP 手工汇总 🔺


该汇总特性是 BGP 的一大特点

我们可以看到,手工汇总基本由 aggregate 属性来完成

其后面仍然有许多的关键字,可见手工汇总,也是一大 BGP 亮点

topo 图参考

1:默认手工汇总

 Router(config)# aggregate-address 192.168.0.0 255.255.255.0

该手工汇总操作于 R3

命令执行结果

 !! R3 结果
 
 !! 在 R3 上操作该命令后,可以观察到,R3 本地生成一条汇总,同时传递给 R4,'明细也同时传递'
 
 R4#show ip bgp
 BGP table version is 10, local router ID is 30.1.1.2
 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
               r RIB-failure, S Stale
 Origin codes: i - IGP, e - EGP, ? - incomplete
 
    Network          Next Hop            Metric LocPrf Weight Path
 *> 192.168.0.0/16   30.1.1.1                 0             0 300 i
 *> 192.168.1.0      30.1.1.1                               0 300 100 i
 *> 192.168.2.0      30.1.1.1                               0 300 100 i
 *> 192.168.3.0      30.1.1.1                               0 300 200 i
 *> 192.168.4.0      30.1.1.1                               0 300 200 i

2:summary-only 关键字 🔺

 Router(config)# aggregate-address 192.168.0.0 255.255.255.0 summary-only

如果键入该关键字,则抑制本地明细路由,发布该相关汇总路由

命令执行结果

 !! 该命令操作于 R3
 !! 在 R3 上可以看到,该其他相关明细路由被抑制,汇总被发布
 
 R3#show ip bgp
 BGP table version is 16, local router ID is 30.1.1.1
 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
               r RIB-failure, S Stale
 Origin codes: i - IGP, e - EGP, ? - incomplete
 
    Network          Next Hop            Metric LocPrf Weight Path
 '*> 192.168.0.0/16   0.0.0.0                           32768 i'
 s> 192.168.1.0      10.1.1.1                 0             0 100 i
 s> 192.168.2.0      10.1.1.1                 0             0 100 i
 s> 192.168.3.0      20.1.1.1                 0             0 200 i
 s> 192.168.4.0      20.1.1.1                 0             0 200 i
 -------------------------------------------------------------------------------------
 
 !! 观察 R4 ,就只传递一条汇总路由给予 R4,减少了路由条目
 
 R4#show ip bgp
 BGP table version is 16, local router ID is 30.1.1.2
 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
               r RIB-failure, S Stale
 Origin codes: i - IGP, e - EGP, ? - incomplete
 
    Network          Next Hop            Metric LocPrf Weight Path
 '*> 192.168.0.0/16   30.1.1.1                 0             0 300'
 -------------------------------------------------------------------------------------
 !! '再观察明细,可以发现该汇总路由的 AS 与 AS IP,以及 AS-path 为 300,丢失 AS-path 100'
 
 R4#show ip bgp 192.168.0.0
 
 BGP routing table entry for 192.168.0.0/16, version 12
 Paths: (1 available, best #1, table Default-IP-Routing-Table)
   Not advertised to any peer
   300, (aggregated by 300 30.1.1.1)
     30.1.1.1 from 30.1.1.1 (30.1.1.1)
       Origin IGP, metric 0, localpref 100, valid, external, atomic-aggregate, best

但是如果这样操作汇总路由,也会存在一些隐患,会使得该汇总路由丢失一些 AS-path 路径属性,若 R4 与 R1 成立 EBGP Peer 关系,则会造成 R1 的本地路由环路

3:summary-only as-set 🔺

如果键入该 as-set 关键字,则会发布一条携带 AS-set 的无序 as-path,使得该手工汇总路由,携带一些公认必遵属性,并且不丢失重要属性去传递

 !! 操作在 R3 上
 R3(config-router)#aggregate-address 192.168.0.0 255.255.0.0 summary-only as-set
 -------------------------------------------------------------------------------------
 
 !! 观察 R4 路由表变化
 
 R4#show ip bgp
 BGP table version is 17, local router ID is 30.1.1.2
 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
               r RIB-failure, S Stale
 Origin codes: i - IGP, e - EGP, ? - incomplete
 
    Network          Next Hop            Metric LocPrf Weight Path
 '*> 192.168.0.0/16   30.1.1.1                 0             0 300 {100,200} i'

其他参考:

4:suppress-map

通过上面的理解,我们使用 summary-only,抑制了所有的明细

同时使用了 AS-set 关键字来防止丢失 AS-path 必遵属性

那么如果我想要抑制特定的明细,同时放行汇总和一些我们想要的明细,该如何去做呢?

这个时候,就使用到了一个 route-map 相关参数 suppress [抑制] 来关联 aggregate [汇总合]

1:该参数与我们所使用的 route-map 完全相反

2:该参数被我该 route-map 所 Permit 匹配的路由将会被抑制,而被 deny 将被放行

注意点:在使用该参数时,设置 route-map 的时候只能 match 不能 set

参考图如下:

5:unsuppress-map

如果你希望给部分的 BGP 邻居,只传递汇总路由,同时对另外一部分特定的 BGP 邻居,我传递汇总路由和明细

即针对特定邻居取消抑制 suppress

参考图如下:

6:advertise-map

advertise 宣告,告知

该告知策略,可以通告来排除一些被禁止传播的属性,使得该路由可传递

假设在 R1 上我们携带了一个 community 可选传递值为no-advertise

注:关于 community 的 no-advertise 值,如果携带该参数,则将不会再传播给任何 BGP 邻居,包括 IBGP 邻居以及联邦的 IBGP 邻居

如果该路由更新给 R3 的时候设置了 AS-set 关键字,R3 将不会再传播给任何 BGP 邻居,因为 R3 会因为 AS-set 关键字去继承该 community 属性

别忘了,我们这里仍然属于手工汇总属性讲解中

所以如果我们在 R3 上使用手工汇总,则会继承该明细 community 值,那么它将不会传播任何 BGP 邻居

1:该汇总路由只会继承该两条明细路由的属性

2:只要该两条明细,有一条存活,那么该汇总路由就一直存在,除非两条都 down,汇总路由才会消失

参考图如下:

7:attribute-map 🔺

该参数理解比较简单,attribute-map 是直接操作汇总路由的属性

参考图如下:

哔哩哔哩:深蓝网络安全

微信公众号:深蓝网络安全

如无特别声明,该文章均为 深蓝网络安全原创,转载请遵循 署名 -非商业性使用 4.0 国际 ( CC BY-NC 4.0) 协议,即转载请注明文章来源

Copyright © 2010-2022 ngui.cc 版权所有 |关于我们| 联系方式| 豫B2-20100000