Border Gateway Protocol (BGP) allows the aggregation of specific routes into one route with use of the aggregate-address address mask [as-set] [summary-only] [suppress-map map-name] [advertise-map map-name] [attribute-map map-name] command. When you issue the aggregate-address command without any arguments, there is no inheritance of the individual route attributes (such as AS_PATH or community), which causes a loss of granularity. This document illustrates how to manipulate the different attributes when you use the aggregate-address command and how to influence the propagation. Show
PrerequisitesRequirementsCisco recommends that you have knowledge of these topics:
Components UsedThis document is not restricted to specific software and hardware versions. However, the configuration in this document was tested with Cisco IOS® Software Release 12.2(28). The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command. ConventionsRefer to Cisco Technical Tips Conventions for more information on document conventions. Network Diagram
Aggregate Without the as-set ArgumentUse of the as-set argument creates an aggregate address with a mathematical set of autonomous systems (ASs). This as-set argument summarizes the AS_PATH attributes of all the individual routes. These sample configurations enable you to examine this feature and how this argument helps BGP detect and avoid loops.
Router C (AS-300) aggregates the routes 160.20.0.0/16 and 160.10.0.0/16 that come from AS-100 and AS-200, respectively. This action occurs because you have configured the summary-only argument on Router C. Router C only announces the aggregate 160.0.0.0/8 to Router D. The aggregate 160.0.0.0/8 is the classless interdomain routing (CIDR) route. The more specific 160.10.0.0/16 and 160.20.0.0/16 routes are suppressed, as this BGP table on Router C shows: RouterC# show ip bgp BGP table version is 6, local router ID is 4.4.4.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 160.0.0.0/8 0.0.0.0 32768 i s> 160.10.0.0 3.3.3.3 0 0 200 i s> 160.20.0.0 2.2.2.2 0 0 100 iHere is the BGP table of Router D. Observe the path information of the aggregate route: RouterD# show ip bgp BGP table version is 6, local router ID is 4.4.4.4 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 160.0.0.0/8 4.4.4.1 0 300 iThe aggregate route 160.0.0.0/8 is considered to have originated from AS-300 with origin code IGP. The route has lost all the specific AS_PATH information of the individual prefixes 160.10.0.0/16, of AS-200, and 160.20.0.0/16, of AS-100. Aggregate with the as-set ArgumentNow, you configure the as-set argument in the aggregate-address command on Router C. Here is the new configuration:
Now, look at how this argument influences the show ip bgp output on Router D: RouterD# show ip bgp BGP table version is 2, local router ID is 4.4.4.4 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 160.0.0.0/8 4.4.4.1 0 300 {200,100} iWith the as-set argument, the path information in the BGP table for the aggregate route changes to include a set from 300 {200,100}. This set indicates that the aggregate actually summarizes routes that have passed through AS-200 and AS-100. The as-set information becomes important in the avoidance of routing loops because the information records where the route has been. In any closed network, this aggregate information propagates through BGP and back to one of the ASs that the as-set lists. This propagation creates the possibility of a loop. The loop detection behavior of BGP notes its own AS number in the as-set of the aggregate update and drops the aggregate. This action prevents a loop. Note: The as-set argument contains information about each individual route that the aggregate summarizes. Changes in the individual route cause an update of the aggregate. In the example, if 160.10.0.0/16 goes down, the path information of the aggregate changes from 300 {200,100} to 300 {200}. The aggregate is updated. If the aggregate summarizes tens or hundreds of routes and the routes that form the aggregate have problems, there can be a constant flap. Change the Attributes of the Aggregate RouteThe Aggregate with the as-set Argument section shows you how to use as-set to save the AS_PATH attributes with a specific route. In some cases, you can require a change in the attributes of the aggregate route. Examples of such attributes include metric, community, and origin. This section shows how you can use the attribute-map argument to manipulate the aggregate-address attributes. In this case, you configure one or more of the specific aggregated routes with the no-export community attribute. Router A sets the community attribute no-export to network 160.20.0.0/16 and announces the network to Router C. This section shows the configuration. Router C inherits the community attribute no-export while the router aggregates 160.0.0.8. Therefore, there is no advertisement of 160.0.0.0/8 to Router D. The configuration of Routers B, C, and D do not change. Here is the new configuration for Router A:
Here is the BGP table of Router C for 160.0.0.0/8: RouterC# show ip bgp 160.0.0.0 BGP routing table entry for 160.0.0.0/8, version 9 Paths: (1 available, best #1, not advertised to EBGP peer) Not advertised to any peer {200,100}, (aggregated by 300 4.4.4.1) 0.0.0.0 from 0.0.0.0 (4.4.4.1) Origin IGP, localpref 100, weight 32768, valid, aggregated, local, atomic- aggregate, best, ref 2 Community: no-exportThe community no-export stops the Router C announcement of the aggregate route to eBGP peer Router D. Router D shows that it has not learned 160.0.0.0 from Router C: RouterD# show ip bgp 160.0.0.0 % Network not in tableYou can configure the attribute-map argument at Router C in order to manipulate the community attribute of the aggregate route from no-export to none. This configuration allows the advertisement of the aggregate to Router D.
Now, look at the BGP table of Router C for 160.0.0.0/8. Because there is no community set for the aggregate route, Router C advertises 160.0.0.0/8 to Router D. RouterC# show ip bgp 160.0.0.0 BGP routing table entry for 160.0.0.0/8, version 6 Paths: (1 available, best #1) Advertised to non peer-group peers: 2.2.2.2 3.3.3.3 4.4.4.4 {200,100}, (aggregated by 300 4.4.4.1) 0.0.0.0 from 0.0.0.0 (4.4.4.1) Origin IGP, localpref 100, weight 32768, valid, aggregated, local, atomic- aggregate, best, ref 2The show ip bgp 160.0.0.0 output at Router D shows that Router D has learned the aggregate route 160.0.0.0/8 from Router C. RouterD# show ip bgp 160.0.0.0 BGP routing table entry for 160.0.0.0/8, version 10 Paths: (1 available, best #1, table Default-IP-Routing-Table) Not advertised to any peer 300 {200,100}, (aggregated by 300 4.4.4.1) 4.4.4.1 from 4.4.4.1 (4.4.4.1) Origin IGP, localpref 100, valid, external, bestUse advertise-map to Aggregate a Subset of Specific RoutesIf you have control over the individual prefixes that form the aggregate route, you can more easily decide which attributes the aggregate will carry. Exclude prefix 160.20.0.0 from the aggregate route in the example in the Change the Attributes of the Aggregate Route section. In this case, the aggregate 160.0.0.0/8 does not inherit the community attribute no-export. In order to make this change, configure the advertise-map argument at Router C.
Now, look at the BGP table of Router C for 160.0.0.0/8: RouterC# show ip bgp 160.0.0.0 BGP routing table entry for 160.0.0.0/8, version 15 Paths: (1 available, best #1) Advertised to non peer-group peers: 2.2.2.2 4.4.4.4 200, (aggregated by 300 2.2.2.1) 0.0.0.0 from 0.0.0.0 (2.2.2.1) Origin IGP, localpref 100, weight 32768, valid, aggregated, local, atomic- aggregate, best, ref 2Only AS-200 is part of the AS_PATH information of the aggregate; AS-100 is not part of the information. Also, there is no inheritance of the community no-export from 160.20.0.0/16. Therefore, the aggregate route is announced to Router D. The show ip bgp 160.0.0.0 output shows the announcement: RouterD# show ip bgp 160.0.0.0 BGP routing table entry for 160.0.0.0/8, version 7 Paths: (1 available, best #1, table Default-IP-Routing-Table) Not advertised to any peer 300 200, (aggregated by 300 4.4.4.1) 4.4.4.1 from 4.4.4.1 (4.4.4.1) Origin IGP, localpref 100, valid, external, atomic-aggregate, best ip bgp 160.0.0.0Note: Because the aggregate as-set has AS-200 only, Router A in AS-100 accepts the aggregate route and installs the route in the routing table. The BGP loop detection mechanism causes this route acceptance. The BGP loop detection mechanism does not detect its own AS in as-set. RouterA# show ip bgp BGP table version is 3, local router ID is 160.20.0.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 160.0.0.0/8 2.2.2.1 0 300 200 i *> 160.20.0.0 0.0.0.0 0 32768 iImpact of the Use of suppress-map with Other Configuration CommandsThe aggregate-address command includes other configuration commands, such as suppress-map. In order to understand the impact of the use of all the configuration commands in combination, note that aggregate-address only inherits the attributes from the more-specific routes when you use the as-set configuration command. Examples of the attributes that aggregate-address can inherit include no-export and no-advertise.
In general, when you use advertise-map, only the advertise-map influences the aggregate. In the absence of advertise-map, the aggregate inherits the attributes of the more-specific routes, both suppressed and unsuppressed. In both the cases, you can use the attribute-map configuration command to override the chosen attributes. Related Information |