Migliore Enterprise Multihoming


33

Vorrei avere alcune opinioni su come migliorare un design a doppio provider BGP a doppio router. Ogni provider fornisce una sottorete pubblica / 24. Mi riferirò ai router, ai circuiti, alle sottoreti, ai gruppi HSRP e ai provider come A e B, rispettivamente. La larghezza di banda su ciascun circuito è adeguata per l'intero carico.

Design attuale

L'attuale progetto tenta di ottenere una simmetria per fornitore. In uno stato stazionario, la logica di routing prevista è che il traffico verso / dalla sottorete A transiti solo sul circuito A e il traffico verso / dalla sottorete B transiti solo sul circuito B. I circuiti si salverebbero l'un l'altro in uno stato guasto.

I provider pubblicizzano solo la route predefinita. Il routing in uscita comporta un mix di PBR e HSRP. I router non hanno alcun routing tra loro: nessun iBGP, nessun OSPF, nessun routing statico. Invece, ci sono due gruppi HSRP che tracciano la rotta predefinita. Il router A è primario per il gruppo A dell'HSRP e il router B è primario per il gruppo dell'HSRP B. I dispositivi a valle hanno un percorso predefinito che punta al gruppo A dell'HSRP e al PBR che dirige il traffico proveniente dalla sottorete B al gruppo HSRP B. Il routing in entrata è influenzato dal prepending e comunità. La sottorete A viene anteposta e comunicata sul circuito B e la sottorete B viene anteposta e comunicata sul circuito A.

Vedo molto spazio per miglioramenti in questo design. La mancanza di consapevolezza della topologia di Internet unita all'affinità dei circuiti elimina completamente la migliore selezione del percorso. Vi sono dubbi sulla designazione dei livelli dei fornitori e il design è stato razionalizzato in quanto fornisce "prestazioni accettabili" e più semplice da risolvere. In effetti, il design non potrebbe essere più semplice. Ho dimostrato che il passaggio di un AS aggiuntivo aggiunge 6 RT e 63 ms (+ 421%) all'RTT. Preferirei non accontentarmi di accettabile.

Design migliore

Il design migliore fornisce ai router la massima consapevolezza della topologia di Internet possibile. L'algoritmo del percorso migliore viene lasciato per determinare la logica di routing in entrata e in uscita. I circuiti si sarebbero sostenuti a vicenda in uno stato fallito.

I fornitori pubblicizzano la vista completa. I router eseguono iBGP e OSPF. HSRP è eliminato. Il routing in uscita sarebbe puramente il percorso migliore basato sulla destinazione e il routing in ingresso sarebbe lasciato ai migliori algoritmi del percorso e ai capricci del fornitore di transito.

Ora che lo scrivo, sembra più semplice. Per lo meno, ci sono volute meno parole per spiegare. Ci sono preoccupazioni per l'asimmetria, ma ho visto molta asimmetria nel progetto attuale. Penso che probabilmente sono ugualmente inclini all'asimmetria e non mi preoccupa davvero. Non abbiamo mai visto problemi di conseguenza. Attualmente è relegato nel regno di ifs, "Cosa" se "abbiamo dovuto risolvere qualcosa?"

Sono lontano dalla base qui o ho colpito l'unghia sulla testa? In che modo altri hanno risolto questo problema? Cosa farebbe Google?


Grande dettaglio e spiegazione. Benvenuto!
Casuale

Tradizionalmente, "Vorrei avere alcune opinioni sul mio progetto", le domande non sono davvero grandi domande su SE ... Ma questo può essere discusso su meta
Aaron

Risposte:


16

Sì, hai colpito l'unghia sulla testa.

Otterrai l'asimmetria nel design migliorato, ma l'asimmetria è un fatto della vita su Internet e non c'è davvero alcun buon motivo per aspettarsi un instradamento simmetrico del traffico da / a. Scatta, l'intero concetto di routing dei pacchetti è che i pacchetti separati vengono instradati indipendentemente l'uno dall'altro e possono prendere percorsi diversi, anche i pacchetti che vanno nella stessa direzione.

Personalmente, detesto PBR. È una di quelle tecnologie che quando decido che è la migliore soluzione al problema, mi fermo e faccio un passo indietro per vedere se capisco davvero la vera natura del problema, anche per capire quale sia il problema aziendale da risolvere è. Quando lo faccio, trovo quasi sempre che esiste un modo per risolvere il problema senza utilizzare una tecnologia del genere.

Avere percorsi Internet completi nei router richiederà un po 'di tempo per abituarsi, ma una volta che ci si abitua, è davvero molto facile da capire e risolvere. Certamente ci sono meno "parti mobili" di protocolli diversi di cui preoccuparsi.

