Inleiding
In dit document wordt beschreven hoe u BGP Community Values kunt gebruiken om het routeringsbeleid in upstream-leveranciersnetwerken te beheren.
Voorwaarden
Vereisten
Dit document vereist een goed begrip van het routeringsprotocol van het Border Gateway Protocol (BGP) en de werking ervan.
Gebruikte componenten
Dit document is niet beperkt tot specifieke software- en hardware-versies. De informatie in dit document is echter gebaseerd op deze softwareversie:
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
Achtergrondinformatie
Hoewel gemeenschappen zelf het BGP Best Path-proces niet veranderen, kunnen gemeenschappen worden gebruikt als vlaggen om een reeks routes te markeren. Upstream-routers van serviceproviders kunnen deze vlaggen vervolgens gebruiken om specifieke routeringsbeleidslijnen (bijvoorbeeld de lokale voorkeur) toe te passen binnen hun netwerk.
Providers koppelen de waarden van uw configureerbare community aan de bijbehorende lokale voorkeurswaarden binnen het providernetwerk. U kunt specifieke beleidsregels hebben die de wijziging van LOCAL_PREF in de netwerkset van de provider en de bijbehorende communitywaarden in hun routeringsupdates vereisen.
Een community is een groep voorvoegsels die een aantal gemeenschappelijke eigenschappen delen en kunnen worden geconfigureerd met het BGP-communityattribuut. Het BGP community attribuut is een optioneel transitief attribuut van variabele lengte. Het attribuut bestaat uit een set van vier octetwaarden die een community specificeren. De waarden van de attributen van de gemeenschap worden gecodeerd met een autonoom systeemnummer (AS) in de eerste twee octetten, waarbij de andere twee octetten worden gedefinieerd door de AS. Een prefix kan meer dan één attribuut hebben. Een BGP-spreker die meerdere community-attributen in een prefix ziet, kan handelen op basis van één, sommige of alle attributen. Een router heeft de mogelijkheid om een community-attribuut toe te voegen of aan te passen voordat de router het attribuut doorgeeft aan andere peers. Om meer te weten te komen over het attribuut community, verwijzen we naar BGP Case Studies.
Het attribuut local preference is een indicatie voor het AS-pad waaraan de voorkeur wordt gegeven om een bepaald netwerk te bereiken. Wanneer er meerdere paden naar dezelfde bestemming zijn, wordt het pad met de hogere voorkeur gekozen (de standaardwaarde van het attribuut local preference is 100). Voor meer informatie verwijzen we naar Case Studies.
Conventies
Raadpleeg Cisco Technical Tips Conventions (Conventies voor technische tips van Cisco) voor meer informatie over documentconventies.
Het routeringsbeleid configureren en beheren
Opmerking: Als u meer informatie wilt over de opdrachten die in dit document worden gebruikt, gebruikt u het opzoekprogramma voor opdrachten.
Ter vereenvoudiging wordt aangenomen dat het attribuut community en de toewijzing van het attribuut local preference zijn vastgesteld tussen de upstream-serviceprovider (AS 100) en uw apparaat (AS 30).
|
lokale voorkeur
|
waarden van de Gemeenschap
|
|
130
|
100:300
|
|
125
|
100:250
|
Als de voorvoegsels worden aangekondigd met een community-attribuut dat gelijk is aan 100:300, stelt de upstream-serviceprovider de lokale voorkeur van die routes in op 130 en 125 als het community-attribuut gelijk is aan 100:250.
Dit geeft u controle over het routeringsbeleid binnen het netwerk van de serviceprovider als u de communitywaarden van de voorvoegsels wijzigt die aan de serviceprovider zijn aangekondigd.
In het netwerkdiagram wil de AS 30 dit routeringsbeleid gebruiken met de attributen van de community.
-
Het inkomende verkeer van AS 100 naar netwerk 10.0.10.0/24 gaat via de R1-R3-link. Als de R1-R3-verbinding uitvalt, verloopt al het verkeer via R2-R3.
-
Het inkomende verkeer van AS 100 naar netwerk 10.1.0.0/24 gaat via de R2-R3-link. Als de R2-R3-verbinding uitvalt, verloopt al het verkeer via R1-R3.
Om dit routeringsbeleid te bereiken, kondigt R3 zijn voorvoegsels op deze manier aan:
Tot R1:
- 10.0.10.0/24 met een community attribuut 100:300
- 10.1.0.0/24 met een community attribuut 100:250
Tot R2:
Zodra BGP-buren R1 en R2 de voorvoegsels van R3, R1 en R2 ontvangen, passen ze het geconfigureerde beleid toe op basis van toewijzing tussen de community en de lokale voorkeurskenmerken (weergegeven in de vorige tabel) en bereiken ze dus het routeringsbeleid dat door u wordt gedicteerd (de AS 30). R1 installeert de voorvoegsels in de BGP-tabel.
R2 installeert het voorvoegsel in de BGP-tabel:
Aangezien de voorkeur wordt gegeven aan een hogere lokale voorkeur in de BGP-padselectiecriteria, wordt het pad met een lokale voorkeur van 130 (130 is groter dan 125) geselecteerd als het beste pad binnen AS 100 en geïnstalleerd in de IP-routeringstabel van R1 en R2. Raadpleeg voor meer informatie over de BGP-padselectiecriteria het BGP Best Path Selection Algorithm.
Netwerkdiagram

