5.1. Choosing EBGP as the Routing Protocol (Scelta di EBGP come protocollo di routing)
5.1. Choosing EBGP as the Routing Protocol (Scelta di EBGP come protocollo di routing)
REQ2 darebbe preferenza alla selezione di un singolo protocollo di routing per ridurre la complessità e le interdipendenze. Sebbene sia comune fare affidamento su un IGP in questa situazione, a volte con l'aggiunta di EBGP al dispositivo che confina con la WAN o Internal BGP (IBGP) in tutto, questo documento propone l'uso di un design solo EBGP.
Sebbene EBGP sia il protocollo utilizzato per quasi tutto il routing inter-dominio su Internet e abbia un ampio supporto sia dalle comunità di fornitori che di provider di servizi, generalmente non viene distribuito come protocollo di routing principale nel data center per una serie di motivi (alcuni dei quali sono correlati):
-
BGP è percepito come un "protocollo solo per WAN" e non è spesso considerato per applicazioni aziendali o di data center.
-
Si ritiene che BGP abbia una convergenza di routing "molto più lenta" rispetto agli IGP.
-
I deployment BGP su larga scala utilizzano tipicamente un IGP per la risoluzione del prossimo hop BGP poiché tutti i nodi nella topologia IBGP non sono direttamente connessi.
-
BGP è percepito come richiedente un overhead di configurazione significativo e non supporta la scoperta automatica dei vicini.
Questo documento discute alcune di queste percezioni, specialmente come applicabili al design proposto, e mette in evidenza alcuni dei vantaggi dell'utilizzo del protocollo come:
-
BGP ha meno complessità in parti del suo design di protocollo -- le strutture dati interne e la macchina a stati sono più semplici rispetto alla maggior parte degli IGP link-state come OSPF. Ad esempio, invece di implementare la formazione di adiacenza, il mantenimento di adiacenza e/o il controllo di flusso, BGP si affida semplicemente a TCP come trasporto sottostante. Questo soddisfa REQ2 e REQ3.
-
L'overhead di flooding delle informazioni BGP è inferiore rispetto agli IGP link-state. Poiché ogni router BGP calcola e propaga solo il percorso migliore selezionato, un guasto di rete viene mascherato non appena il speaker BGP trova un percorso alternativo, che esiste quando topologie altamente simmetriche, come Clos, sono accoppiate con un design solo EBGP. Al contrario, l'ambito di propagazione degli eventi di un IGP link-state è un'intera area, indipendentemente dal tipo di guasto. In questo modo, BGP soddisfa meglio REQ3 e REQ4. Vale anche la pena menzionare che tutti gli IGP link-state ampiamente distribuiti presentano aggiornamenti periodici delle informazioni di routing mentre BGP non fa scadere lo stato di routing, sebbene ciò raramente influisca sui piani di controllo dei router moderni.
-
BGP supporta next hop di terze parti (risolti ricorsivamente). Ciò consente di manipolare il multipath per essere basato su percorsi non ECMP o forwarding basato su percorsi definiti dall'applicazione, attraverso l'istituzione di una sessione di peering con un "controller" dell'applicazione che può iniettare informazioni di routing nel sistema, soddisfacendo REQ5. OSPF fornisce funzionalità simili utilizzando concetti come "Forwarding Address", ma con maggiore difficoltà nell'implementazione e molto meno controllo dell'ambito di propagazione delle informazioni.
-
Utilizzando uno schema di allocazione dell'Autonomous System Number (ASN) ben definito e il rilevamento dei loop AS_PATH standard, la "caccia al percorso BGP" (vedere [JAKMA2008]) può essere controllata e i percorsi complessi indesiderati verranno ignorati. Vedere la sezione 5.2 per un esempio di schema di allocazione ASN funzionante. In un IGP link-state, raggiungere lo stesso obiettivo richiederebbe il supporto multi-(istanza/topologia/processo), tipicamente non disponibile in tutti i dispositivi DC e piuttosto complesso da configurare e risolvere. Utilizzando un dominio di flooding singolo tradizionale, che la maggior parte dei design DC utilizza, in determinate condizioni di guasto potrebbero essere selezionati percorsi lunghi indesiderati, ad esempio attraversando più dispositivi di Tier 2.
-
La configurazione EBGP implementata con policy di routing minima è più facile da diagnosticare per problemi di raggiungibilità della rete. Nella maggior parte delle implementazioni, è semplice visualizzare il contenuto del BGP Loc-RIB e confrontarlo con la Routing Information Base (RIB) del router. Inoltre, nella maggior parte delle implementazioni, un operatore può visualizzare le strutture Adj-RIB-In e Adj-RIB-Out di ogni vicino BGP, e quindi le informazioni di Network Layer Reachability Information (NLRI) in entrata e in uscita possono essere facilmente correlate su entrambi i lati di una sessione BGP. Pertanto, BGP soddisfa REQ3.