BGP边界网关协议(Border Gateway Protocol)路由聚合详解

一、路由聚合

1、意义

在大规模的网络中,BGP路由表十分庞大,给设备造成了很大的负担,同时使发生路由振荡的几率也大大增加,影响网络的稳定性。

路由聚合是将多条路由合并的机制,它通过只向对等体发送聚合后的路由而不发送所有的具体路由的方法,减小路由表的规模。并且被聚合的路由如果发生路由振荡,也不再对网络造成影响,从而提高了网络的稳定性。

BGP在IPv4网络中支持自动聚合和手动聚合两种方式,而IPv6网络中仅支持手动聚合方式

二、路由聚合的方式

1、Network

改变引入路由条目的掩码,通过手动配置静态Null0路由来达到防环的目的

1)基础接口配置

复制代码
#
interface LoopBack12
 ip address 1.1.12.1 255.255.255.0
#
interface LoopBack13
 ip address 1.1.13.1 255.255.255.0
#
interface LoopBack14
 ip address 1.1.14.1 255.255.255.0
#
interface LoopBack15
 ip address 1.1.15.1 255.255.255.0
#
ip route-static 1.1.12.0 22 NULL 0
#
bgp 1
 #
 ipv4-family unicast
  network 1.1.12.0 255.255.252.0
#

2)优点

该方式相对稳定,即使明细路由丢失,也不会引起路由收敛震荡,导致的拓扑变更。

一般建议配置在始发的AS路由器上。

3)路由表项

复制代码
<AR2>dis bgp routing-table

 BGP Local router ID is 2.2.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: 3
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   1.1.12.0/22        10.1.123.1      0                     0      1i
 * i                     10.1.1.1        0          100        0      1i
<AR2>ping 1.1.12.1
  PING 1.1.12.1: 56  data bytes, press CTRL_C to break
    Reply from 1.1.12.1: bytes=56 Sequence=1 ttl=255 time=50 ms
    Reply from 1.1.12.1: bytes=56 Sequence=2 ttl=255 time=60 ms
    Reply from 1.1.12.1: bytes=56 Sequence=3 ttl=255 time=40 ms

  --- 1.1.12.1 ping statistics ---
    3 packet(s) transmitted
    3 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 40/50/60 ms

<AR2>dis bgp routing-table 1.1.12.0

 BGP local router ID : 2.2.2.2
 Local AS number : 235
 Paths:   2 available, 1 best, 1 select
 BGP routing table entry information of 1.1.12.0/22:
 From: 10.1.123.1 (1.1.1.1)
 Route Duration: 00h02m22s
 Direct Out-interface: GigabitEthernet0/0/0
 Original nexthop: 10.1.123.1
 Qos information : 0x0
 AS-path 1, origin igp, MED 0, pref-val 0, valid, external, best, select, active, pre 255
 Advertised to such 2 peers:
    10.1.5.5
    10.1.3.3
 BGP routing table entry information of 1.1.12.0/22:
 From: 10.1.3.3 (3.3.3.3)
 Route Duration: 00h02m21s
 Relay IP Nexthop: 10.1.123.1
 Relay IP Out-Interface: GigabitEthernet0/0/0
 Original nexthop: 10.1.1.1
 Qos information : 0x0
 AS-path 1, origin igp, MED 0, localpref 100, pref-val 0, valid, internal, pre 255, IGP cost 1, not preferred for peer type
 Not advertised to any peer yet

<AR2>

2、自动聚合

1)基本配置

复制代码
接口ip地址复用
#
bgp 1
 #
 ipv4-family unicast
  summary automatic
  import-route direct route-policy sum
#
route-policy sum permit node 10
 if-match interface LoopBack12
 if-match interface LoopBack13
 if-match interface LoopBack14
 if-match interface LoopBack15
#
route-policy sum deny node 20
#

2)路由表项

下图可知,当配置自动聚合后会所有聚合路由所覆盖的明细路由均被抑制(s),且自动聚合掩码较大(当前路由表为8位),不够精确,且产生的为主类路由

复制代码
[AR1]dis bgp routing-table

 BGP Local router ID is 1.1.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: 7
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   1.0.0.0            127.0.0.1                             0      ?
 s>   1.1.12.0/24        0.0.0.0         0                     0      ?
 s>   1.1.13.0/24        0.0.0.0         0                     0      ?
 s>   1.1.14.0/24        0.0.0.0         0                     0      ?
 s>   1.1.15.0/24        0.0.0.0         0                     0      ?
 *>   55.5.5.0/24        10.1.123.2                            0      235?
 *                       10.1.3.3                              0      235?
[AR1]

自动路由聚合会默认生成一条Null0路由,无需手动配置

复制代码
[AR1]dis ip routing-table 1.0.0.0
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Table : Public
Summary Count : 1
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

        1.0.0.0/8   IBGP    255  0           D   127.0.0.1       NULL0

[AR1]

自动聚合路由为本地始发路由,会携带local属性,

携带local属性的路由有

(1)network引入的路由

(2)import-route引入的路由

(3)自动聚合产生的主类路由

3、手动聚合

1)基本配置

在自动聚合的基础上只使用路由策略引入相关路由信息,不配置自动聚合命令

复制代码
#
bgp 1
 router-id 1.1.1.1
