Menu

US Region

Grandmetric LLC
Brookfield Place Office
200 Vesey Street
New York, NY 10281
EIN: 98-1615498
Phone: +1 302 691 94 10

info@grandmetric.com

EMEA Region

GRANDMETRIC Sp. z o.o.
ul. Metalowa 5, 60-118 Poznań, Poland
NIP 7792433527
+48 61 271 04 43
info@grandmetric.com

BGP: Aggregate address

Design & Configure

BGP: Aggregate address

Technology: Routing

Area: EGP

Vendor: Cisco

Title: BGP aggregation

Software: 12.X , 15.X, IP Services

Platform: Catalyst 3560, 3750, 3850, 4500, 6500, ISR/ASR Routers

 

Aggregation is a fundamental characteristic used by BGP to hide any number of prefixes from being advertised to neighbors. The key think is that have to be at least one prefix in a BGP table which is a part of aggregation scope. The newly created prefix has two additional attributes such as:

  1. AGGREGATOR – consist of router information like Router-ID, AS_PATH which does actual job,
  2. ATOMIC_AGGREGATE – inform other routers that some part of BGP attributes are missing like complete AS_PATH, NEXT_HOP.

To prevent the routing loops from occurring, BGP process creates a new static route to Null0 for every aggregate statement.

 

To configure aggregation for prefixes encompasses by prefix 50.0.0.0/16 type:

R1# configure terminal
R1 (config)# router bgp 100
R1 (config-router)# neighbor 80.50.0.2 remote-as 100
R1 (config-router)# aggregate-address 50.0.0.0 255.255.0.0
R1 (config-router)# exit

 

Verification commands:

R1# show bgp ipv4 unicast
Network          Next Hop            Metric LocPrf Weight Path
*> 50.0.0.0/24      0.0.0.0                  0         32768 ?
*> 50.0.0.0/16      0.0.0.0                            32768 i
*> 50.0.1.0/24      0.0.0.0                  0         32768 ?
*> 80.50.0.0/24     0.0.0.0                  0         32768 ?

 

R1# show ip route 50.0.0.0 255.255.0.0
Routing entry for 50.0.0.0/16
Known via "bgp 100", distance 200, metric 0, type locally generated
Routing Descriptor Blocks:
* directly connected, via Null0
Route metric is 0, traffic share count is 1
AS Hops 0

 

R2# show bgp ipv4 unicast neighbors 80.50.0.1 routes
Network          Next Hop            Metric LocPrf Weight Path
*>i50.0.0.0/24      80.50.0.1                0    100      0 ?
*>i50.0.0.0/16      80.50.0.1                0    100      0 i
*>i50.0.1.0/24      80.50.0.1                0    100      0 ?
r>i80.50.0.0/24     80.50.0.1                0    100      0 ?