Configuraties
Dit document gebruikt de volgende configuraties:
| R3-configuratie |
hostname R3
!
interface Loopback0
ip address 10.0.10.1 255.255.255.0
!
interface Loopback1
ip address 10.1.0.1 255.255.255.0
!
interface GigabitEthernet1
ip address 10.10.13.3 255.255.255.0
!--- Interface connected to R1
!
interface GigabitEthernet2
ip address 10.10.23.3 255.255.255.0
!--- Interface connected to R2
!
router bgp 30
bgp router-id interface Loopback0
network 10.0.10.0 mask 255.255.255.0
network 10.1.0.0 mask 255.255.255.0
!--- Network commands announce prefix 10.0.10.0/24 and 10.1.0.0/24.
neighbor 10.10.13.1 remote-as 100
!--- Establishes peering with R1
neighbor 10.10.13.1 send-community
!--- Without this command, the community attributes are not sent to the neighbor
neighbor 10.10.13.1 route-map Peer-R1 out
!--- Configures outbound policy as defined by route-map "Peer-R1" when peering with R1
neighbor 10.10.23.2 remote-as 100
!--- Establishes peering with R2
neighbor 10.10.23.2 send-community
!--- Configures to send community attribute to R2
neighbor 10.10.23.2 route-map Peer-R2 out
!--- Configures outbound policy as defined by
!--- route-map "Peer-R2" when peering with R2.
!
ip bgp-community new-format
!--- Allows you to configure the BGP community
!--- attribute in AA:NN format.
!
access-list 101 permit ip 10.0.10.0 0.0.0.255 any
access-list 102 permit ip 10.1.0.0 0.0.0.255 any
!
route-map Peer-R1 permit 10
match ip address 101
set community 100:300
!--- Sets community 100:300 for routes matching access-list 101
!
route-map Peer-R1 permit 20
match ip address 102
set community 100:250
!--- Sets community 100:250 for routes matching access-list 102
!
route-map Peer-R2 permit 10
match ip address 101
set community 100:250
!--- Sets community 100:250 for routes matching access-list 101
!
route-map Peer-R2 permit 20
match ip address 102
set community 100:300
!--- Sets community 100:300 for routes matching access-list 102
!
end
|
| R1-configuratie |
hostname R1
!
interface Loopback0
ip address 10.200.200.1 255.255.255.0
!
interface GigabitEthernet1
ip address 10.10.12.1 255.255.255.0
!--- Connected to R2
!
interface GigabitEthernet2
ip address 10.10.13.1 255.255.255.0
!--- Connected to R3
!
router bgp 100
bgp log-neighbor-changes
neighbor 10.10.12.2 remote-as 100
!--- Establishes peering with R2
neighbor 10.10.12.2 next-hop-self
neighbor 10.10.13.3 remote-as 30
!--- Establishes peering with R3
neighbor 10.10.13.3 route-map Peer-R3 in
!--- Configures the inbound policy as defined by route-map "Peer-R3" when peering with R3.
no auto-summary
!
ip bgp-community new-format
!--- Allows you to configure the BGP community attribute in AA:NN format.
ip community-list 1 permit 100:300
ip community-list 2 permit 100:250
!--- Defines community list 1 and 2.
!
route-map Peer-R3 permit 10
match community 1
set local-preference 130
!--- Sets local preference 130 for all routes matching community list 1.
!
route-map Peer-R3 permit 20
match community 2
set local-preference 125
!--- Sets local preference 125 for all routes matching community list 2.
!
route-map Peer-R3 permit 30
!--- Without this permit 30 statement, updates that do not match the permit 10 or permit 20 statements are dropped.
!
end
|
| R2-configuratie |
hostname R2
!
interface Loopback0
ip address 192.168.50.1 255.255.255.0
!
interface GigabitEthernet1
ip address 10.10.12.2 255.255.255.0
!--- Connected to R1
!
interface GigabitEthernet2
ip address 10.10.23.2 255.255.255.0
!--- Connected to R3
!
router bgp 100
bgp log-neighbor-changes
neighbor 10.10.12.1 remote-as 100
!--- Establishes iBGP peering with R1
neighbor 10.10.12.1 next-hop-self
neighbor 10.10.23.3 remote-as 30
!--- Establishes peering with R3
neighbor 10.10.23.3 route-map Peer-R3 in
!--- Configures inbound policy as defined by route-map "Peer-R3" when peering with R3.
!
ip bgp-community new-format
!--- Allows you to configure the BGP community attribute in AA:NN format.
!
ip community-list 1 permit 100:300
ip community-list 2 permit 100:250
!--- Defines community list 1 and 2.
!
route-map Peer-R3 permit 10
match community 1
set local-preference 130
!--- Sets local preference 130 for all routes matching community list 1.
!
route-map Peer-R3 permit 20
match community 2
set local-preference 125
!--- Sets local preference 125 for all routes matching community list 2.
!
route-map Peer-R3 permit 30
!--- Without this permit 30 statement, updates that do not match the permit 10 or permit 20 statements are dropped.
!
end
|
Verificatie
R1 ontvangt prefixes 10.0.10.0/24 en 10.1.0.0/24 met communities 100:300 en 100:250, zoals weergegeven in het volgende show ip bgp opdrachtresultaat.
Opmerking: zodra deze routes in de BGP-tabel zijn geïnstalleerd op basis van het geconfigureerde beleid, worden voorvoegsels met community 100:300 toegewezen aan lokale voorkeur 130 en voorvoegsels met community 100:250 aan lokale voorkeur 125.
R1#show ip bgp 10.0.10.0
BGP routing table entry for 10.0.10.0/24, version 19
Paths: (1 available, best #1, table default)
Advertised to update-groups:
4
Refresh Epoch 1
30
10.10.13.3 from 10.10.13.3 (10.0.10.1)
Origin IGP, metric 0, localpref 130, valid, external, best
Community: 100:300
rx pathid: 0, tx pathid: 0x0
Updated on Oct 31 2025 16:47:42 UTC
!--- Prefix 10.0.10.0/24 with community 100:300 received from 10.10.13.3 (R3) is assigned local preference 130.
R1#show ip bgp 10.1.0.0
BGP routing table entry for 10.1.0.0/24, version 20
Paths: (2 available, best #1, table default)
Advertised to update-groups:
6
Refresh Epoch 1
30
10.10.12.2 from 10.10.12.2 (192.168.50.1)
Origin IGP, metric 0, localpref 130, valid, internal, best
rx pathid: 0, tx pathid: 0x0
Updated on Oct 31 2025 16:47:42 UTC
Refresh Epoch 1
30
10.10.13.3 from 10.10.13.3 (10.0.10.1)
Origin IGP, metric 0, localpref 125, valid, external
Community: 100:250
rx pathid: 0, tx pathid: 0
Updated on Oct 31 2025 16:47:42 UTC
!--- Received prefix 10.1.0.0/24 over iBGP from 10.10.12.2 (R2) with local preference 130
!--- Prefix 10.1.0.0/24 with community 100:250 received from 10.10.13.3 (R3) is assigned local preference 125.
R1#show ip bgp
BGP table version is 20, local router ID is 10.200.200.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
t secondary path, L long-lived-stale,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 10.0.10.0/24 10.10.13.3 0 130 0 30 i
*>i 10.1.0.0/24 10.10.12.2 0 130 0 30 i
* 10.10.13.3 0 125 0 30 i
R1#show ip bgp summary
BGP router identifier 10.200.200.1, local AS number 100
BGP table version is 20, main routing table version 20
2 network entries using 496 bytes of memory
3 path entries using 408 bytes of memory
5/2 BGP path/bestpath attribute entries using 1440 bytes of memory
1 BGP AS-PATH entries using 24 bytes of memory
2 BGP community entries using 48 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 2416 total bytes of memory
BGP activity 4/2 prefixes, 15/12 paths, scan interval 60 secs
2 networks peaked at 15:24:53 Oct 31 2025 UTC (04:38:04.419 ago)
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
10.10.12.2 4 100 242 243 20 0 0 03:31:31 1
10.10.13.3 4 30 219 219 20 0 0 03:16:06 2
De opdracht show ip bgp op R1 bevestigt dat het beste pad dat op R1 is geselecteerd, de lokale voorkeur heeft (LoclPrf) = 130. Evenzo ontvangt R2 prefixes 10.0.10.0/24 en 10.1.0.0/24 met communities 100:250 en 100:300, zoals vet weergegeven in deze show ip bgp opdrachtuitvoer:
Opmerking: zodra deze routes in de BGP-tabel zijn geïnstalleerd, worden voorvoegsels met community 100:300 toegewezen aan lokale voorkeur 130 en voorvoegsels met community 100:250 aan lokale voorkeur 125.
R2#show ip bgp 10.0.10.0
BGP routing table entry for 10.0.10.0/24, version 13
Paths: (2 available, best #1, table default)
Advertised to update-groups:
6
Refresh Epoch 1
30
10.10.12.1 from 10.10.12.1 (10.200.200.1)
Origin IGP, metric 0, localpref 130, valid, internal, best
rx pathid: 0, tx pathid: 0x0
Updated on Oct 31 2025 16:47:42 UTC
Refresh Epoch 1
30
10.10.23.3 from 10.10.23.3 (10.0.10.1)
Origin IGP, metric 0, localpref 125, valid, external
Community: 100:250
rx pathid: 0, tx pathid: 0
Updated on Oct 31 2025 16:47:42 UTC
!--- Prefix 10.0.10.0/24 with community 100:250 received from 10.10.23.3 (R3) is assigned local preference 125
!--- Received prefix 10.0.10.0/24 over iBGP from 10.10.12.1 (R1) with local preference 130
R2#show ip bgp 10.1.0.0
BGP routing table entry for 10.1.0.0/24, version 11
Paths: (1 available, best #1, table default)
Advertised to update-groups:
5
Refresh Epoch 1
30
10.10.23.3 from 10.10.23.3 (10.0.10.1)
Origin IGP, metric 0, localpref 130, valid, external, best
Community: 100:300
rx pathid: 0, tx pathid: 0x0
Updated on Oct 31 2025 16:47:42 UTC
!--- Prefix 10.1.0.0/24 with community 100:300 received from 10.10.23.3 (R3) is assigned local preference 130.
R2#show ip bgp
BGP table version is 13, local router ID is 192.168.50.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
t secondary path, L long-lived-stale,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*>i 10.0.10.0/24 10.10.12.1 0 130 0 30 i
* 10.10.23.3 0 125 0 30 i
*> 10.1.0.0/24 10.10.23.3 0 130 0 30 i
R2#show ip bgp summary
BGP router identifier 192.168.50.1, local AS number 100
BGP table version is 13, main routing table version 13
2 network entries using 496 bytes of memory
3 path entries using 408 bytes of memory
5/2 BGP path/bestpath attribute entries using 1440 bytes of memory
1 BGP AS-PATH entries using 24 bytes of memory
2 BGP community entries using 48 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 2416 total bytes of memory
BGP activity 6/4 prefixes, 18/15 paths, scan interval 60 secs
2 networks peaked at 16:18:51 Oct 31 2025 UTC (03:55:29.816 ago)
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
10.10.12.1 4 100 255 254 13 0 0 03:42:55 1
10.10.23.3 4 30 233 232 13 0 0 03:27:29 2
Deze show ip bgp opdrachtuitvoer op R2 bevestigt dat het beste pad dat op R2 is geselecteerd, lokaal is (loclPrf) = 130. De IP-route naar prefix 10.0.10.0/24 geeft de voorkeur aan de R1-R3-link om af te sluiten van AS 100 naar AS 30. De show ip route opdracht op R1 en R2 bevestigt deze voorkeur.
R1#show ip route 10.0.10.0
Routing entry for 10.0.10.0/24
Known via "bgp 100", distance 20, metric 0
Tag 30, type external
Last update from 10.10.13.3 03:28:31 ago
Routing Descriptor Blocks:
* 10.10.13.3, from 10.10.13.3, 03:28:31 ago
opaque_ptr 0x7F19642ACC28
Route metric is 0, traffic share count is 1
AS Hops 1
Route tag 30
MPLS label: none
!--- On R1, the IP route to prefix 10.0.10.0/24 points to next hop 10.10.13.3 which is R3 interface on the R1-R3 link.
R2#show ip route 10.0.10.0
Routing entry for 10.0.10.0/24
Known via "bgp 100", distance 200, metric 0
Tag 30, type internal
Last update from 10.10.12.1 03:29:07 ago
Routing Descriptor Blocks:
* 10.10.12.1, from 10.10.12.1, 03:29:07 ago
opaque_ptr 0x7F14CD5E7D00
Route metric is 0, traffic share count is 1
AS Hops 1
Route tag 30
MPLS label: none
!--- On R2, IP route to prefix 10.0.10.0/24 points to next hop R1 (10.10.12.1) on its iBGP link
!--- Thus traffic to network 10.0.10.0/24 from R2 exits through R2-R1 and then R1-R3 link from AS 100 towards AS 30
De IP-route naar prefix 10.1.0.0/24 geeft de voorkeur aan de R2-R3-link om af te sluiten van AS 100 naar AS 30. De opdracht show ip route R1 en R2 bevestigt deze voorkeur.
R2#show ip route 10.1.0.0
Routing entry for 10.1.0.0/24
Known via "bgp 100", distance 20, metric 0
Tag 30, type external
Last update from 10.10.23.3 03:31:41 ago
Routing Descriptor Blocks:
* 10.10.23.3, from 10.10.23.3, 03:31:41 ago
opaque_ptr 0x7F14CD5E7A90
Route metric is 0, traffic share count is 1
AS Hops 1
Route tag 30
MPLS label: none
!--- On R2, IP route to prefix 10.1.0.0/24 points to next hop 10.10.23.3 which is R3 interface on R2-R3 link.
R1#show ip route 10.1.0.0
Routing entry for 10.1.0.0/24
Known via "bgp 100", distance 200, metric 0
Tag 30, type internal
Last update from 10.10.12.2 03:33:03 ago
Routing Descriptor Blocks:
* 10.10.12.2, from 10.10.12.2, 03:33:03 ago
opaque_ptr 0x7F19642AC748
Route metric is 0, traffic share count is 1
AS Hops 1
Route tag 30
MPLS label: none
!--- On R1, IP route to prefix 10.1.0.0/24 points to next hop R2 (10.10.12.2) on its iBGP link.
!--- Thus traffic to network 10.1.0.0/24 from R1 exits through R1-R2 and then R2-R3 link from AS 100 towards AS 30.
Als één link mislukt, bijvoorbeeld de R1-R3-link, moet al het verkeer de R2-R3-link volgen. U kunt dit verkeer simuleren als u de koppeling tussen R1-R3 afsluit.
R1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
R1(config)#interface gigabitEthernet 2
R1(config-if)#shutdown
R1(config-if)#
*Oct 31 21:26:31.423: %BGP-5-NBR_RESET: Neighbor 10.10.13.3 reset (Interface flap)
*Oct 31 21:26:31.461: %BGP-5-ADJCHANGE: neighbor 10.10.13.3 Down Interface flap
*Oct 31 21:26:31.461: %BGP_SESSION-5-ADJCHANGE: neighbor 10.10.13.3 IPv4 Unicast topology base removed from session Interface flap
*Oct 31 21:26:33.373: %LINK-5-CHANGED: Interface GigabitEthernet2, changed state to administratively down
*Oct 31 21:26:34.378: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet2, changed state to down
Let op de IP-routeringstabel voor prefix 10.0.10.0/24 en 10.1.0.0/24 op R1 en R2. Gebruik de R2-R3-koppeling om AS 100 te verlaten.
R1#show ip route 10.0.10.0
Routing entry for 10.0.10.0/24
Known via "bgp 100", distance 200, metric 0
Tag 30, type internal
Last update from 10.10.12.2 00:01:17 ago
Routing Descriptor Blocks:
* 10.10.12.2, from 10.10.12.2, 00:01:17 ago
opaque_ptr 0x7F19642AC880
Route metric is 0, traffic share count is 1
AS Hops 1
Route tag 30
MPLS label: none
R1#show ip route 10.1.0.0
Routing entry for 10.1.0.0/24
Known via "bgp 100", distance 200, metric 0
Tag 30, type internal
Last update from 10.10.12.2 04:41:06 ago
Routing Descriptor Blocks:
* 10.10.12.2, from 10.10.12.2, 04:41:06 ago
opaque_ptr 0x7F19642AC748
Route metric is 0, traffic share count is 1
AS Hops 1
Route tag 30
MPLS label: none
De vorige show opdrachtuitvoer laat zien dat de route naar prefixes10.0.10.0/24 en 10.1.0.0/24 wijst naar de volgende hop 10.10.12.2, (R2), die wordt verwacht. Bekijk nu de IP-routeringstabel op R2 om de volgende hop van prefix 10.0.10.0/24 en 10.1.0.0/24 te controleren. De volgende hop moet R3 zijn voor het geconfigureerde beleid om succesvol te kunnen werken.
R2#show ip route 10.0.10.0
Routing entry for 10.0.10.0/24
Known via "bgp 100", distance 20, metric 0
Tag 30, type external
Last update from 10.10.23.3 00:04:34 ago
Routing Descriptor Blocks:
* 10.10.23.3, from 10.10.23.3, 00:04:34 ago
opaque_ptr 0x7F14CD5E7820
Route metric is 0, traffic share count is 1
AS Hops 1
Route tag 30
MPLS label: none
R2#show ip route 10.1.0.0
Routing entry for 10.1.0.0/24
Known via "bgp 100", distance 20, metric 0
Tag 30, type external
Last update from 10.10.23.3 04:44:05 ago
Routing Descriptor Blocks:
* 10.10.23.3, from 10.10.23.3, 04:44:05 ago
opaque_ptr 0x7F14CD5E7A90
Route metric is 0, traffic share count is 1
AS Hops 1
Route tag 30
MPLS label: none
De volgende stap in 10.10.23.3 is de R3-interface GigabitEthernet2 op de R2-R3-link. Dit bevestigt dat het geconfigureerde beleid werkt zoals verwacht.
Gerelateerde informatie