BGP聚合(手动 自动)

原理概述
在大型网络中,路由条目通常多达成千上万条,甚至几十万条,这给路由设备带来的挑战是:如何存储并有效管理如此众多的路由信息?
BGP是一种无类路由协议,支持CIDR、VLSM ( Variable Length Sub-network Mask)和路由聚合。路由聚合技术的使用,可以在一定程度上缩减路由条目的数量,同时还可以减轻路由震荡导致的网络不稳定的问题。BGP的路由聚合有两种方式,一种是自动路由聚合,一种是手动路由聚合。
自动路由聚合是在自然网络边界路由器上自动执行的。在默认情况下,BGP的自动路由聚合功能是关闭的,并且BGP不会自动聚合BGP邻居发送的路由以及使用network命令通告的路由。
使用BGP自动路由聚合时,需要进行严谨的IP地址规划。在一个地址规划杂乱无序的网络中,自动路由聚合可能会产生许多意想不到的问题。例如,在采用不连续子网规划的网络中,自动路由聚合可能会导致报文转发出现选路问题,或者是产生路由环路。

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

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

掌握配置BGP手动路由聚合的方法

熟悉 aggregate命令中关键字的作用

实验内容

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

 

1、基本配置
R1:
sys
sysname R1
int loop 0
ip add 10.0.1.1 32
int g0/0/0
ip add 10.0.12.1 24
int g0/0/1
ip add 10.0.13.1 24
q
bgp 100
 router-id 10.0.1.1
 peer 1.0.13.3 as-number 300
 peer 10.0.12.2 as-number 200

R2:
sys
sysname R2
int loop 0
ip add 10.0.2.2 32
int loop 1
ip add 22.22.22.22 24
int g0/0/0
ip add 10.0.12.2 24
q
bgp 200
 router-id 10.0.2.2
 peer 10.0.12.1 as-number 100

R3:
sys
sysname R3
int loop 0
ip add 10.0.3.3 32
int loop 1
ip add 33.33.33.33 24
int g0/0/1
ip add 10.0.13.3 24
q
bgp 300
 router-id 10.0.3.3
 peer 10.0.13.1 as-number 100

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

ipv4-family unicast

summary automatic 

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

 

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

 

可以看到,在R1和R3的BGP路由表中,都出现了22.0.0.0,且没有显示掩码信息,这正是聚合后的一个A类自然网络。
与RIPv2路由协议类似,当开启了BGP自动路由聚合功能之后,R2的GE O/0/0接口属于10.0.12.0/24网段,自然网络号是10.0.0.0/8,Loopback 1属于22.22.22.0/24网段,自然网络号是22.0.0.0/8,两个都是A类网络,但两个自然网络号不相同。R2的 Loopback 1被引入到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手动路由聚合时,可以手动控制聚合路由的掩码长度,修改聚合路由属性等。手动路由聚合又有两种方法,一种是配置一条静态路由,然后用network 命令进行通告;另一种是使用aggregate命令进行聚合。
采用第一种方法时,无法对通告的静态路由加以控制,并且明细路由仍然会被通告出去。如要抑制明细路由,则需使用Route-Policy来对明细路由进行过滤,实现起来配
置命令较多,同时还会丢失明细路由的某些BGP属性。
采用第二种方法时,缺省情况下明细路由和聚合路由也都会被发送出去,但是可以通过关键字对全部或部分明细路由进行抑制,另外还可以对聚合路由的属性进行修改。和第一种方法相比,第二种方法对路由聚合的控制以及对路径选择的控制会更加灵活。

r2:
interface LoopBack2
 ip address 172.16.1.1 255.255.255.0
#
interface LoopBack3
 ip address 172.16.2.1 255.255.255.0
#
interface LoopBack4
 ip address 172.16.3.1 255.255.255.0
#
interface LoopBack5
 ip address 172.16.4.1 255.255.255.0
#
interface LoopBack6
 ip address 172.16.5.1 255.255.255.0
#
interface LoopBack7
 ip address 172.16.6.1 255.255.255.0
#
bgp 200
 router-id 10.0.2.2
 peer 10.0.12.1 as-number 100
 #
 ipv4-family unicast
  undo synchronization
  network 172.16.1.0 255.255.255.0
  network 172.16.2.0 255.255.255.0
  network 172.16.3.0 255.255.255.0
  network 172.16.4.0 255.255.255.0
  network 172.16.5.0 255.255.255.0
  network 172.16.6.0 255.255.255.0
  peer 10.0.12.1 enable
r3:
interface LoopBack2
 ip address 192.168.1.1 255.255.255.0
#
interface LoopBack3
 ip address 192.168.2.1 255.255.255.0
#
interface LoopBack4
 ip address 192.168.3.1 255.255.255.0
#
interface LoopBack5
 ip address 192.168.4.1 255.255.255.0
#
interface LoopBack6
 ip address 192.168.5.1 255.255.255.0
#
interface LoopBack7
 ip address 192.168.6.1 255.255.255.0
bgp 300
 router-id 10.0.3.3
 peer 10.0.13.1 as-number 100
 #
 ipv4-family unicast
  undo synchronization
  network 33.33.33.0 255.255.255.0
  network 192.168.1.0
  network 192.168.2.0
  network 192.168.3.0
  network 192.168.4.0
  network 192.168.5.0
  network 192.168.6.0
  peer 10.0.13.1 enable

 

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

r3:
ip route-static 192.168.0.0 255.255.248.0 NULL0
  network 192.168.0.0 255.255.248.0
r2:
bgp 300
  aggregate 172.16.0.0 255.255.248.0

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

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


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值