Linuxword Global
当前位置: 通信协议 > Cisco BGP-4 命令与配置手册

1-1 aggregate-address address mask

Cisco BGP-4 命令与配置手册
语法描述:

address:聚合路由的IP地址。

mask:聚合路由的掩码。

用途:在BGP表中创建聚合路由。只有当BGP表中存在待创建聚合路由的明细路由时,才能创建出相应的聚合路由。这种形式的aggregate-address命令,在通告聚合路由的同时,还会通告构成该聚合路由的所有明细路由。

Cisco IOS软件版本:10.0

1.1.1 配置案例1:聚合本路由器生成的路由

在本例中,我们会演示聚合源自本机(本BGP路由器)的路由(locally sourced routes)。如图1-1所示,路由器B将聚合172.16.0.X~172.16.3.X这4个网络。

 

24f864ae888ce77ea2daa81e09bd4108bd8c2ea7

路由器B上已经创建好了4个loopback接口,用来模拟路由器本机生成的路由,这也是本例需要聚合的路由。仅当BGP表中至少存在一条聚合路由的明细路由时,BGP路由器才会通告聚合路由。为了将聚合路由的明细路由置入BGP路由表,必须在路由器B上配置BGP network命令。在聚合由loopback接口所生成的前缀之前,还需在路由器A和B上验证BGP表中相关明细路由的有效性。

 

6f46fe6a38d91e1fb09e6861632264734f75aa01

现在,修改路由器B上的BGP配置,激活聚合路由的通告。

 

24a143c72e3d75930830be723c107d8d88d43b30

路由器B的配置中包含了多条network命令,意在通告构成聚合路由的每一条前缀。其实,BGP表中只要有一条明确路由,便能够生成相应的聚合前缀,因此本例只需一条network命令足矣。但是,只配置一条network命令会造成某些隐患——只要相关网络发生故障,这条明细路由便会从BGP表中消失。一旦这条唯一的明细路由“不翼而飞”,聚合路由也将从BGP表中“退位”。通过使用network命令逐一列出构成聚合路由的明细路由,只要其中一条明细路由有效(up),聚合路由便能够得以通告。

验证
在路由器A和B的BGP表中验证聚合路由存在与否。

1752c84b91e0406d4dc438782fdbddbc115bb098

在路由器A上查看与聚合路由相关的详细信息。

 

cd7708897746dfa6d55fa7fc1cbaee97aa6dcdce

请注意,该聚合路由具有atomic-aggregate(原子聚合)属性。这表明该聚合路由的AS属性信息已经丢失。在本例中,这不会导致任何问题,其原因是构成聚合路由的明细路由,以及聚合路由本身都是由同一台路由器生成。下一个示例会清晰地讲解atomic-aggregate属性。读者还应注意的是,本例中的聚合路由只包含172.16.0.0/24~172.16.3.0/24这4条前缀。针对这4条前缀执行路由聚合时,可使用一个更短的掩码。比方说,在路由器B上形成聚合路由时,可使用一个16位的掩码,如下面的配置所示。但不推荐使用这么长的掩码,因为这有可能会将不属于自己的网络也一并聚合。

85c2230d0835f391a5e2edd1f1cb1edc332ae09c

注意,在IP路由表中,BGP会自动安装一条下一跳为Null 0的聚合路由,图1-2描述了这条下一跳为Null 0的聚合路由的用途。

 

cbafac05239e7e25b667802885b2ae78bab43d54

假定网络172.16.2.0/24发生了故障,路由器B将会从BGP表中“拿走”这条明细路由,但仍会通告聚合路由。假设路由器B设有一条指向路由器A的默认路由,但并未设置下一跳为Null 0的BGP聚合路由172.16.0.0/22。收到目的地址为172.16.2.x的IP数据包时,路由器A会因自己的IP路由表中包含了聚合路由172.16.0.0/22,而将数据包发给路由器B。路由器B接收到数据包时,会检查器IP路由表,以确定如何遵循路由转发数据包。因网络172.16.2.0/24发生了故障,故路由器B的路由表中相应的路由表项消失。路由器B会遵循默认路由转发数据包,而这条默认路由却指向了路由器A。当路由器A收到数据包后,会再次将其发回给路由器B,路由器B又回发给路由器A。该过程循环往复,直到IP数据包报头中的TTL值变为0。倘若路由器B设有一条下一跳为Null 0的聚合路由172.16.0.0/22,那么当172.16.2.0/24网络发生故障时,便会简单地将相关数据包丢弃。

