BGP-Gemeenschappen

laatst bijgewerkt: (UTC)

het belangrijkste doel van BGP enabled routers is om voorvoegsels te adverteren naar andere routers. Deze voorvoegsels kunnen afkomstig zijn van verschillende adresfamilies, zoals IPv4 en VPNv4. Bij het adverteren van een voorvoegsel voegt BGP extra informatie toe, attributen genoemd. BGP gebruikt deze attributen om het beste pad te selecteren.

BGP kan meer informatie bevatten bij elk voorvoegsel, in de vorm van Community Strings. Een community string is een getalwaarde die de peer gebruikt als een tag.

Communities creëren routeringsbeleid tussen peers. Door voorvoegsels met communities te taggen, vertellen we de peer om de voorvoegsels op een speciale manier te behandelen.

als voorbeeld, laten we zeggen dat een specifieke groep voorvoegsels hun gewicht moet hebben ingesteld op 10 door een peer router. We kunnen een communitynummer kiezen om te gebruiken, en de voorvoegsels ermee taggen. Als het een voorvoegsel van ons ziet die is gelabeld met deze gemeenschap, zal het het gewicht instellen op 10.

we moeten het met onze peer eens zijn over welke communities we moeten gebruiken. Vanuit een technisch perspectief, het is aan hen om te beslissen hoe ze zullen omgaan met een community string. Ze kunnen ervoor kiezen om ze helemaal te negeren als ze dat willen.

aanbieders kunnen een lijst hebben van vooraf gedefinieerde gemeenschappen die zij gebruiken, en acties die zij ondernemen. Als klant kunnen we onze communities aanpassen aan hun beleid, om af te stemmen hoe ze omgaan met onze voorvoegsels.

gemeenschappen zijn optioneel en transitief. Ze zijn transitief, zodat een peer ze kan doorgeven aan de volgende peer.

elke standaard gemeenschap is een 32-bits waarde. Ze worden vaak opgesplitst in twee 16-bits waarden, om ze gemakkelijker te lezen te maken. De communautaire 4259840100 is bijvoorbeeld hetzelfde als 65000: 100. Vaak vertegenwoordigen de eerste 16-bits het AS, en de tweede 16-bits zijn een aangepaste waarde.

er zijn ook extended communities, die voor speciale doeleinden zijn, zoals MPLS VPN ‘ s.dit zijn 64-bits waarden. Ze bestaan uit een 16-bits type waarde, een 16-bits AS of IP waarde, en 32-bits voor de aangepaste gemeenschap waarde.

sommige gemeenschappen zijn voorbehouden:

  • 0:0 – 0:65535
  • 65535:0 – 65535:63335

configuratie

laten we het lab uit om te zien hoe het werkt. Houd er rekening mee dat dit geen echt scenario is.

voor dit lab gebruiken we twee routers met verschillende ASN ‘ s. R1 heeft meerdere netwerken die het wil adverteren bij R2.

R2 kent gewichten toe aan de voorvoegsels, afhankelijk van de bijgevoegde gemeenschappen:

  • als de Gemeenschap op 10:100 wordt gesteld, wordt het gewicht op 100
  • vastgesteld als de Gemeenschap op 10 wordt gesteld.:200, het zal het gewicht instellen op 10

Download het BGP Communities Lab

R1-toewijzen van Communities

Prefix lijsten geven aan aan welke routes gemeenschappen moeten worden toegewezen. In dit geval, 172.16.0.0 en 172.16.10.0 is in Group1, en 172.16.20.0 is in Group2.

routekaarten komen overeen met de voorvoegsellijsten en stellen vervolgens de community op de route in. Groep 1 krijgt community 100 toegewezen en groep 2 krijgt community 200 toegewezen.

de gemeenschappen zijn standaard één groot aantal, dat moeilijk leesbaar is. Het commando ip BGP-community new-format verandert deze waarde in het ASN:Community-formaat. Dit maakt verificatie later gemakkelijker.

standaard verzenden Cisco-routers geen communities. Schakel dit per buurman in met de send-community en send-community extended commando ‘ s.

ten slotte wordt de routekaart toegepast op de uitgaande buur. Bij het verzenden van routes naar de buurman zijn de gemeenschappen verbonden.

R1-Gemeenschappen
! Identify networks with prefix listsip prefix-list Group1 seq 5 permit 172.16.0.0/24ip prefix-list Group1 seq 10 permit 172.16.10.0/24ip prefix-list Group2 seq 5 permit 172.16.20.0/24! Match networks, and set community valuesroute-map R2_Peer permit 10 match ip address prefix-list Group1 set community 10:100route-map R2_Peer permit 20 match ip address prefix-list Group2 set community 10:200! Enable the new community formatip bgp-community new-formatrouter bgp 10 ! Enable sending communities neighbor 10.10.10.2 send-community neighbor 10.10.10.2 send-community extended ! Apply the route map to this neighbour neighbor 10.10.10.2 route-map R2_Peer out