R2# show bgp ipv4 unicast 50.0.0.0/16
BGP routing table entry for 50.0.0.0/16, version 8
Paths: (1 available, best #1, table Default-IP-Routing-Table)
Not advertised to any peer
Local, (aggregated by 100 1.1.1.1)
80.50.0.1 from 80.50.0.1 (1.1.1.1)
Origin IGP, metric 0, localpref 100, valid, internal, atomic-aggregate, best

 

Extensions:

Command offers a couple of keyword extensions to influence a final result:

  1. summary-only – to automatically suppress advertainment of more specific prefixes.

 

R1# configure terminal
R1 (config)# router bgp 100
R1 (config-router)# aggregate-address 50.0.0.0 255.255.0.0 summary-only
R1 (config-router)# exit

 

Verification commands:

R1# show bgp ipv4 unicast
Network          Next Hop            Metric LocPrf Weight Path
s> 50.0.0.0/24      0.0.0.0                  0         32768 ?
*> 50.0.0.0/16      0.0.0.0                            32768 i
s> 50.0.1.0/24      0.0.0.0                  0         32768 ?
*> 80.50.0.0/24     0.0.0.0                  0         32768 ?

R1# show bgp ipv4 unicast neighbors 80.50.0.2 advertised-routes
Network          Next Hop            Metric LocPrf Weight Path
*> 50.0.0.0/16      0.0.0.0                            32768 i
*> 80.50.0.0/24     0.0.0.0                  0         32768 ?

R2# show bgp ipv4 unicast neighbors 80.50.0.1 routes
Network          Next Hop            Metric LocPrf Weight Path
*>i50.0.0.0/16      80.50.0.1                0    100      0 i
r>i80.50.0.0/24     80.50.0.1                0    100      0 ?

 

  1. suppress-map – to selectively suppress advertainment of some prefixes.

 

R1# configure terminal
R1 (config)# ip prefix-list SUPPRESS permit 50.0.1.0/24
R1 (config)# route-map SUPPRESS_MAP permit 10
R1 (config-route-map)# match ip address prefix-list SUPPRESS
R1 (config)# router bgp 100
R1 (config-router)# aggregate-address 50.0.0.0 255.255.0.0 suppress-map SUPPRESS_MAP
R1 (config-router)# exit

 

Verification commands:

R1# show bgp ipv4 unicast
Network          Next Hop            Metric LocPrf Weight Path
*> 50.0.0.0/24      0.0.0.0                  0         32768 ?
*> 50.0.0.0/16      0.0.0.0                            32768 i
s> 50.0.1.0/24      0.0.0.0                  0         32768 ?
*> 80.50.0.0/24     0.0.0.0                  0         32768 ?

R1# show bgp ipv4 unicast neighbors 80.50.0.2 advertised-routes
Network          Next Hop            Metric LocPrf Weight Path
*> 50.0.0.0/24      0.0.0.0                  0         32768 ?
*> 50.0.0.0/16      0.0.0.0                            32768 i
*> 80.50.0.0/24     0.0.0.0                  0         32768 ?


R2# show bgp ipv4 unicast neighbors 80.50.0.1 routes
Network          Next Hop            Metric LocPrf Weight Path
*>i50.0.0.0/24      80.50.0.1                0    100      0 ?
*>i50.0.0.0/16      80.50.0.1                0    100      0 i
r>i80.50.0.0/24     80.50.0.1                0    100      0 ?

 

  1. as-set – to restore the whole set of AS_PATH information and include it in aggregated prefix, the ATOMIC_AGGREGATE attribute is not needed any more.

R1# configure terminal
R1 (config)# router bgp 100
R1 (config-router)# aggregate-address 50.0.0.0 255.255.0.0 summary-only as-set
R1 (config-router)# exit

 

Verification commands:

 

R1# show bgp ipv4 unicast
Network          Next Hop            Metric LocPrf Weight Path
s> 50.0.0.0/24      0.0.0.0                  0         32768 ?
*> 50.0.0.0/16      0.0.0.0                       100  32768 ?
s> 50.0.1.0/24      0.0.0.0                  0         32768 ?
*> 80.50.0.0/24     0.0.0.0                  0         32768 ?

R1# show bgp ipv4 unicast neighbors 80.50.0.2 advertised-routes
Network          Next Hop            Metric LocPrf Weight Path
*> 50.0.0.0/16      0.0.0.0                       100  32768 ?
*> 80.50.0.0/24     0.0.0.0                  0         32768 ?

R2# show bgp ipv4 unicast neighbors 80.50.0.1 routes
Network          Next Hop            Metric LocPrf Weight Path
 *>i50.0.0.0/16      80.50.0.1                0    100      0 ?
r>i80.50.0.0/24     80.50.0.1                0    100      0 ?

R2# show bgp ipv4 unicast 50.0.0.0/16
BGP routing table entry for 50.0.0.0/16, version 21
Paths: (1 available, best #1, table Default-IP-Routing-Table)
Flag: 0x820
Not advertised to any peer
Local, (aggregated by 100 1.1.1.1)
80.50.0.1 from 80.50.0.1 (1.1.1.1)

Origin incomplete, metric 0, localpref 100, valid, internal, best

 

  1. attribute-map – to assign specific attributes for new aggregate prefix and override the current ones.

R1# configure terminal
R1 (config)# route-map ATT_MAP permit 10
R1 (config-route-map)# set community 100:100
R1 (config-route-map)# set origin incomplete
R1 (config)# router bgp 100
R1 (config-router)# neighbor 80.50.0.2 send-community
R1 (config-router)# aggregate-address 50.0.0.0 255.255.0.0 summary-only as-set attribute-map ATT_MAP
R1 (config-router)# exit

 

 

Verification commands:

R1# show bgp ipv4 unicast
Network          Next Hop            Metric LocPrf Weight Path
s> 50.0.0.0/24      0.0.0.0                  0         32768 ?
*> 50.0.0.0/16      0.0.0.0                       100  32768 ?
s> 50.0.1.0/24      0.0.0.0                  0         32768 ?
*> 80.50.0.0/24     0.0.0.0                  0         32768 ?

R1# show bgp ipv4 unicast neighbors 80.50.0.2 advertised-routes
Network          Next Hop            Metric LocPrf Weight Path
*> 50.0.0.0/16      0.0.0.0                       100  32768 ?
*> 80.50.0.0/24     0.0.0.0                  0         32768 ?

R2# show bgp ipv4 unicast neighbors 80.50.0.1 routes
Network          Next Hop            Metric LocPrf Weight Path
 *>i50.0.0.0/16      80.50.0.1                0    100      0 ?
r>i80.50.0.0/24     80.50.0.1                0    100      0 ?

R2# show bgp ipv4 unicast 50.0.0.0/16
BGP routing table entry for 50.0.0.0/16, version 21
Paths: (1 available, best #1, table Default-IP-Routing-Table)
Flag: 0x820
Not advertised to any peer
Local, (aggregated by 100 1.1.1.1)
80.50.0.1 from 80.50.0.1 (1.1.1.1)
Origin incomplete, metric 0, localpref 100, valid, internal, best
Community: 100:100

 

 

  1. advertise-map – to choose specific prefixes for composing new set of attributes such as AS_SET for aggregate prefix.

R1# configure terminal
R1 (config)# ip prefix-list ADVERT permit 50.0.1.0/24
R1 (config)# route-map ADVERT_MAP permit 10
R1 (config-route-map)# match ip address prefix-list ADVERT
R1 (config)# router bgp 100
R1 (config-router)# aggregate-address 50.0.0.0 255.255.0.0 summary-only as-set advertise-map ADVERT_MAP
R1 (config-router)# exit

 

Verification commands:


R1# show bgp ipv4 unicast
Network          Next Hop            Metric LocPrf Weight Path
s> 50.0.0.0/24      0.0.0.0                  0         32768 ?
*> 50.0.0.0/16      0.0.0.0                       100  32768 ?
s> 50.0.1.0/24      0.0.0.0                  0         32768 ?
*> 80.50.0.0/24     0.0.0.0                  0         32768 ?

R1# show bgp ipv4 unicast neighbors 80.50.0.2 advertised-routes
Network          Next Hop            Metric LocPrf Weight Path
*> 50.0.0.0/16      0.0.0.0                       100  32768 ?
*> 80.50.0.0/24     0.0.0.0                  0         32768 ?

R2# show bgp ipv4 unicast neighbors 80.50.0.1 routes
Network          Next Hop            Metric LocPrf Weight Path
 *>i50.0.0.0/16      80.50.0.1                0    100      0 ?
r>i80.50.0.0/24     80.50.0.1                0    100      0 ?

R2# show bgp ipv4 unicast 50.0.0.0/16
BGP routing table entry for 50.0.0.0/16, version 21
Paths: (1 available, best #1, table Default-IP-Routing-Table)
Flag: 0x820
Not advertised to any peer
Local, (aggregated by 100 1.1.1.1)
80.50.0.1 from 80.50.0.1 (1.1.1.1)
Origin incomplete, metric 0, localpref 100, valid, internal, atomic-aggregate, best

Author: Marcin Bialy
 
Grandmetric