Cele mai comune 8 comunități BGP
ce este o comunitate BGP?
o comunitate BGP este un atribut BGP opțional, tranzitiv, care este recunoscut și transmis altor colegi BGP. S-ar putea să vedeți o comunitate BGP ca o etichetă atașată rutelor BGP schimbate între doi colegi BGP.
pentru a începe, să vedem cum arată o comunitate BGP setată la un traseu într-un mesaj de actualizare. Luați în considerare această rețea simplă, unde R111 face publicitate traseului 10.10.10.0/24 către as 11 BGP peer. R111 stabilește comunitatea 1: 110 pe rutele pe care le face publicitate la R11.
când ne uităm la mesajul de actualizare BGP de la R111 (1.1.3.2) către R11 (1.1.3.1), putem vedea mai multe atribute BGP împreună cu valoarea lor. Unul dintre aceste atribute BGP este comunitatea. Amintiți – vă, acest atribut este opțional și este afișat pentru că a fost setat pe traseu înainte de a fi promovat:
când verificăm ruta pe R11 (deoarece R11 a acceptat ruta și, de asemenea, nu execută nicio operație pe comunitate), putem vedea ruta având comunitatea 1:110:
R11#show ip bg 10.10.10.0/24BGP routing table entry for 10.10.10.0/24, version 2Paths: (1 available, best #1, table default) Advertised to update-groups: 1 Refresh Epoch 1 111 1.1.3.2 from 1.1.3.2 (10.10.10.1) Origin IGP, metric 0, localpref 100, valid, external, best Community: 1:110 rx pathid: 0, tx pathid: 0x0R11#
acum că ați văzut cum arată o comunitate BGP într-un mesaj de actualizare, să începem să explorăm conceptele mai avansate care înconjoară acest atribut.
Advanced BGP Community Concepts
o comunitate este o valoare pe 32 de biți împărțită în două secțiuni pe 16 biți. Primii 16 biți codifică numărul AS care a originat comunitatea, iar ultimii 16 biți reprezintă un număr unic atribuit de AS. Deoarece fiecare număr AS este unic, fiecare comunitate este, de asemenea, unică pe internet. Aceasta înseamnă că un AS cu ASN 9999 (care în hex este 0x270F) poate avea comunități în intervalul 0x270F0000 – 0x270fffff.
comunități BGP bine cunoscute
următoarele sunt câteva comunități bine cunoscute care trebuie recunoscute de toate implementările BGP conștiente de comunitate.
Comunitate fără publicitate
când o comunitate fără publicitate este atașată unei rute, vorbitorul BGP nu va face publicitate rutei către niciun coleg BGP intern sau extern.
următorul exemplu arată un traseu fără publicitate (10.10.10.0/24) care nu este promovat de R1 către colegii R11, R12, R111.
no-Export Community
când o comunitate no-Export este atașată la o rută, routerul nu va face publicitate rutei către colegii externi-doar către colegii interni.
următorul exemplu arată o rută fără Export (10.10.10.0/24) care nu este anunțată de R1, R11 sau R12 către colegul lor extern, R111.
în acest caz specific, R1 nu va face publicitate traseului către R111, ci doar către R11 și R12, deoarece acești doi sunt colegi interni BGP. Ulterior, R11 și R12 nu vor face publicitate nici rutei către R111, deoarece este un coleg extern BGP.
Local ca Comunitate
pentru a evita orice bucle de rutare BGP, există o regulă importantă cu privire la vecinii interni BGP: un vecin IBGP nu poate face publicitate unei rute către un vecin IBGP dacă a primit acea rută de la un alt vecin IBGP.
următorul exemplu arată o rută locală as (10.10.10.0/24) care nu este anunțată între vecinii IBGP (R11 și R111) în cadrul local as.
mai exact, R11 face publicitate rutei către R22, dar R22 nu face publicitate rutei către R111, pe baza regulii menționate mai sus. Pentru ca R111 să aibă ruta, există mai multe soluții, cum ar fi crearea unei rețele complete de sesiuni IBGP între routerele AS11 sau ruperea AS 11 într-un sub-as în interiorul unei confederații.
lumea din afara AS11 nu este conștientă de AS 1000 și AS1001. Acest lucru permite R111 pentru a primi 10.10.10.0/24 traseu fără a avea plasă completă BGP peering. Comunitatea locală-As nu face publicitate rutelor în afara sub-AS.
comunitatea de închidere grațioasă
comunitatea Graceful_SHUTDOWN (65535:0) este utilizată pentru a închide fără probleme căile pe care un router le-ar putea folosi atunci când routerul său de la egal la Egal este pe cale să fie închis intenționat. Pentru ilustrare, să presupunem că R111 folosește R11 pentru a ajunge la subrețea 10.10.10.0/24, dar R11 va coborî pentru ca o repornire să fie actualizată:
odată ce R11 face publicitate acestei comunități, R111 răspunde prin trecerea traficului la R12 cu un impact minim:
comunitate extinsă
o comunitate extinsă este o valoare de 8 octeți, care este împărțit în două secțiuni principale:
- primii 2 octeți: specifică tipul comunității
- ultimii 6 octeți: Oferă informații unice specifice tipului de comunitate
o comunitate extinsă are trei câmpuri: tip, administrator, număr atribuit (tip:administrator:număr atribuit). Pe baza valorii octetului de ordin înalt din câmpul Tip, câmpul administrator poate fi o adresă as sau IP.
cea mai cunoscută aplicație pentru comunități extinse este în MPLS-VPN care folosește două comunități extinse:
- Route Target community: identifică routerele care pot primi un anumit set de rute.
- comunitatea de origine a rutei: Identifică routerele care injectează un anumit set de rute în BGP.
o rutare și redirecționare virtuală (VRF) este un tabel de rutare virtuală care poate avea propriile politici de rutare separate separate de tabelul de rutare globală sau de alte VRFs. Practic, puteți conecta mai multe site-uri ale unui client și puteți avea un tabel de rutare separat (VRF) în întreaga rețea doar pentru acest client și puteți implementa politici de rutare diferite de politicile de rutare ale unui alt client.
această separare este posibilă datorită extensiilor BGP multiprotocol și MPLS.
Route Target Community
Route Target community este utilizată în mediile MPLS VPN pentru a separa tabelele de rutare a doi clienți, așa cum se arată în diagrama următoare:
în acest caz specific, VRF customer RED este prezent doar pe R1 și R12, iar VRF customer BLUE este prezent doar pe R11 și R22, dar ar fi putut fi prezenți pe toate cele patru routere.
când o rută este exportată prin BGP de la VRF Red, ruta-țintă 100:100 este atribuită rutei prin export. Când ruta ajunge la R12, importă ruta din R1, astfel încât site-urile conectate la R1 și R12 să poată comunica.
Route Origin Community
într-un mediu VPN MPLS, comunitatea route origin este utilizată pentru a identifica de unde provin rutele, astfel încât să se evite readvertisement înapoi la site-ul respectiv.
în acest caz, atunci când PE1 primește ruta de la CE1, pe lângă ruta-țintă care este atașată rutei (folosind exportul), se atașează și comunitatea de origine a rutei.
traseul ajunge PE2, dar PE2 nu-l face publicitate la CE2, pentru că știe că a venit de pe site.
comunități mari
o comunitate mare este o comunitate BGP de 12 octeți care a fost dezvoltată atunci când a început să fie alocat AS de 4 octeți. Deoarece fiecare dintre comunitățile standard sau extinse utilizează valori de 2 octeți pentru AS, un As de 4 octeți nu s-ar încadra în valoarea standard de 2 octeți.
The Large community is displayed as follows:
32-bit-ASN:32-bit-value:32-bit-value.
BGP cel mai bun algoritm de selecție cale
după cum ați văzut, comunitățile BGP au mai multe aplicații. Acestea sunt importante pentru etichetarea rutelor, manipularea traficului și efectuarea diferitelor acțiuni asupra atributelor BGP ale rutelor care se potrivesc cu anumite comunități.
ori de câte ori un router trebuie să determine ce cale de mulți să ia la o anumită destinație, trebuie să urmeze algoritmul de selecție BGP best path, care evaluează atributele BGP. Puteți citi mai multe despre algoritmul de selecție a celei mai bune căi BGP în articolul nostru anterior, atribute BGP.
Exemple de comunitate BGP
această secțiune demonstrează modul în care o comunitate BGP atașată la un traseu poate influența traficul de încărcare și descărcare către și de la gazde din acel prefix.
Upload
există mai multe moduri de a influența calea de trafic de încărcare, dar cel mai frecvent este de a face uz de preferința locală.
după cum ați văzut în articolul atribute BGP, cu cât valoarea preferinței locale pentru o rută este mai mare, cu atât este mai probabil ca acea cale să fie aleasă de algoritmul de selecție a celei mai bune căi BGP.
în ilustrația următoare, R11 și R12 sunt configurate pentru a:
- setați preferința locală la 205 dacă primesc un traseu cu comunitatea 1:205.
- setați preferința locală la 210 dacă primesc o rută cu comunitatea 1:210.
ambele routere fac publicitate rutelor către R1, care trebuie să decidă ce cale să folosească. În acest caz, R1 folosește calea de la R11, ceea ce înseamnă că traficul va curge astfel:
încărcați ieșirea routerului
R1#sh ip bgp 10.10.10.0BGP routing table entry for 10.10.10.0/24, version 2Paths: (2 available, best #1, table default) Not advertised to any peer Refresh Epoch 1 111 1.1.3.2 (metric 20) from 1.1.1.2 (1.1.100.11) Origin IGP, metric 0, localpref 210, valid, internal, best Community: 1:210 rx pathid: 0, tx pathid: 0x0 Refresh Epoch 1 111 1.1.4.2 (metric 20) from 1.1.2.2 (1.1.100.12) Origin IGP, metric 0, localpref 205, valid, internal Community: 1:205 rx pathid: 0, tx pathid: 0R1#
descărcați
o modalitate obișnuită de a influența calea traficului de descărcare (sau modul în care alții trimit trafic către AS) este să efectuați AS_PATH prepend pentru AS. Cu cât AS_PATH este mai lungă, cu atât este mai puțin probabil ca calea să fie selectată de cel mai bun algoritm de selecție a căii.
în ilustrația următoare, AS 1 preferă ca traficul Redirecționat de la AS 111 să fie trimis de la R12.
AS 111 (din cauza R111) are o politică care să ateste că dacă AS 1 anunță un prefix cu comunitatea 1:1, Efectuați o as_path prepend. Prin urmare, R111 stabilește AS_PATH a traseului ca . În cazul în care traseul vine cu comunitatea de 1:3, apoi efectuați trei as_path prepends ().
R111 primește cele două căi și trebuie să acționeze pe baza comunității atașate acestor căi. Deoarece preferă ruta de la R12, traficul curge astfel:
descărcați ieșirea routerului
R111#sh ip bgp 10.10.10.0/24BGP routing table entry for 10.10.10.0/24, version 4Paths: (2 available, best #2, table default) Advertised to update-groups: 6 Refresh Epoch 2 1 1 1 1 1.1.3.1 from 1.1.3.1 (1.1.100.11) Origin IGP, metric 100, localpref 100, valid, external Community: 1:3 rx pathid: 0, tx pathid: 0 Refresh Epoch 2 1 1 1.1.4.1 from 1.1.4.1 (1.1.100.12) Origin IGP, localpref 100, valid, external, best Community: 1:1 rx pathid: 0, tx pathid: 0x0R111#
rezumat
în acest articol, am discutat despre cele mai comune comunități BGP disponibile pentru atributul comunității BGP și despre modul în care acestea sunt utilizate pentru a direcționa traficul. Deși comunitățile BGP sunt atribute opționale, ele sunt puternice atât pentru rutarea traficului intern, cât și pentru cel extern. Puteți chiar să le utilizați pentru a pregăti redirecționarea traficului pentru repornirile și opririle planificate.
pentru mai multe informații despre conceptele BGP, consultați Ghidul administratorului de rețea.
Leave a Reply