La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
Questo documento descrive la funzione dell'algoritmo per il miglior percorso BGP (Border Gateway Protocol).
I router BGP di norma ricevono più percorsi alla stessa destinazione. L'algoritmo del percorso BGP migliore stabilisce il percorso migliore da inserire nella tabella di routing IP e da utilizzare per l'inoltro del traffico.
Si supponga che tutti i percorsi ricevuti da un router con un particolare prefisso siano organizzati in un elenco. L'elenco è simile all'output del show ip bgp longer-prefixes
Alcuni percorsi non sono ritenuti idonei per diventare percorsi migliori. Tali percorsi in genere non dispongono del flag valido nell'output del show ip bgp longer-prefixes
I percorsi vengono ignorati nei seguenti casi:
Percorsi contrassegnati come non sincronizzati nella show ip bgp longer-prefixes
uscita.
Se la sincronizzazione BGP è abilitata, affinché un percorso BGP interno (iBGP) sia considerato valido, il suo prefisso deve essere presente nella tabella di routing IP. In Cisco IOS® Software, la sincronizzazione BGP è abilitata per impostazione predefinita. Se la route corrispondente viene appresa da un router adiacente OSPF (Open Shortest Path First), il relativo ID router OSPF deve corrispondere all'ID router BGP del router adiacente iBGP. La maggior parte degli utenti preferisce disattivare la sincronizzazione con l'utilizzo del no synchronization
Sottocomando BGP.
Nota: per impostazione predefinita, la sincronizzazione è disabilitata nel software Cisco IOS® versione 12.2(8)T e successive.
Percorsi che non possono accedere al NEXT_HOP.
Accertarsi che sia presente una route IGP (Interior Gateway Protocol) diretta al NEXT_HOP e associata al percorso.
Percorsi provenienti da un router BGP esterno (eBGP) vicino in caso il sistema autonomo (AS) locale sia presente in AS_PATH.
Questi percorsi vengono rifiutati durante l'ingresso nel router e non vengono neanche installati nel database di informazioni di routing BGP (RIB). Lo stesso vale per qualsiasi percorso negato da un criterio di routing implementato tramite elenchi di accesso, prefissi, AS_PATH o di comunità, a meno che non sia stato configurato neighbor soft-reconfiguration inbound
per il vicino.
Se è stato abilitato bgp enforce-first-as
e l'istruzione UPDATE non contiene il valore AS della risorsa adiacente come primo numero AS in AS_SEQUENCE.
In questo caso, il router invia una notifica e chiude la sessione.
Percorsi contrassegnati come (solo ricevuti) nel show ip bgp longer-prefixes
uscita
I percorsi sono stati rifiutati dalla policy. Tuttavia, il router ha archiviato i percorsi perché è stato configurato soft-reconfiguration inbound
per il router adiacente che invia il percorso.
Il protocollo BGP designa come percorso migliore il primo percorso valido. Quindi, lo confronta con il percorso successivo nell'elenco, scorrendo fino alla fine l'elenco dei percorsi validi. Nell'elenco vengono indicate le regole da utilizzare per determinare il percorso migliore:
Preferire il percorso con l'attributo WEIGHT più alto.
Nota: WEIGHT è un parametro specifico di Cisco. ed è specifico del router su cui è configurato.
Preferire il percorso con l'attributo LOCAL_PREF più alto.
Nota: un percorso senza LOCAL_PREF viene considerato come se il valore fosse stato impostato con bgp default local-preference
o avere il valore predefinito 100.
Preferire il percorso originato localmente network
o aggregate
sottocomando BGP o tramite ridistribuzione da un IGP.
Percorsi locali originati da network
o redistribute
i comandi sono preferibili rispetto alle aggregazioni locali originate dal aggregate-address
Nota: Tieni presente questo elemento:
- Se AIGP è configurato E il bgp bestpath aigp ignore
non è configurato, il processo decisionale considera la metrica AIGP. Per ulteriori informazioni, vedere Configurazione dell'attributo AIGP Metric per BGP.
Preferire il percorso con l'attributo AS_PATH più breve.
Nota: tenere presente quanto segue:
- Questo passaggio viene ignorato se è stato configurato il bgp bestpath as-path ignore
- Un attributo AS_SET vale sempre 1, a prescindere dal numero di AS impostati.
- Gli attributi AS_CONFED_SEQUENCE e AS_CONFED_SET non sono inclusi nella lunghezza di AS_PATH.
Preferire il percorso con il tipo di origine più basso.
Nota: IGP è inferiore al protocollo EGP (Exterior Gateway Protocol) e EGP è inferiore a INCOMPLETE.
Preferire il percorso con il valore più basso per l'attrbuto multi-exit discriminator (MED).
Nota: tenere presente quanto segue:
- Questo confronto viene effettuato solo se il primo sistema autonomo (AS) (vicino) è lo stesso nei due percorsi. Qualsiasi AS secondario della confederazione viene ignorato.
In altre parole, i MED vengono confrontati solo se il primo AS nella sequenza AS_SEQUENCE è uguale per più percorsi. Qualsiasi AS_CONFED_SEQUENCE che precede viene ignorata.
- Se bgp always-compare-med
è attivata, i MED vengono confrontati per tutti i percorsi.
Disabilitare questa opzione sull'intero AS. In caso contrario, potrebbero verificarsi dei loop di routing.
- Se bgp bestpath med-confed
è attivata, i file MED vengono confrontati per tutti i percorsi costituiti solo da AS_CONFED_SEQUENCE.
Questi percorsi sono originati all'interno della confederazione locale.
- I MED dei percorsi ricevuti da un router vicino il cui MED è 4.294.967.295 vengono modificati prima di essere inseriti nella tabella BGP. Il MED diventa 4.294.967.294.
- I MED dei percorsi ricevuti da un router vicino il cui MED è 4.294.967.295 vengono considerati validi e inseriti nella tabella BGP con effetto sui codici risolti dell'ID bug Cisco CSCef34800.
- Ai percorsi ricevuti senza MED viene assegnato il valore MED 0, a meno che non sia stato abilitato bgp bestpath med missing-as-worst
.
Se è stato abilitato bgp bestpath med missing-as-worst
, ai percorsi viene assegnato un MED di 4.294.967.294.
Se è stato abilitato bgp bestpath med missing-as-worst
, ai percorsi viene assegnato un valore MED di 4.294.967.295 che ha effetto sui codici corretti per l'ID bug Cisco CSCef34800.
-OSPF (Open Shortest Path First) bgp deterministic-med
può influire anche su questo passaggio.
Per una dimostrazione, fare riferimento a Uso dell'attributo Multi-Exit Discriminator da parte dei router BGP per la scelta del percorso migliore.
Preferire i percorsi eBGP anziché i percorsi iBGP.
Se è selezionato bestpath, andare al passo 9 (multipath).
Nota: i percorsi che contengono AS_CONFED_SEQUENCE e AS_CONFED_SET sono locali per la confederazione. Pertanto, vengono trattati come percorsi interni. Non vi è alcuna distinzione tra confederazione esterna e confederazione interna.
Preferire il percorso al successivo hop BGP con la metrica IGP più bassa.
Proseguire, anche se bestpath è già selezionato.
Decidere se inserire percorsi multipli nella tabella di routing per la funzionalità BGP Multipath.
Proseguire, anche se bestpath non è ancora selezionato.
Quando entrambi i percorsi sono esterni, scegliere il percorso ricevuto per primo (il più vecchio).
Questo passaggio riduce al minimo l'instabilità dell'annuncio della route; infatti il vecchio percorso non viene sostituito dal nuovo, anche se quest'ultimo costituirebbe la route preferita in base ai criteri decisionali discussi più avanti (passaggi 11, 12 e 13).
Ignorare questo passaggio se una di queste affermazioni è vera:
È stato abilitato il bgp best path compare-routerid
Nota: il comando è stato introdotto dal software Cisco IOS® versioni 12.0.11S, 12.0.11SC, 12.0.11S3, 12.1.3, 12.1.3AA, 12.1.3.T e 12.1.3.E.
Poiché le route sono state ricevute dallo stesso router, l'ID del router è lo stesso per più percorsi.
Al momento non esiste un percorso migliore.
Il percorso considerato al momento migliore può andare perduto se si perde il collegamento al router che lo offre.
Preferire la route che proviene dal router BGP con l'ID router più basso.
L'ID router è l'indirizzo IP più alto del router, con preferenza data agli indirizzi di loopback. Inoltre, è possibile utilizzare il bgp router-id
per impostare manualmente l'ID del router.
Nota: se un percorso contiene attributi RR (Route reflector), l'ID del router viene sostituito dall'ID del mittente durante il processo di selezione del percorso.
Se l'ID del nodo di origine o l'ID del router coincidono per più percorsi, scegliere il percorso con l'elenco cluster più corto.
Questo elenco è presente solo negli ambienti BGP RR. Consente ai client di eseguire il peering con gli RR o i client di altri cluster. In questo scenario, il client deve conoscere l'attributo BGP specifico di RR.
Preferire il percorso proveniente dal router vicino con l'indirizzo più basso.
Questo indirizzo è l'indirizzo IP utilizzato nel protocollo BGP neighbor
configurazione. L'indirizzo corrisponde al peer remoto usato nella connessione TCP al router locale.
In questo esempio, la rete 10.30.116.0/23 ha a disposizione 9 percorsi. OSPF (Open Shortest Path First) show ip bgp network
Questo comando visualizza le voci nella tabella di routing BGP per la rete specificata.
Router R1#show ip bgp vpnv4 rd 1100:1001 10.30.116.0/23 BGP routing table entry for 1100:1001:10.30.116.0/23, version 26765275 Paths: (9 available, best #6, no table) Advertised to update-groups: 1 2 3 (65001 64955 65003) 65089, (Received from a RR-client) 172.16.254.226 (metric 20645) from 172.16.224.236 (172.16.224.236) Origin IGP, metric 0, localpref 100, valid, confed-internal Extended Community: RT:1100:1001 mpls labels in/out nolabel/362 (65008 64955 65003) 65089 172.16.254.226 (metric 20645) from 10.131.123.71 (10.131.123.71) Origin IGP, metric 0, localpref 100, valid, confed-external Extended Community: RT:1100:1001 mpls labels in/out nolabel/362 (65001 64955 65003) 65089 172.16.254.226 (metric 20645) from 172.16.216.253 (172.16.216.253) Origin IGP, metric 0, localpref 100, valid, confed-external Extended Community: RT:1100:1001 mpls labels in/out nolabel/362 (65001 64955 65003) 65089 172.16.254.226 (metric 20645) from 172.16.216.252 (172.16.216.252) Origin IGP, metric 0, localpref 100, valid, confed-external Extended Community: RT:1100:1001 mpls labels in/out nolabel/362 (64955 65003) 65089 172.16.254.226 (metric 20645) from 10.77.255.57 (10.77.255.57) Origin IGP, metric 0, localpref 100, valid, confed-external Extended Community: RT:1100:1001 mpls labels in/out nolabel/362 (64955 65003) 65089 172.16.254.226 (metric 20645) from 10.57.255.11 (10.57.255.11) Origin IGP, metric 0, localpref 100, valid, confed-external, best Extended Community: RT:1100:1001 mpls labels in/out nolabel/362 !--- BGP selects this as the Best Path on comparing
!--- with all the other routes and selected based on lower router ID. (64955 65003) 65089 172.16.254.226 (metric 20645) from 172.16.224.253 (172.16.224.253) Origin IGP, metric 0, localpref 100, valid, confed-internal Extended Community: RT:1100:1001 mpls labels in/out nolabel/362 (65003) 65089 172.16.254.226 (metric 20645) from 172.16.254.234 (172.16.254.234) Origin IGP, metric 0, localpref 100, valid, confed-external Extended Community: RT:1100:1001 mpls labels in/out nolabel/362 65089, (Received from a RR-client) 172.16.228.226 (metric 20645) from 172.16.228.226 (172.16.228.226) Origin IGP, metric 0, localpref 100, valid, confed-internal Extended Community: RT:1100:1001 mpls labels in/out nolabel/278
BGP seleziona il percorso migliore tra questi 9 percorsi prendendo in considerazione i vari attributi spiegati in questo documento. Nell'output mostrato di seguito, BGP confronta i percorsi disponibili e seleziona il percorso 6 come miglior percorso in base all'ID del router inferiore.
Comparing path 1 with path 2: Both paths have reachable next hops Both paths have a WEIGHT of 0 Both paths have a LOCAL_PREF of 100 Both paths are learned Both paths have AS_PATH length 1 Both paths are of origin IGP The paths have different neighbor AS's so ignoring MED Both paths are internal (no distinction is made between confed-internal and confed-external) Both paths have an IGP metric to the NEXT_HOP of 20645 Path 2 is better than path 1 because it has a lower Router-ID. Comparing path 2 with path 3: Both paths have reachable next hops Both paths have a WEIGHT of 0 Both paths have a LOCAL_PREF of 100 Both paths are learned Both paths have AS_PATH length 1 Both paths are of origin IGP Both paths have the same neighbor AS, 65089, so comparing MED. Both paths have a MED of 0 Both paths are confed-external Both paths have an IGP metric to the NEXT_HOP of 20645 Path 2 is better than path 3 because it has a lower Router-ID. Comparing path 2 with path 4: Both paths have reachable next hops Both paths have a WEIGHT of 0 Both paths have a LOCAL_PREF of 100 Both paths are learned Both paths have AS_PATH length 1 Both paths are of origin IGP Both paths have the same neighbor AS, 65089, so comparing MED. Both paths have a MED of 0 Both paths are confed-external Both paths have an IGP metric to the NEXT_HOP of 20645 Path 2 is better than path 4 because it has a lower Router-ID. Comparing path 2 with path 5: Both paths have reachable next hops Both paths have a WEIGHT of 0 Both paths have a LOCAL_PREF of 100 Both paths are learned Both paths have AS_PATH length 1 Both paths are of origin IGP Both paths have the same neighbor AS, 65089, so comparing MED. Both paths have a MED of 0 Both paths are confed-external Both paths have an IGP metric to the NEXT_HOP of 20645 Path 5 is better than path 2 because it has a lower Router-ID. Comparing path 5 with path 6: Both paths have reachable next hops Both paths have a WEIGHT of 0 Both paths have a LOCAL_PREF of 100 Both paths are learned Both paths have AS_PATH length 1 Both paths are of origin IGP Both paths have the same neighbor AS, 65089, so comparing MED. Both paths have a MED of 0 Both paths are confed-external Both paths have an IGP metric to the NEXT_HOP of 20645 Path 6 is better than path 5 because it has a lower Router-ID. Comparing path 6 with path 7: Both paths have reachable next hops Both paths have a WEIGHT of 0 Both paths have a LOCAL_PREF of 100 Both paths are learned Both paths have AS_PATH length 1 Both paths are of origin IGP Both paths have the same neighbor AS, 65089, so comparing MED. Both paths have a MED of 0 Both paths are internal (no distinction is made between confed-internal and confed-external) Both paths have an IGP metric to the NEXT_HOP of 20645 Path 6 is better than path 7 because it has a lower Router-ID. Comparing path 6 with path 8: Both paths have reachable next hops Both paths have a WEIGHT of 0 Both paths have a LOCAL_PREF of 100 Both paths are learned Both paths have AS_PATH length 1 Both paths are of origin IGP Both paths have the same neighbor AS, 65089, so comparing MED. Both paths have a MED of 0 Both paths are confed-external Both paths have an IGP metric to the NEXT_HOP of 20645 Path 6 is better than path 8 because it has a lower Router-ID. Comparing path 6 with path 9: Both paths have reachable next hops Both paths have a WEIGHT of 0 Both paths have a LOCAL_PREF of 100 Both paths are learned Both paths have AS_PATH length 1 Both paths are of origin IGP The paths have different neighbor AS's so ignoring MED Both paths are internal (no distinction is made between confed-internal and confed-external) Both paths have an IGP metric to the NEXT_HOP of 20645 Path 6 is better than path 9 because it has a lower Router-ID. The best path is #6
L'attributo della comunità estesa, chiamato BGP Cost Community, permette di personalizzare il processo di scelta del percorso migliore. All'algoritmo descritto nella sezione Logica dell'algoritmo del percorso migliore, viene aggiunto un ulteriore passaggio, ossia il confronto delle comunità di costi. Nell'algoritmo, questo passaggio viene dopo il passaggio richiesto per il punto di inserimento. Viene scelto il percorso con i costi più bassi.
Nota: tenere presente quanto segue:
- Questo passaggio viene ignorato se è stato emesso il bgp bestpath cost-community ignore
- La clausola per impostare la comunità di costi viene configurata con un ID di comunità (0 – 255) e un valore costi (0 – 4.294.967.295). Il valore costi determina il percorso da scegliere. Viene preferito il percorso con il valore costi più basso. In assenza di un valore costi configurato, ai percorsi viene assegnato un valore predefinito di 2.147.483.647. Il valore predefinito è compreso tra 0 e 4.294.967.295. I percorsi vengono quindi esaminati dal processo di scelta del percorso migliore. Se due percorsi hanno lo stesso valore costi, il percorso scelto sarà quello con l'ID di comunità più basso. Se i percorsi hanno comunità di costi pre-bestpath diverse, viene scelto il percorso con la comunità di costi pre-bestpath più bassa.
- ABSOLUTE_VALUE è considerato il primo passo per determinare il grado di preferenza di un percorso. Ad esempio, quando si ridistribuisce EIGRP su una rete VPNv4 BGP, l'attributo ABSOLUTE_VALUE viene usato per la comunità di costi. Dopo aver confrontato la distanza interna (IGP) al successivo hop, viene preso in considerazione l'attributo IGB_Cost. Ciò significa che le comunità di costi con punto di inserimento IGP_COST vengono prese in considerazione dopo il passaggio 8 dell'algorimento descritto nella sezione Logica dell'algoritmo del percorso migliore.
La funzionalità BGP Multipath permette di inserire nella tabella di routing IP più percorsi BGP con medesima destinazione. Questi percorsi sono inseriti nella tabella insieme al percorso migliore per la ripartizione del carico. BGP Multipath non influisce sulla scelta del percorso migliore. Ad esempio, un router continua a designare uno dei percorsi come miglior percorso, in base all'algoritmo, e annuncia questo miglior percorso ai propri vicini.
Di seguito sono riportate le caratteristiche della funzionalità BGP Multipath:
eBGP Multipath - maximum-paths n
iBGP Multipath - maximum-paths ibgp n
eiBGP Multipath - maximum-paths eibgp
Per poter applicare tale funzionalità, i percorsi con la stessa destinazione devono essere avere le stesse caratteristiche del percorso migliore:
Peso
Preferenza locale
Lunghezza AS-PATH
Origine
MED
Una di queste caratteristiche:
AS vicino o AS secondario (prima che venga aggiunta la funzione eiBGP Multipath)
AS-PATH (dopo che è stata aggiunta la funzione eiBGP Multipath)
Per alcune funzionalità BGP Multipath, i percorsi devono avere ulteriori requisiti.
Di seguito sono elencati i requisiti aggiuntivi richiesti per eBGP Multipath:
Il percorso deve essere appreso da un router adiacente esterno o confederazione-esterno (eBGP).
La metrica IGP per l'hop successivo BGP deve essere uguale alla metrica IGP del miglior percorso.
Di seguito sono elencati i requisiti aggiuntivi richiesti per iBGP Multipath:
Il percorso deve essere appreso da un sistema adiacente interno (iBGP).
La metrica IGP per l'hop successivo BGP deve essere uguale alla metrica IGP del miglior percorso, a meno che il router non sia configurato per percorsi multipli iBGP a costi diversi.
Il protocollo BGP inserisce fino a n percorsi ricevuti recentemente dai candidati al multipath nella tabella di routing IP. Il valore massimo di n è attualmente 6. Il valore predefinito, quando il multipath è disabilitato, è 1.
Per un bilanciamento del carico quando i costi sono diversi, è possibile usare anche la larghezza di banda del collegamento BGP.
Nota: l'istruzione equivalente next-hop-self viene eseguita sul percorso migliore selezionato tra i percorsi multipli eBGP prima di essere inoltrata ai peer interni.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
4.0 |
11-Jul-2023 |
Titolo, introduzione e formattazione aggiornati.
Sono state aggiunte informazioni di base. |
3.0 |
22-Jun-2022 |
Aggiornato alle linee guida per la traduzione automatica. |
1.0 |
10-Dec-2001 |
Versione iniziale |