Course contents

Module 3: Path SelectionLesson 3.9 (9 of 13 in this module)18 of 43 in the BGP course

Attributes: ATOMIC_AGGREGATE and AGGREGATOR

When a router summarises routes it throws detail away, and BGP carries two small attributes to admit that. They are easy to ignore, and they appear in exam questions about aggregation.

Advanced · 9 min read

You'll learn to explain ATOMIC_AGGREGATE and AGGREGATOR, say when aggregate-address sets them, and read them in show output.

Why aggregation needs attributes

With aggregate-address a router creates one summary prefix to stand for many specific ones. The more specific routes carried their own AS paths. A plain summary starts a fresh path, so that information is lost. BGP uses two attributes to record that fact.

Four routes become one aggregate
Four routes become one aggregateFour /24 prefixes in the BGP table are covered by the aggregate 198.51.100.0/22 configured with aggregate-address. Without summary-only the neighbour receives the aggregate and the four specifics. With summary-only it receives only the aggregate.In the BGP table of R1198.51.100.0/24198.51.101.0/24198.51.102.0/24198.51.103.0/24aggregate-address198.51.100.0255.255.252.0Without summary-onlyNeighbour receives 5 routes:the /22 and the four /24sWith summary-onlyNeighbour receives 1 route:198.51.100.0/22

On small screens, swipe sideways or focus the diagram and use the arrow keys.

The /22 covers 198.51.100.0 to 198.51.103.255 exactly. The aggregate exists only while at least one more-specific route is in the BGP table.

ATOMIC_AGGREGATE

ATOMIC_AGGREGATE is a well-known discretionary attribute with no value. It is a flag: this route is a summary that may have dropped AS path details. A router that receives it must not de-aggregate it into more specific routes, and it must keep the flag when it passes the route on.

When the flag is set
When the flag is setIt depends on as-set.aggregate-addressAS path information is lostATOMIC_AGGREGATE setaggregate-address as-setAS numbers collected into a setFlag not setsummary-onlySpecifics suppressedIndependent of the flag

On small screens, swipe sideways or focus the diagram and use the arrow keys.

as-set keeps the path information, so the flag is not needed.

AGGREGATOR

AGGREGATOR is an optional transitive attribute that records the AS number and router ID of the router that formed the summary. It answers the question of who built the aggregate, which is useful when you see an unexpected summary.

router bgp 64500 address-family ipv4 unicast aggregate-address 198.51.100.0 255.255.255.0 summary-only aggregate-address 203.0.113.0 255.255.255.0 as-set

The first line creates a summary and hides the specific routes. The second also builds an AS set from the component routes.

Reading them

Illustrative Cisco IOS XE output written for this lesson, not a router capture
R2#show ip bgp 198.51.100.0
BGP routing table entry for 198.51.100.0/24, version 9
Paths: (1 available, best #1, table default)
  64501
    192.0.2.1 from 192.0.2.1 (11.11.11.11)
      Origin IGP, metric 0, localpref 100, valid, external, atomic-aggregate, best
      Aggregator: AS 64501, 11.11.11.11
The route is a summary built by AS 64501 on router 11.11.11.11. The atomic-aggregate flag says path information may have been lost, so this prefix must not be split into more specifics.

Check your understanding

Predict · scenario 1

Which attribute flags a route as a summary that may have lost AS path detail?

Predict · scenario 2

What does AGGREGATOR carry?

Predict · scenario 3

Aggregation with as-set is configured. What happens to path information?

FAQ

What does ATOMIC_AGGREGATE tell a router?
That the route is a summary which may have lost AS path information. A router must not make the prefix more specific when it passes the route on.
What does AGGREGATOR contain?
The AS number and router ID of the router that built the aggregate, so you can tell who summarised it.
How does as-set change things?
With as-set the aggregate carries the combined AS numbers of the component routes, so the path information is kept and ATOMIC_AGGREGATE is not set.