Non vuoi avere percorsi Internet completi nel tuo database OSPF, quindi vorrai pubblicizzare un valore predefinito tramite OSPF all'interno della tua rete (o forse predefinito statico ... personalmente preferisco il valore predefinito in OSPF). Ciò sposterà il traffico verso i router Internet che parlano BGP che possono prendere la decisione più pienamente informata di disporre delle rotte Internet complete.

Questo ti darà vicino al "miglior percorso basato sulla destinazione". Ci saranno ancora casi in cui il traffico farà cose che non ti aspetti, quindi ti consigliamo di familiarizzare con il processo di selezione del percorso BGP.


Grazie Jeff. Sono d'accordo con la tua disposizione su PBR. L'ho visto implementato in modi da incubo. Ho strappato più reti PBR da quelle che mi interessa ricordare. Una volta ho gestito un ambiente a più livelli in cui la PBR è stata implementata come meccanismo di routing virtuale con una route-map unica per SVI (100's). La PBR conteneva anche clausole di permesso / nessuna serie che portavano alla commutazione del processo. In copia cartacea, era come 60 pagine di configurazione. Inutile dire che ho preso la palla da demolizione; sostituito con VRF.
Dennis Olvany,

6

Offrire un approccio diverso agli altri già indicati, che potrebbero essere o meno migliori delle idee esistenti, ma principalmente attraverso alcune idee extra là fuori;

Direi che due semplici passi che puoi prendere per migliorare la tua situazione attuale sono i seguenti;

Passaggio 1 ;

Ottieni tabelle BGP complete da entrambi i provider: ora avrai un routing in uscita più ottimale perché effettuerai il routing tramite il provider di transito con il percorso AS più piccolo verso la tua destinazione. Come hai detto, puoi rimuovere HSRP e semplicemente pubblicizzare una route predefinita in OSPF ed eseguire iBGP tra i tuoi due router periferici.

Passaggio 2 ;

Configura i prependenti AS e le community ecc. Sui tuoi router a doppio bordo per controllare il traffico in uscita in modo granulare secondo le tue esigenze. Quindi l'ISP B potrebbe avere un percorso migliore verso qualche sottorete, ma è possibile acquistare più transito dall'ISP A e piuttosto da esso tramite loro, e così via.


Supponendo che i due / 24 che hai menzionato siano spazi di indirizzi indipendenti PI, quindi li stai annunciando tramite entrambi i provider o entrambi i provider hanno accettato di annunciare lo stesso spazio di indirizzi IP per te, ora puoi annunciare entrambi i prefissi a entrambi gli ISP da entrambi i router senza anteprime o community e ottieni anche un migliore routing inbound (ovviamente, a meno che tu non abbia alcuni CDR che devi ascoltare o simili, nel qual caso puoi sintonizzarti come richiesto).


Grazie, javano. Penso che siamo d'accordo sul fatto che le politiche di routing inbound e outbound siano dannose. Voglio assolutamente eliminare PBR, prepending e community!
Dennis Olvany,

3

Inizia semplice, quindi aggiungi complessità solo quando necessario. Vorrei chiedere se c'è anche la necessità di eseguire OSPF sui router perimetrali Internet. Avvia PBR sul marciapiede e utilizzalo solo sulla tua rete interna.

  1. Prendi i percorsi Internet completi se il tuo router ha la memoria, ma fai i filtri! Lancia qualsiasi cosa gt a / 24.
  2. Prendi un percorso predefinito da A e B.
  3. È necessario eseguire iBGP per consentire ai router di prendere le decisioni relative al percorso ottimale considerando tutti i prefissi ricevuti da A e B.
  4. Se prevedi di utilizzare sia A che B / 24 con entrambi i provider, puoi influenzare meglio il traffico in entrata anteponendo A / 24 sulla rete B e viceversa. Entrambi / 24 devono essere pubblicizzati! Verificare con il proprio ISP per le loro comunità nell'impostazione dei premi per te.
  5. Utilizzare due diversi gruppi HSRP per il traffico in uscita dal firewall; è possibile impostare ECLB per caricare la condivisione sui due router. Bilanciamento del carico a parità di costo .

Tutto questo può essere semplificato se stai usando un singolo / 24 pubblicizzato su A e B.

Successivamente, esamina la complessità per una migliore ingegneria e protezione del traffico:

  1. Acquisire familiarità con le comunità di A e B in quanto si potrebbe preferire l'uso di mappe di percorsi peer per impostare localpref per determinare quali percorsi utilizzano A vs. B.
  2. Imposta un percorso predefinito statico mobile su entrambi i router come backup di emergenza per tutto il resto nel caso il tuo BGP esploda.

    ip route 0.0.0.0 0.0.0.0 a.b.c.d 254
    
  3. Cerca modi più complessi di pubblicità per controllare la tua politica in entrata come metà dello spazio IP che passa attraverso A e l'altra metà attraverso B. Per un dato / 24, puoi pubblicizzare il / 24 su A e B, ma suddividendolo in due / 25 e pubblicizzare il inferiore / 25 su A e il superiore / 25 su B.

  4. Usa la riconfigurazione soft in modo da poter modificare i tuoi criteri ed eseguire un soft reset sulla sessione BGP in modo da non causare smorzamento dei prefissi sull'altro lato se ripristini completamente (o cancelli) la sessione. Le modifiche alla politica richiedono un ripristino.


1

Quindi quello che ho capito dalla scrittura è che non hai davvero bisogno di prendere decisioni basate su percorsi AS per raggiungere sottoreti esterne e l'unico scopo del dual homing a due ISP è acquistare ridondanza per raggiungere Internet. In tal caso, non è necessario eseguire BGP. Puoi semplicemente accettare le stesse rotte predefinite che stai già ricevendo da entrambi il tuo fornitore di servizi. Ora per il lato locale della rete, eseguire una singola area ospf sui router che si connettono all'ISP sull'interfaccia rivolta verso la LAN (non includere l'interfaccia ISP nel processo) e in base a quanto deve essere semplice la progettazione puoi aggiungere router in diverse aree e riepilogare le sottoreti ai confini della rete, ma per due sottoreti penso che la dimensione del database OSPF o il numero di allagamenti di LSA non sia un problema enorme,