#
 ipv4-family unicast
  import-route direct route-policy ar1-ar2-ex
  peer 10.1.123.2 route-policy ar1-ar2-ex export
#
Basic ACL 2012, 1 rule
Acl's step is 5
 rule 5 permit source 1.1.12.0 0

Basic ACL 2013, 1 rule
Acl's step is 5
 rule 5 permit source 1.1.13.0 0

Basic ACL 2014, 1 rule
Acl's step is 5
 rule 5 permit source 1.1.14.0 0

Basic ACL 2015, 1 rule
Acl's step is 5
 rule 5 permit source 1.1.15.0 0
#
route-policy ar1-ar2-ex permit node 10
 if-match acl 2012
 apply as-path 12 additive
#
route-policy ar1-ar2-ex permit node 20
 if-match acl 2013
 apply as-path 13 additive
#
route-policy ar1-ar2-ex permit node 30
 if-match acl 2014
 apply as-path 14 additive
#
route-policy ar1-ar2-ex permit node 40
 if-match acl 2015
 apply as-path 15 additive
#
route-policy ar1-ar2-ex deny node 50
#

2)配置手动聚合

在路由方向的入向设备侧配置该命令

复制代码
#
bgp 235
 router-id 2.2.2.2
 #
 ipv4-family unicast
  aggregate 1.1.12.0 255.255.252.0
#

聚合路由为本地始发路由信息,携带local属性,并标注为聚合路由进行发送

手动配置聚合路由默认生成NULL0防环路由信息

3)特点

手动聚合路由相比于自动聚合,更加精确

会自动产生一条指向null0的防环路由信息

手动聚合产生的路由信息会携带aggregator(聚合者)信息,并标识路由聚合者所在的AS号及路由器的Route-id

携带local属性的路由有

(1)network引入的路由

(2)import-route引入的路由

(3)自动聚合产生的主类路由

(4)手动聚合产生的聚合路由

4、路由集合等级

手动聚合>自动聚合>network>import

三、手动聚合缺陷及解决措施

为了避免路由聚合可能引起的路由环路,BGP设计了AS_Set属性。AS_Set属性是一种无序的AS_Path属性,标明聚合路由所经过的AS号。当聚合路由重新进入AS_Set属性中列出的任何一个AS时,BGP将会检测到自己的AS号在聚合路由的AS_Set属性中,于是会丢弃该聚合路由,从而避免了路由环路的形成。

1、手动聚合缺陷

手动聚合默认不抑制明细路由,因为集合可能产生次优路径,明细路由确保走最优路径,此时聚合路由只做冗余备份使用

因为聚合路由为始发路由,不在携带明细的as-path号,所以可能产生路由回灌问题

2、抑制明细发汇总

可以通过做聚合路由的始发路由器上配置detail-suppressed(指定仅通告聚合路由)来实现抑制明细路由的发送,走汇总路由

复制代码
#
bgp 235
 router-id 2.2.2.2
 #
 ipv4-family unicast
  aggregate 1.1.12.0 255.255.252.0 detail-suppressed
#

3、聚合路由继承明细as-path(AS-SET)

通过在聚合路由器上配置detail-suppressed AS-SET 来使得聚合路由继承明细的as-path号,防止路由回灌

复制代码
#
bgp 235
 router-id 2.2.2.2
 #
 ipv4-family unicast
  aggregate 1.1.12.0 255.255.252.0 as-set detail-suppressed
#

4、AS-path的表现形式

(1)AS_SEQ(as的序列号)

(2)AS_SET(手工聚合路由通过{}括号将明细的as号进行汇总携带到汇总中)

(3)AS_confed_SEQ(as-path联邦的序列号,通过()括号进行汇总)

联邦AS本区域的AS内生效,对外仍未一个AS号

(4)AS_confed_SET(单独的联邦AS号)

5、有选择的泄露明细路由(suppress-policy

相关推荐
Cynthia的梦3 分钟前
Linux学习-Linux进程间通信(IPC)聊天程序实践指南
linux·运维·学习
卡戎-caryon9 分钟前
【Linux网络与网络编程】03.UDP Socket编程
linux·服务器·网络·笔记·单例模式·udp·网络通信
張萠飛25 分钟前
Linux的TCP连接数到达2万,其中tcp_tw、tcp_alloc、tcp_inuse都很高,可能出现什么问题
linux·网络·tcp/ip
神秘的t1 小时前
javaSE————网络原理
java·网络
莲动渔舟1 小时前
Nyquist插件基础:LISP语法-自定义函数
服务器·开发语言·lisp·音频处理·audacity
敲上瘾1 小时前
高并发内存池(二):Central Cache的实现
linux·服务器·c++·缓存·哈希算法
EasyNVR2 小时前
视频分析设备平台EasyCVR视频结构化AI智能分析:筑牢校园阳光考场远程监控网
网络·音视频
iOS技术狂热者2 小时前
Flutter 音视频播放器与弹幕系统开发实践
websocket·网络协议·tcp/ip·http·网络安全·https·udp
安顾里2 小时前
Linux命令-tar
linux·运维·服务器
jinan8862 小时前
企业的移动终端安全怎么管理?
大数据·网络·安全·数据分析·开源软件