●自动汇总对重分发路由和network命令的影响
类似于IGP,BGP的auto-summary命令会为任一存在的包含路由创建一条分类汇总路由。不过,与IGP不同的是,BGP的命令只汇总那些重分发而注入的路由,它不会查询分类网络的边界,也不会查询已在BGP表中的路由,它只查询那些通过redistribute和network命令注入的路由。对于redistribute命令而言,当重分发进程注入分类网络的子网时,不注入该子网到路由表,而是用分类网络替代。对于network命令而言,如果它列出了分类网络号而没有掩码,则只要该分类网络有一个子网存在于路由表,就注入该分类网络。
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
●手工汇总及AS_PATH路径属性
BGP也可以使用手工汇总来广播汇总路由给邻接路由器,其命令是aggregate-address,它与auto-summary命令有所差别。它可以基于BGP表中的任意路由进行汇总,可以创建任意前缀的汇总路由。
聚集路由必须包含AS_PATH路径属性,AS_PATH包含四个部分:
1)AS_SEQ(AS序列号)
2)AS_SET
3)AS_CONFED_SEQ(AS联合序列号)
4)AS_CONFED_SET
最常使用的部分是AS_SEQ,它包含了广播路由的所有ASN。
注意,aggregate-address命令可以创建AS_SEQ为空的汇总路由。当汇总路由的包含子网有不同的AS_SEQ值时,路由器不能创建AS_SEQ的准确表示,所以它会使用空AS_SEQ。但是,这样也可能会造成路由环路。此时,可以使用AS_SET部分来解决这个问题,AS_SET存放着所有包含子网的AS_SEQ部分的所有ASN的无序列表。
对aggregate-address命令的一些相关性质总结如下:
1)如果BGP表当前不包括汇总路由内的任何NLRI路由,它不会创建该汇总路由。
2)如果所有聚集路由的包含子网都被撤销,该聚集路由也将撤销。
3)在本地BGP表中,设置汇总路由的NEXT_HOP地址为0.0.0.0。
4)广播到邻接路由器时,汇总路由的NEXT_HOP地址设置为路由器对该邻接路由器的更新源IP地址。
5)如果汇总路由内的包含子网拥有相同AS_SEQ,那么汇总路由的AS_SEQ即设为包含子网的AS_SEQ。
6)如果汇总路由内的包含子网拥有不同AS_SEQ,那么汇总路由的AS_SEQ设为空。
7)如果配置了as-set选项,路由器会为该汇总路由创建AS_SET部分(仅当汇总路由的AS_SEQ为空时)。
8)如果汇总路由广播到eBGP邻接路由器,路由器会附加自身ASN到AS_SEQ。
9)如果使用了summary-only关键字,则会抑制包含子网的广播,如果配置了suppress-map选项,则会广播特定包含子网。
●在BGP中添加默认路由
注入默认路由到BGP大概有三种方式:
1)使用network命令注入。
2)使用redistribute命令注入。
3)使用BGP子命令neighbor neighbor-id default-information [route-map route-map-name]注入。
当使用network命令注入默认路由时,到0.0.0.0/0的路由必须已经存在于本地路由表,而且network 0.0.0.0命令是必需的。一旦该默认路由从IP路由表中删除,BGP也会从BGP表中删除该默认路由。
使用重分发注入默认路由要求附加的配置命令——default-information originate。默认路由也必须已存在于IP路由表。
注入默认路由的第三种方法并不将默认路由加入本地BGP表,而是将该默认路由广播给指定的邻接路由器。实际上,该方法默认情况下甚至不检查默认路由是否在IP路由表中。如果有route-map选项,路由映射会检查IP路由表(不是BGP表)中的记录,如果permit从句匹配,则默认路由广播给该邻接路由器。
●ORIGIN路径属性
ORIGIN描述了特定NLRI怎样首次注入到BGP表。根据注入路由到本地BGP表的方式不同,BGP有三类ORIGIN路径属性:IGP,EGP或incomplete。下表比较了这三类ORIGIN:
ORIGIN类型 | Cisco IOS表示 | 适用于哪些注入路由的命令 |
IGP | i | network, aggregate-address (某些情形)和 neighbor default-originate 命令 |
EGP | e | 外部网关协议,现在已不用 |
Incomplete | ? | redistribute , aggregate-address (某些情形)和 default-information originate 命令 |
aggregate-address命令用到的ORIGIN类型可分为如下几种情形:
1)如果未使用as-set选项,聚集路由的ORIGIN为i。
2)如果使用了as-set选项,而且所有包含子网的ORIGIN都为i,则聚集路由的ORIGIN为i。
3)如果使用了as-set选项,而且至少有一个包含子网的ORIGIN为?,则聚集路由的ORIGIN为?。
转载于:https://blog.51cto.com/riser/61112