Comunità BGP

Ultimo aggiornamento: (UTC)

Lo scopo principale dei router abilitati BGP è quello di pubblicizzare i prefissi ad altri router. Questi prefissi possono provenire da diverse famiglie di indirizzi, come IPv4 e VPNv4. Quando pubblicizza un prefisso, BGP allega informazioni aggiuntive, chiamate attributi. BGP utilizza questi attributi per selezionare il percorso migliore.

BGP può includere ulteriori informazioni con ciascun prefisso, sotto forma di stringhe di comunità. Una stringa comunità è un valore numerico che il peer utilizza come un tag.

Le comunità creano criteri di routing tra peer. Taggando i prefissi con le comunità, diciamo al peer di gestire i prefissi in un modo speciale.

Ad esempio, diciamo che un gruppo specifico di prefissi deve avere il loro peso impostato su 10 da un router peer. Possiamo scegliere un numero di comunità da utilizzare e taggare i prefissi con esso. Se vede un prefisso da noi taggato con questa comunità, imposterà il peso su 10.

Dobbiamo concordare con i nostri pari su quali comunità utilizzare. Dal punto di vista tecnico, spetta a loro decidere come gestiranno qualsiasi stringa della comunità. Potrebbero scegliere di ignorarli del tutto se vogliono.

I provider possono avere un elenco di comunità predefinite che usano e azioni che intraprendono. Come cliente, possiamo impostare le nostre comunità in modo che corrispondano alle loro politiche, per ottimizzare il modo in cui gestiscono i nostri prefissi.

Le comunità sono facoltative e transitive. Sono transitivi, quindi un peer può passarli al prossimo peer.

Ogni comunità standard è un valore a 32 bit. Sono spesso suddivisi in due valori a 16 bit, per renderli più facili da leggere. Ad esempio, la comunità 4259840100 è la stessa cosa di 65000:100. Spesso i primi 16 bit rappresentano l’AS e i secondi 16 bit sono un valore personalizzato.

Ci sono anche comunità estese, che sono per scopi speciali, come MPLS VPN. Questi sono valori a 64 bit. Comprendono un valore di tipo a 16 bit, un valore AS o IP a 16 bit e 32 bit per il valore della comunità personalizzata.

Alcune comunità sono riservate:

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

Configuration

Let’s lab questo fuori per vedere come funziona. Si prega di essere consapevoli del fatto che questo non è uno scenario del mondo reale.

Per questo laboratorio, useremo due router con diversi ASN. R1 ha diverse reti che vuole pubblicizzare su R2.

R2 assegna pesi ai prefissi, a seconda delle comunità associate:

  • Se la comunità è impostata su 10: 100, imposterà il peso su 100
  • Se la comunità è impostata su 10:200, imposterà il peso a 10

Scarica il BGP Communities Lab

R1 – Assign Communities

Gli elenchi di prefissi identificano i percorsi a cui assegnare le comunità. In questo caso, 172.16.0.0 e 172.16.10.0 sono in Group1 e 172.16.20.0 sono in Group2.

Route-maps corrisponde agli elenchi di prefissi, quindi imposta la comunità sulla rotta. Al gruppo 1 viene assegnata la comunità 100 e al gruppo 2 viene assegnata la comunità 200.

Per impostazione predefinita, le comunità sono un numero elevato, che è difficile da leggere. Il comando ip bgp-community new-format cambia questo valore nel formato ASN: Community. Questo rende la verifica più facile in seguito.

Per impostazione predefinita, i router Cisco non inviano comunità. Abilitare questo per neighbour con i comandi send-community e send-community extended.

Infine, la mappa del percorso viene applicata al vicino in uscita. Quando si inviano percorsi al vicino, le comunità sono collegate.

R1 – Assegna comunità
! 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 comunità

Qui, possiamo vedere che le comunità sono impostate sulle rotte che R2 riceve.

Verifica 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

Imposta politiche

Ora che R2 riceve rotte con le comunità, può applicare politiche a loro.

Innanzitutto, creiamo un elenco di comunità per identificare comunità specifiche. Questi sono come usare ACL o prefix-list per identificare gli indirizzi IP. In questo esempio usiamo un elenco di comunità con nome. A differenza degli elenchi di comunità numerati, supportano RegEx e possono avere voci illimitate. Gli elenchi numerati hanno un limite di 100 voci.

Percorso-mappe corrispondono alla comunità, e impostare il peso.

La mappa del percorso viene applicata al vicino per i prefissi in entrata.

R2-Imposta criteri
! 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

Queste modifiche non avranno luogo per le rotte già nella tabella di routing. Il modo più semplice per forzare l’applicazione è reimpostare la relazione di vicinato. Tenete a mente che questo è dirompente, quindi non farlo in una rete di produzione.

Verifica criteri

Se si guarda la tabella BGP su R2, è possibile vedere che i pesi sono stati impostati come previsto.

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

Well Known Communities

Esistono diverse comunità predefinite, chiamate Well Known Communities. Queste comunità hanno significati predefiniti speciali che tutti i diffusori BGP supportano.

I più comuni includono:

Internet – Una comunità proprietaria Cisco. Ciò consente al router di pubblicizzare il prefisso a tutti i vicini. Questa è una comunità “catch-all” alla fine di un elenco comunitario. Questa è un’eccezione, in quanto non tutti i fornitori lo supporteranno.

No-Export-Impedisce la pubblicità del prefisso a qualsiasi vicino eBGP. Questo mantiene un prefisso nel AS.

No-Advertise-Questo impedisce la pubblicità del prefisso a tutti i vicini.

Local-AS-Usato con le confederazioni per mantenere il prefisso all’interno dell’AS locale. Consente la condivisione prefisso con i vicini eBGP all’interno della confederazione.

Progettare per le comunità

Quando si progettano comunità, considerare questi passaggi di base:

  1. Definire il routing politica amministrativa
    • Decidere che cosa il filtro e filtro
    • Decidere che cosa gli attributi per cambiare per influenzare il flusso di traffico
  2. Progettazione del sistema comunitario
    • cioè, stabilire i valori da utilizzare, sulla base del criterio
  3. Distribuire il regime di utilizzo di mappe
  4. Creare documentazione

Durante la ricezione di percorsi da una fonte esterna, considerare l’aggiunta di tag del sito, sono stati ricevuti sul. Allo stesso modo, quando si originano i percorsi, considerare la possibilità di contrassegnarli con un ID per il sito che li ha originati.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.