1-3 aggregate-address address mask
Cisco BGP-4 命令与配置手册
语法描述:
address:聚合路由的IP地址。
mask:聚合路由的掩码。
route-map-name:路由映射名,该路由映射用来确定构成聚合路由的前缀。
用途:在BGP表中创建聚合路由表项。只有当BGP表中存在待创建聚合路由的明细路由时,才能创建出相应的聚合路由。如果不带as-set选项,那么构成聚合路由的明细路由的AS路径信息便会丢失。这种形式的aggregate-address命令在通告聚合路由的同时,还会保留相应明细路由的AS路径属性信息。advertise-map用来确定在聚合路由中保留哪些AS路径信息。
Cisco IOS软件版本:10.0
配置案例:以来自不同自治系统的特定前缀形成聚合路由
在图1-5所示,路由器A从AS 65530学得网络172.16.0.0/24和172.16.1.0/24,从AS 2学得网络172.16.2.0/24和172.16.3.0/24。本例会使用advertise-map选项,根据接收自AS 65530的路由,执行路由聚合。
在路由器C和B上,各创建了2个loopback接口。只有当BGP表中至少存在一条隶属于聚合路由的明细路由时,BGP路由器才会通告该聚合路由。为了将聚合路由的明细路由置入BGP表,在路由器B和C上还得动用BGP network命令。在聚合与loopback接口相关的前缀之前,有必要验证明细路由是否已在路由器A、B、C的BGP表中现身。
现在,修改路由器A的BGP配置,激活聚合路由的通告。
这条聚合路由包含了4条明细路由,2条由AS 65530通告,另外2条则来自AS 2。路由器A应该能够以自身为下一跳来通告这条聚合路由了,这也意味着路由的AS路径信息的丢失。这条聚合路由的AS路径信息表明:该前缀源于AS 1。在这条聚合路由的AS_PATH属性中,并不包含路由器B和C的AS号,因此,这两台路由器会接受该聚合路由。正常的BGP行为将会拒绝包含本方AS号的所有路由更新。
假定我们只想把聚合路由通告给AS 2,而不想将其通告给AS 65530。可通过在聚合路由的AS路径信息中保留AS 65530,同时将AS 2剔除在外的方式来实现。advertise-map选项正是用来实现该任务的工具。修改路由器A的BGP配置,令聚合路由只包含AS 65530的路径信息。
路由映射select-as的作用是:只允许用源于AS 65530的路由,形成聚合路由。因此,聚合路由的AS路径信息只包含了AS号65530。使用IP as-path访问过滤器亦能起到相同的效果。
验证
验证聚合路由的AS路径号是否只包含了AS路径65530。
此外,还需验证这条聚合路由是否已被路由器B接受,被路由器C拒绝。
故障排除
步骤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:验证是否存在过滤器阻挡了聚合路由的通告。
步骤6:验证路由映射和访问列表或AS路径列表的语法。