Le 8 comunità BGP più comuni
Che cos’è una comunità BGP?
Una comunità BGP è un attributo BGP facoltativo e transitivo che viene riconosciuto e passato ad altri peer BGP. È possibile visualizzare una comunità BGP come tag allegato ai percorsi BGP scambiati tra due peer BGP.
Per iniziare, diamo un’occhiata a come appare una comunità BGP impostata su un percorso in un messaggio di aggiornamento. Considera questa semplice rete, in cui R111 pubblicizza il percorso 10.10.10.0 / 24 al peer AS 11 BGP. R111 imposta la comunità 1: 110 sulle rotte che pubblicizza per R11.
Guardando il messaggio di aggiornamento BGP da R111 (1.1.3.2) verso R11 (1.1.3.1), possiamo vedere più attributi BGP insieme al loro valore. Uno di questi attributi BGP è la comunità. Ricorda, questo attributo è facoltativo e viene visualizzato perché è stato impostato sulla rotta prima di essere pubblicizzato:
Quando si verifica il percorso su R11 (perché R11 accettato il percorso e, inoltre, non eseguire qualsiasi operazione di comunità”), possiamo vedere il percorso avendo 1:110 comunità:
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#
Ora che hai visto quello che un BGP comunità sembra all’interno di un messaggio di Aggiornamento, iniziamo ad esplorare i concetti più avanzati che circonda questo attributo.
Concetti avanzati della comunità BGP
Una comunità è un valore a 32 bit diviso in due sezioni a 16 bit. I primi 16 bit codificano il numero AS che ha dato origine alla comunità e gli ultimi 16 bit rappresentano un numero univoco assegnato dall’AS. Poiché ogni numero AS è unico, ogni comunità è anche unica su Internet. Ciò significa che un AS con ASN 9999 (che in hex è 0x270F) può avere comunità nell’intervallo 0x270F0000 – 0x270FFFFF.
Comunità BGP ben note
Di seguito sono riportate alcune comunità ben note che devono essere riconosciute da tutte le implementazioni BGP consapevoli della comunità.
Comunità senza pubblicità
Quando una comunità senza pubblicità è collegata a un percorso, l’altoparlante BGP non pubblicizzerà il percorso a nessun peer BGP interno o esterno.
L’esempio seguente mostra un percorso No-Advertise (10.10.10.0/24) che non viene pubblicizzato da R1 ai peer R11, R12, R111.
No-Export Community
Quando una comunità No-Export è collegata a un percorso, il router non pubblicizzerà il percorso ai peer esterni, ma solo ai peer interni.
L’esempio seguente mostra un percorso di No-Export (10.10.10.0/24) che non viene pubblicizzato da R1, R11 o R12 al loro peer esterno, R111.
In questo caso specifico, R1 non pubblicizzerà il percorso verso R111, solo verso R11 e R12, perché questi due sono peer BGP interni. Successivamente, R11 e R12 non pubblicizzeranno nessuna delle due rotte verso R111 perché è un peer BGP esterno.
Local AS Community
Per evitare qualsiasi ciclo di routing BGP, esiste una regola importante per quanto riguarda i vicini BGP interni: un vicino IBGP non può pubblicizzare una rotta verso un vicino IBGP se ha ricevuto quella rotta da un altro vicino IBGP.
L’esempio seguente mostra una Route AS locale (10.10.10.0/24) che non viene pubblicizzata tra i vicini IBGP (R11 e R111) all’interno dell’AS locale.
Più esattamente, R11 pubblicizza il percorso verso R22, ma R22 non pubblicizza il percorso verso R111, in base alla regola sopra menzionata. Per R111 avere il percorso, ci sono più soluzioni come creare una mesh completa di sessioni IBGP tra i router di AS11 o rompere l’AS 11 in un sub-AS all’interno di una confederazione.
Il mondo al di fuori di AS11 non è a conoscenza di AS 1000 e AS1001. Ciò consente a R111 di ricevere il percorso 10.10.10.0 / 24 senza il peering BGP a mesh completo. La comunità Local-AS non pubblicizza percorsi al di fuori del sub-AS.
Graceful_shutdown Community
La comunità Graceful_SHUTDOWN (65535:0) viene utilizzata per arrestare senza problemi i percorsi che un router potrebbe utilizzare quando il suo router peer sta per essere intenzionalmente spento. Per esempio, supponiamo che R111 stia usando R11 per raggiungere la sottorete 10.10.10.0 / 24, ma R11 andrà giù per un riavvio da aggiornare:
una Volta R11 pubblicizza questa comunità, R111 risponde di commutazione del traffico oltre a R12, con il minimo impatto:
Comunità allargata
Un’Estesa comunità è di 8 byte valore che è diviso in due sezioni principali:
- Primi 2 byte: Specifica comunità di tipo
- Ultimi 6 byte: Fornisce informazioni univoche specifiche per il tipo di comunità
Una comunità estesa dispone di tre campi: tipo, amministratore, numero assegnato (tipo:amministratore:numero assegnato). In base al valore del byte di ordine superiore nel campo Tipo, il campo amministratore può essere un AS o un indirizzo IP.
L’applicazione più nota per le comunità estese è in MPLS-VPN che fa uso di due comunità estese:
- Comunità di destinazione del percorso: identifica i router che possono ricevere un set specifico di percorsi.
- Percorso Comunità di origine: Identifica i router che iniettano un set specifico di percorsi in BGP.
Un Virtual Routing and Forwarding (VRF) è una tabella di routing virtuale che può avere le proprie politiche di routing separate dalla tabella di routing globale o da altri VRF. Fondamentalmente, è possibile collegare più siti di un cliente e disporre di una tabella di routing separata (VRF) sull’intera rete solo per questo cliente e implementare politiche di routing diverse dalle politiche di routing di un altro cliente.
Questa separazione è possibile grazie alle estensioni BGP multiprotocollo e MPLS.
Route Target Community
La Route Target community viene utilizzata in ambienti VPN MPLS per separare due tabelle di routing dei clienti, come mostrato nel diagramma seguente:
In questo caso specifico, VRF Cliente il ROSSO è presente solo su R1 a R12 e VRF Cliente BLU è presente solo su R11 e R22, ma potrebbero essere presenti su tutti e quattro i router.
Quando una rotta viene esportata tramite BGP da VRF Red, la destinazione di rotta 100: 100 viene assegnata alla rotta tramite esportazione. Quando il percorso raggiunge R12, importa il percorso da R1 in modo che i siti collegati a R1 e R12 siano in grado di comunicare.
Comunità di origine del percorso
In un ambiente VPN MPLS, la comunità di origine del percorso viene utilizzata per identificare da dove provengono i percorsi, in modo da evitare la readvertisement a quel sito.
In questo caso, quando PE1 riceve il percorso da CE1, oltre al percorso-target collegato al percorso (utilizzando l’esportazione), attribuisce anche la comunità di origine del percorso.
Il percorso raggiunge PE2, ma PE2 non lo pubblicizza a CE2, perché sa che proviene dal sito.
Grandi comunità
Una grande comunità è una comunità BGP a 12 byte che è stata sviluppata quando il 4 byte AS ha cominciato ad essere assegnato. Poiché ciascuna delle comunità standard o estese utilizza valori a 2 byte per l’AS, un AS a 4 byte non si adatta al valore standard a 2 byte.
The Large community is displayed as follows:
32-bit-ASN:32-bit-value:32-bit-value.
BGP Best Path Selection Algorithm
Come hai visto, le comunità BGP hanno più applicazioni. Sono importanti per taggare i percorsi, manipolare il traffico ed eseguire varie azioni sugli attributi BGP dei percorsi corrispondenti a comunità specifiche.
Ogni volta che un router deve determinare quale percorso di molti da portare a una determinata destinazione, deve seguire l’algoritmo di selezione del percorso BGP best, che valuta gli attributi BGP. Puoi leggere di più sull’algoritmo di selezione del percorso BGP best nel nostro precedente articolo, Attributi BGP.
Esempi di comunità BGP
Questa sezione mostra come una comunità BGP collegata a un percorso può influenzare il traffico di upload e download da e verso gli host da quel prefisso.
Carica
Esistono diversi modi per influenzare il percorso del traffico di caricamento, ma il più comune è quello di utilizzare le preferenze locali.
Come hai visto nell’articolo sugli attributi BGP, maggiore è il valore della preferenza locale per un percorso, maggiore è la probabilità che il percorso venga scelto dall’algoritmo di selezione del percorso BGP best.
Nella figura seguente, R11 e R12 sono configurati per:
- Impostare la preferenza locale su 205 se ricevono un percorso con comunità 1: 205.
- Imposta la preferenza locale su 210 se ricevono un percorso con comunità 1: 210.
Entrambi questi router pubblicizzano i percorsi verso R1, che deve decidere quale percorso utilizzare. In questo caso, R1 utilizza il percorso da R11, il che significa che il traffico scorrerà in questo modo:
Upload Router Output
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#
Scarica
Un modo comune per influenzare il percorso del traffico di download (o il modo in cui altri inviano traffico al tuo AS), è eseguire AS_PATH antepone al tuo AS. Più lungo è l’AS_PATH, meno è probabile che il percorso sia selezionato dal miglior algoritmo di selezione del percorso.
Nell’illustrazione successiva, AS 1 preferisce che il traffico inoltrato da AS 111 venga inviato da R12.
AS 111 (a causa di R111) ha una politica che afferma che if AS 1 annuncia un prefisso con la comunità 1:1, eseguire un antecedente AS_PATH. Pertanto, R111 imposta AS_PATH del percorso come . Se il percorso viene fornito con la comunità di 1: 3, quindi eseguire tre AS_PATH prepends ().
R111 riceve i due percorsi e deve agire in base alla comunità collegata a tali percorsi. Poiché preferisce il percorso da R12, il traffico scorre in questo modo:
Scarica uscita router
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#
Sommario
In questo articolo, abbiamo discusso le comunità BGP più comuni disponibili per l’attributo BGP Community e come vengono utilizzate per indirizzare il traffico. Sebbene le comunità BGP siano attributi opzionali, sono potenti per il routing del traffico interno ed esterno. Puoi anche usarli per preparare il reindirizzamento del traffico per i riavvii e gli arresti pianificati.
Per ulteriori informazioni sui concetti BGP, consulta la nostra guida all’amministratore di rete.
Leave a Reply