1.1.2 配置案例2:聚合经过重分发的路由

在本配置示例中,不再使用network命令将明细路由置入BGP表,而是先重分发直连路由,然后再将其聚合,如配置案例1所示。修改路由器B的BGP配置,使用重分发,弃用network命令。为了防止路由器生成网络172.16.0.0/16的有类汇总路由,还需配置no auto-summary命令(更多与no auto-summary命令有关的信息,可参见第2章)。

ea9fcb1a7584ce6b5f8ead3857bc0fac724205fb

1.1.3 配置案例3:聚合学得的BGP路由

如图1-3所示,路由器A从路由器B学得前缀172.16.0.0/24~172.16.3.0/24。由于这4条路由现在已在路由器A的BGP表中现身,因此路由器A可直接将它们聚合为前缀172.16.0.0/22。

 

6928170549b3b1dc30d22fbe60e3dde381d3bec7

验证
路由器A和C的BGP表中应该包含有这条聚合路由。

 

59da66d8c82cd16d2780d8fca91c4b43c4a48e7b

请注意,在路由器C的BGP表中,明细路由与聚合路由的路径信息有所不同。路由器A形成了这条聚合路由,因此这条聚合路由看起来似乎发源于路由器A。如果在路由器C上查看这条聚合路由的详细信息(如下面的输出所示),可以看见该聚合路由携带了atomic属性,这意味着其AS路径属性信息的丢失。

 

d488981b67b9d2c90052a87e72edb17b0e481e35

要想保留聚合路由的AS路径属性信息,请参见1-3节。

1.1.4 配置案例4:利用静态路由执行聚合

如图1-1所示的场景,可先在路由器B上创建一条静态路由,然后再将其重分发进BGP,以此来生成聚合路由。

 

46d4a74abd9a80e3bbfc9eac4163ce04c1309a5f

验证
检查路由器A和B的BGP表,验证是否生成并通告了聚合路由。

 

38d57b97e202ed958e65b534cf778a9b0b1d418b

故障排除
步骤1:使用show ip bgp neighbors命令来验证BGP邻居是否处于Established状态。

如果邻居关系不是处于Established状态,请见8-23节。

步骤2:执行show ip bgp命令,弄清BPG表中是否至少有一条明细路由隶属于待聚合网络的地址范围。

步骤3:若BGP表中至少拥有了一条这样的明细路由,请跳到步骤5。

步骤4:若BGP 表中没有这样的明细路由,请执行以下操作。

检查BGP network命令的语法(地址和掩码)。返回步骤2。
若以重分发的方式在BGP中注入路由(直连、静态,或IGP路由),请执行no auto-summary命令,关闭自动汇总特性。检查重分发命令的语法。返回步骤2。
步骤5:验证是否是过滤器阻挡了聚合路由的通告。

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

赞(0) 打赏
一分也是爱

支付宝扫一扫打赏

微信扫一扫打赏

上一篇:

下一篇:

相关推荐

博客简介

本站CDN采用VmShell免费提供离中国大陆最近的香港CMI高速网络做支撑,ToToTel打造全球最快速的边沿网络支撑服务,具体详情请见 :https://vmshell.com/ 以及 https://tototel.com/,网站所有的文件和内容禁止大陆网站搬迁复制,谢谢,VPS营销投稿邮箱: admin@linuxxword.com,我们免费帮大家发布,不收取任何费用,请提供完整测试文稿!

精彩评论

友情链接

他们同样是一群网虫,却不是每天泡在网上游走在淘宝和网游之间、刷着本来就快要透支的信用卡。他们或许没有踏出国门一步,但同学却不局限在一国一校,而是遍及全球!申请交换友链

站点统计

  • 文章总数: 2341 篇
  • 草稿数目: 12 篇
  • 分类数目: 6 个
  • 独立页面: 0 个
  • 评论总数: 2 条
  • 链接总数: 0 个
  • 标签总数: 6116 个
  • 注册用户: 139 人
  • 访问总量: 8,666,395 次
  • 最近更新: 2024年4月28日