comunități BGP

Ultima actualizare: (UTC)

scopul principal al BGP activat routere este de a face publicitate prefixe la alte routere. Aceste prefixe pot fi din mai multe familii de adrese diferite, cum ar fi IPv4 și VPNv4. Când faceți publicitate unui prefix, BGP atașează informații suplimentare, numite atribute. BGP utilizează aceste atribute pentru a selecta cea mai bună cale.

BGP poate include mai multe informații cu fiecare prefix, sub formă de șiruri comunitare. Un șir de comunitate este o valoare numerică pe care colegul o folosește ca o etichetă.

comunitățile creează politici de rutare între colegi. Etichetând prefixele cu comunitățile, îi spunem colegului să gestioneze prefixele într-un mod special.

de exemplu, să spunem că un anumit grup de prefixe trebuie să aibă greutatea setată la 10 de către un router peer. Putem alege un număr de comunitate pe care să îl folosim și să etichetăm prefixele cu acesta. Dacă vede un prefix de la noi etichetat cu această comunitate, va seta greutatea la 10.

trebuie să fim de acord cu colegii noștri asupra comunităților pe care să le folosim. Din punct de vedere tehnic, depinde de ei să decidă cum vor gestiona orice șir comunitar. Ei ar putea alege să le ignore cu totul, dacă doresc să.

furnizorii pot avea o listă a comunităților predefinite pe care le utilizează și acțiunile pe care le întreprind. În calitate de client, putem seta comunitățile noastre să se potrivească politicilor lor, pentru a regla modul în care gestionează prefixele noastre.

comunitățile sunt opționale și tranzitive. Ele sunt tranzitive, astfel încât un coleg le poate trece la următorul coleg.

fiecare comunitate standard este o valoare pe 32 de biți. Acestea sunt adesea împărțite în două valori pe 16 biți, pentru a le face mai ușor de citit. De exemplu, comunitatea 4259840100 este același lucru ca 65000:100. Adesea, primii 16 biți reprezintă AS, iar al doilea 16 biți sunt o valoare personalizată.

există, de asemenea, comunități extinse, care sunt pentru scopuri speciale, cum ar fi MPLS VPN. acestea sunt valori pe 64 de biți. Acestea cuprind o valoare de tip 16 biți, o valoare AS sau IP de 16 biți și 32 de biți pentru valoarea comunității personalizate.

unele comunități sunt rezervate:

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

configurare

să laborator asta pentru a vedea cum funcționează. Vă rugăm să fiți conștienți de faptul că acest lucru nu este un scenariu din lumea reală.

pentru acest laborator, vom folosi două routere cu ASN-uri diferite. R1 are mai multe rețele pe care dorește să le facă publicitate la R2.

R2 atribuie greutăți prefixelor, în funcție de comunitățile atașate:

  • dacă comunitatea este setată la 10:100, va seta greutatea la 100
  • dacă comunitatea este setată la 10:200, se va seta greutatea la 10

descărcați BGP Communities Lab

R1 – alocați comunități

listele de prefixe identifică rutele la care să alocați comunități. În acest caz, 172.16.0.0 și 172.16.10.0 se află în Grup1, iar 172.16.20.0 se află în Grup2.

Route-maps se potrivesc cu listele de prefixe, apoi setați comunitatea pe traseu. Grupului 1 i se atribuie comunitatea 100, iar grupului 2 i se atribuie comunitatea 200.

în mod implicit, comunitățile sunt un număr mare, care este greu de citit. Comanda ip BGP-community new-format modifică această valoare în formatul ASN: Community. Acest lucru face verificarea mai ușoară mai târziu.

în mod implicit, routerele Cisco nu trimit comunități. Activați acest lucru pentru fiecare vecin cu comenzile extended send-community și send-community.

în cele din urmă, harta rutelor este aplicată la ieșirea vecinului. La trimiterea rutelor către vecin, comunitățile sunt atașate.

R1 – alocați comunități
! 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

verificați comunități

aici, putem vedea că comunitățile sunt setate pe rutele pe care le primește R2.

verificarea R2
! 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

setați politicile

acum că R2 primește rute cu comunitățile, le poate aplica politici.

în primul rând, vom crea o listă comunitate pentru a identifica comunități specifice. Acestea sunt ca folosind ACL-uri sau prefix-liste pentru a identifica adresele IP. În acest exemplu folosim o listă comunitară numită. Spre deosebire de listele comunitare numerotate, acestea acceptă RegEx și pot avea intrări nelimitate. Listele numerotate au o limită de 100 de intrări.

Route-hărți se potrivesc comunității, și a stabilit greutatea.

harta rutei este aplicată vecinului pentru prefixele de intrare.

R2 – setați politicile
! 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

aceste modificări nu vor avea loc pentru rutele deja în tabelul de rutare. Cel mai simplu mod de a forța acest lucru să se aplice este de a reseta relația vecin. Rețineți că acest lucru este perturbator, deci nu o faceți într-o rețea de producție.

verificați politicile

dacă vă uitați la tabelul BGP de pe R2, puteți vedea că greutățile au fost setate conform așteptărilor.

R2 – verificare
! 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

comunități bine cunoscute

există mai multe comunități predefinite, numite comunități bine cunoscute. Aceste comunități au semnificații predefinite speciale pe care le susțin toți vorbitorii BGP.

cele mai frecvente includ:

Internet – o comunitate proprietară Cisco. Acest lucru permite routerului să facă publicitate prefixului tuturor vecinilor. Aceasta este o comunitate ‘catch-all’ la sfârșitul unei liste comunitare. Aceasta este o excepție, deoarece nu toți vânzătorii o vor susține.

no-Export – împiedică publicitatea prefixului către orice vecini eBGP. Aceasta păstrează un prefix în AS.

No-Advertising – acest lucru împiedică publicitate prefixul la orice vecini, la toate.

Local-as – Used cu confederații pentru a păstra prefixul în cadrul Local AS. Permite partajarea prefixelor cu vecinii eBGP din cadrul Confederației.

proiectare pentru comunități

când proiectați comunități, luați în considerare acești pași de bază:

  1. definiți Politica administrativă de rutare
    • decideți ce să filtrați și unde să filtrați
    • decideți ce atribute să modificați pentru a influența fluxul de trafic
  2. proiectați sistemul comunitar
    • adică decideți ce valori să utilizați, pe baza politicii
  3. implementați schema utilizând hărțile rutelor
  4. creare documentație

când primiți rute de la o sursă externă, luați în considerare etichetarea acestora pe baza site-ului pe care au fost primite. De asemenea, atunci când inițiați rute, luați în considerare etichetarea acestora cu un ID pentru site-ul care le-a originat.

Lasă un răspuns

Adresa ta de email nu va fi publicată.