controleren Gemeenschappen

hier kunnen we zien dat de gemeenschappen zijn ingesteld op de routes die R2 ontvangt.

R2 verificatie
! Enable the new community formatip bgp-community new-format! Verify that the community is setR2#show ip bgp 172.16.0.0BGP routing table entry for 172.16.0.0/24, version 2Paths: (1 available, best #1, table default) Not advertised to any peer Refresh Epoch 1 10 10.10.10.1 from 10.10.10.1 (172.16.20.1) Origin IGP, metric 0, localpref 100, valid, external, best Community: 10:100 rx pathid: 0, tx pathid: 0x0R2#show ip bgp 172.16.20.0BGP routing table entry for 172.16.20.0/24, version 4Paths: (1 available, best #1, table default) Not advertised to any peer Refresh Epoch 1 10 10.10.10.1 from 10.10.10.1 (172.16.20.1) Origin IGP, metric 0, localpref 100, valid, external, best Community: 10:200 rx pathid: 0, tx pathid: 0x0

beleid instellen

nu R2 routes met gemeenschappen ontvangt, kan het beleid daarop toepassen.

eerst maken we een communitylijst om specifieke communities te identificeren. Dit lijkt op het gebruik van ACLs of prefix-lijsten om IP-adressen te identificeren. In dit voorbeeld gebruiken we een named community lijst. In tegenstelling tot genummerde communitylijsten, ondersteunen ze RegEx, en kunnen ze onbeperkte ingangen hebben. Genummerde lijsten hebben een limiet van 100 items.

routekaarten komen overeen met de Gemeenschap en bepalen het gewicht.

de routekaart wordt toegepast op de buurman voor inkomende voorvoegsels.

R2-beleid instellen
! Create a named community list to identify the communitiesip community-list expanded High_Weight permit 10:100ip community-list expanded Low_Weight permit 10:200! Create a route-map to match the communities, and set the weightroute-map R1_Peer permit 10 match community High_Weight set weight 100route-map R1_Peer permit 20 match community Low_Weight set weight 10 ! Apply the route map to the neighbourrouter bgp 20 neighbor 10.10.10.1 route-map R1_Peer in

deze wijzigingen zullen niet plaatsvinden voor routes die al in uw routeringstabel staan. De makkelijkste manier om dit toe te passen is om de buurrelatie te resetten. Houd er rekening mee dat dit storend is, dus doe het niet in een productienetwerk.

verifieer beleid

als u naar de BGP-tabel op R2 kijkt, kunt u zien dat de gewichten zijn ingesteld zoals verwacht.

R2-verificatie
! Verify that the weights are setR2#show ip bgpBGP table version is 4, local router ID is 10.10.10.2Status 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, Origin codes: i - IGP, e - EGP, ? - incompleteRPKI validation codes: V valid, I invalid, N Not found Network Next Hop Metric LocPrf Weight Path *> 172.16.0.0/24 10.10.10.1 0 100 10 i *> 172.16.10.0/24 10.10.10.1 0 100 10 i *> 172.16.20.0/24 10.10.10.1 0 10 10 i

bekende Gemeenschappen

er zijn verschillende vooraf gedefinieerde gemeenschappen, die bekende Gemeenschappen worden genoemd. Deze communities hebben speciale vooraf gedefinieerde betekenissen die alle BGP-sprekers ondersteunen.

de meest voorkomende zijn:

Internet – een Cisco proprietary community. Hierdoor kan de router het voorvoegsel adverteren bij alle buren. Dit is een “catch-all” – gemeenschap aan het einde van een communautaire lijst. Dit is een uitzondering, omdat het niet alle leveranciers zullen ondersteunen.

geen-Export-voorkomt het adverteren van het voorvoegsel naar eBGP-buren. Dit houdt een voorvoegsel in de AS.

Nee-adverteren – dit voorkomt reclame voor het voorvoegsel aan om het even welke buren.

Local-AS-gebruikt met confederaties om het voorvoegsel binnen het lokale AS te houden. Maakt het delen van prefix met eBGP-buren binnen de Confederatie mogelijk.

ontwerpen voor Gemeenschappen

overweeg bij het ontwerpen van gemeenschappen deze basisstappen:

  1. Definiëren van de routing-administratieve beleid
    • Beslissen wat te filteren, en waar te filteren
    • Beslissen wat te wijzigen kenmerken beïnvloeden de verkeersafwikkeling
  2. het Ontwerp van de communautaire regeling
    • Dat is, bepalen welke waarden te gebruiken, gebaseerd op het beleid
  3. Het implementeren van de regeling met behulp van route kaarten
  4. Maak documentatie

Bij ontvangst van routes van een externe bron, overweeg tagging hen die gebaseerd is op de site werden ze ontvangen. Evenzo, bij het begin van routes, overwegen om ze te taggen met een ID voor de site die ze ontstaan.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.