Su ogni router OSPF che si collega all'ISP, ridistribuire le route predefinite apprese in OSPF utilizzando un'istruzione "origin-information originate".

Coppia di vantaggi:

  1. Con questo design, quando cresci la rete puoi abilitare BGP con i fornitori di servizi e accettare semplicemente il percorso predefinito senza toccare alcun dispositivo a valle. Fino a quando non si verifica che si sta ricevendo un percorso predefinito da BGP, si è buoni.

  2. Ogni volta che è necessario instradare il traffico al di fuori di un ISP per la manutenzione, è sufficiente rimuovere le "informazioni di origine predefinite" da sotto il processo OSPF su quel router e procedere con la manutenzione. Nient'altro è necessario.

E sono d'accordo con la risposta precedente in quanto il routing simmetrico è sopravvalutato, preferisco la scalabilità e la facilità di manutenzione.


Se capisco i piani di @ user161, l'obiettivo è una selezione più intelligente del percorso in uscita. Come si ottiene ciò nella soluzione basata su OSPF?
Paul Gear

Grazie Vinny. Il failover del traffico outobund non è un problema, ma non avrei bisogno di BGP per eseguire il failover in ingresso? Se questo fosse solo per gli utenti che ottengono PAT su Internet, potrebbe essere fattibile, ma questo è un ambiente di web hosting.
Dennis Olvany,

@ user161: Assolutamente, se abbiamo bisogno di un failover in entrata per le tue subnet originate, devi eseguire BGP. Verificare con i propri ISP se supportano la funzionalità ORF per il peering BGP se è così possibile pubblicizzare subnet originate localmente tramite BGP con un filtro in entrata sui router di confine solo per accettare una route predefinita e / o alcune subnet selezionate dai router ISP. Se l'ISP non supporta ORF, allora non ci sono davvero scelte migliori rispetto all'acquisto di un router con più succo ..
Vinny,

1

Se la tabella BGP completa è troppo per te, penso che potresti prendere in considerazione l'idea di ricevere solo una porzione. Forse i provider A e B pubblicizzano ciascuno una route predefinita e le proprie route AS locali. Dovresti eseguire iBGP internamente. In questo modo avresti il ​​percorso più breve per tutto ciò che è direttamente collegato ai provider e prendi entrambi i percorsi AS a valle.


Grazie Kelly. Il design migliore eseguirà iBGP. Un aggiornamento hardware sta spingendo la revisione dell'architettura, quindi non sono troppo preoccupato che i router siano in grado di gestirla. Il team di vendita afferma che il passaggio da IOS a JUNOS è una passeggiata. Non sono così sicuro di essere d'accordo, finora.
Dennis Olvany,

Non so che direi che è una passeggiata ... è scoraggiante da imparare, non solo la nuova sintassi, ma il nuovo concetto di sintassi. Quello che dirò, però, è che credo ne valga la pena. JunOS ti lascerà a grattare la testa per un po ', ma a un certo punto, farà clic e tutto inizierà a dare un senso. Dovrai comunque cercare cose, ovviamente (conoscere la sintassi di una lingua non è la stessa di conoscere il vocabolario), ma nel complesso avrà senso.
Jeff McAdams,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.