Bilanciamento del carico BGP in entrata dallo stesso router ISP


10

Ho due router BGP per DIA con un problema con un provider in quanto i due collegamenti a questo provider arrivano sullo stesso router SP. I miei trasferimenti Ethernet tramite due collegamenti MetroE separati da un altro fornitore per conto del mio fornitore principale in quanto l'unico fornitore disponeva già di fibra ottica. Se qualcuno potesse anche chiarire la terminologia dell'ISP quando un fornitore trasporta servizi per un altro, lo apprezzerei. I due circuiti terminano L3 con lo stesso router SP, quindi i miei due router eseguono il peer con lo stesso router provider. Mi viene assegnato lo spazio PA da questo SP.

Non ho problemi con il bilanciamento del carico in uscita (o la condivisione del carico, come immagino sarebbe tecnicamente più accurato). In uscita, faccio ECLB al firewall che seleziona uno dei due router edge basato su un hash srcip / dstip .

Questo particolare corriere - dimentica il corriere che sta solo fornendo il trasporto - non sta bilanciando il carico in entrata del traffico dal loro unico router attraverso i due collegamenti ai miei due router, e questa è la direzione in cui potremmo usare il BW combinato 5x50Mb che abbiamo contratta. L'SP vede percorsi uguali per noi per la stessa rete pubblicizzata ed essenzialmente solo il primo percorso che imparano è quello che diventa il percorso migliore.

Ho elencato quello che sto prendendo in considerazione tra le mie opzioni di seguito per ottenere traffico su entrambi i circuiti e vorrei sapere cosa gli esperti qui ritengono sia il migliore, in particolare se hai familiarità con i tipici SP SOP . Dato che ho un contratto, modificare il contratto in questo momento non è un'opzione per farlo ricostruire in qualche altro modo.

Consentire maximum-paths 2nella rete SP risolve questo problema, ma questo vale per tutti i loro clienti BGP sullo stesso router che non credo consentiranno. Almeno un'opzione che funzionerà prevede percorsi statici, ma non è quello che preferirei.

Di seguito sono elencate le opzioni che ho considerato nel mio ordine di preferenza.

  1. Consenti BGPmaximum-paths 2 sul router SP (influisce su tutti i clienti BGP ospitati lì), pertanto / 24 viene utilizzato quando pubblicizzato su entrambi i circuiti

  2. Dividi il mio / 24 a metà e pubblicizza / 25 separati su ogni link insieme al / 24. L'SP ha recentemente affermato che una comunità non documentata potrebbe essere utilizzata per accettare prefissi> / 24. Ciò richiede la manipolazione del NAT sul mio firewall per utilizzare gli indirizzi globali in entrambi / 25 poiché la maggior parte del traffico è ora destinata a noi su pochi indirizzi in basso / 25.

  3. SP route statiche a / 24 per forzare il bilanciamento del carico con / BGP / 24 (route mobile).

  4. SP statico si dirige verso / 25s per forzare ECLB con prefisso BGP / 24 (in RIB, ma non utilizzato a meno di un errore di / 25s).

Penso che pubblicizzare gli / 25 in BGP sia l'opzione migliore che ho scoperto solo di recente è possibile con la comunità SP non documentata, ma ci sono altre opzioni che non ho preso in considerazione o preoccupazioni riguardo ai pacchetti fuori servizio con alcune di queste scelte ?

Questo è una sorta di problema di bilanciamento del carico inverso che la maggior parte delle persone chiede a BGP.


1
I percorsi massimi possono funzionare anche se sei multihomed su due router diversi, nel caso in cui ogni PE in ingresso nella rete dell'operatore abbia bisogno di abilitare i percorsi massimi e debba ricevere entrambi i percorsi da iBGP.
ytti,

Avevo i miei dubbi su quello quando l'ho scritto ... Q rivisto.
generalnetworkerror

Risposte:


8

Chiederei "percorsi massimi" (di solito è chiamato ECMP in standard e documenti, non in ECLB). E se ECMP non è di avviamento, ricorrere al piano / 25.

Altri acronimi che non sono riuscito a capire immediatamente sono DIA (accesso a Internet dedicato?) E SOP (procedura operativa standard?). Non sono sicuro che si tratti di acronimi davvero così universali che dovrebbero essere usati in stackexchange senza almeno un hovertext per risolverli.


Grazie, sapevo che ECLB non suonava bene, ma non riuscivo a ricordare ECMP dalla cima della mia testa. E hai ragione sui TLA. ;-) DIA è un termine universale che tutti gli ISP di livello 1 che ho usato nell'ultimo decennio usano nei contratti per il servizio Internet tramite collegamenti diretti. Anche SOP è universale, ma ti darò che è stato un tratto usarlo in una discline con acronimo come NE.
generalnetworkerror

6

Parlando di terminologia hai già detto che il trasporto è quello a cui quel tipo di servizio viene comunemente chiamato. A volte la gente si riferirà anche ad esso come un "tether".

Hai un'altra opzione per spostare l'interfaccia dalla tua parte sullo stesso router e quindi impostare il multihop eBGP *** tra te e il tuo provider. Sì, perdi ridondanza dalla tua parte, ma dalla parte opposta andrà comunque allo stesso router, quindi è un po 'un punto controverso. Questo elimina anche la necessità per il provider di fare multipath eBGP, nel caso in cui non siano disposti a farlo con te (ma ho scoperto che in generale la maggior parte dei provider sta bene attivando questo, se non è già acceso) .

Se ciò non sembra plausibile, l'annuncio di due / 25 è probabilmente la tua scommessa migliore, a meno che ovviamente il tuo provider non sia disposto ad accendere maximum-paths(di nuovo, supponendo che non lo abbiano già fatto).

*** Eseguire il bilanciamento del carico con il multihop eBGP nel proprio scenario comporterà quanto segue:

  1. Sposta la seconda connessione ISP su un router dalla tua parte.
  2. Sia tu che il provider configurate update-source Loopback0su ciascuna delle vostre sessioni - non dovete usare Lo0 se non lo volete, purché concordiate su quale indirizzo instradare staticamente.
  3. Configura route statiche 2x / 32 verso i loopback reciproci tramite le interfacce connesse (o gli IP dell'hop successivo): ecco come funziona il bilanciamento del carico, in quanto è semplicemente ECMP.
  4. Configurare ebgp-multihop 2le sessioni degli altri (si desidera mantenere questo numero il più piccolo possibile per evitare il dirottamento della sessione TCP).

Voilà, bilanciamento del carico. Ciò si ridimensiona anche per interfaccia, poiché l'aggiunta di una nuova porta comporterà l'aggiunta di un'altra interfaccia e una route statica.


Puoi elaborare in che modo l'operatore inizierà a inviare traffico tramite entrambi i collegamenti, spostando l'eBGP sullo stesso router alla fine del cliente, se multipath non è abilitato.
ytti,

Certo, modificherò la mia risposta.
John Jensen,

A rigor di termini, ciò non richiede il multi-hop o la migrazione allo stesso router. Richiede solo di modificare il protocollo BGP next-hop in modo che sia lo stesso nei peer eBGP e nel provider che accetti 'remote nexthop' e percorso statico verso di loro.
ytti,

Non sono sicuro di cosa intendi. Utilizzando ebgp multihop per il bilanciamento del carico in questo modo non richiede collegamenti in parallelo tra le stesse 2 router.
John Jensen,

Non è necessario spostare le sessioni eBGP esistenti. Puoi semplicemente ripristinare l'hop successivo nella route map su un indirizzo, lo stesso in entrambi eBGP (non devi nemmeno configurare l'IP ovunque). Fintanto che il provider accetta questo hop successivo modificato (deve essere attivato in IOS e JunOS) e configura i percorsi statici come spiegato, funziona perfettamente senza multihop o spostando l'eBGP dal lato cliente.
ytti,

3

La soluzione ottimale qui è BGP ECMP tramite maximum-paths 2- tuttavia, dirò che "accettare percorsi> / 24" che richiedono un tag di comunità suona come una stupidità epica - supponendo che tu sia un loro cliente, dovrebbero accettare qualunque cosa tu dia loro numero massimo di prefissi e semplicemente filtrare in uscita in base agli accordi che hanno con gli altri peer. uno degli upstream che ho messo su una barca simile per quanto riguarda il fatto di non fare ECMP, mi aspetto sempre di poter annunciare qualsiasi dimensione di prefisso che desidero a un fornitore di transito e farglielo usare.

Quindi, dato che non sembrano terribilmente competenti, per bilanciare il traffico, non ritirare il prefisso / 24 - invece, lascialo essere e assicurati che i tuoi / 25 percorsi siano etichettati con NO_EXPORT in aggiunta a qualunque sia il presunto fornitore richiede che il / 25s non fuoriesca accidentalmente dal proprio AS (non che sia probabile che vada molto lontano se lo fa).

Un'ultima nota: assicurati che questa "comunità non documentata" non sia in realtà una comunità blackhole, perché sarebbe ... sai, male .


Questo da un noto livello 1 e tutti gli ISP in cui ho fatto BGP non lo consentono gt 24come politica generale. Avevo programmato di impostare NO_EXPORT su / 25s.
generalnetworkerror

tutti i miei upstream accetteranno > / 24 da me, semplicemente non lo esporteranno. In realtà io uso quell'effetto per lo smistamento del traffico poiché non fanno ECMP.
Olipro,

inoltre, una cosa del genere sarebbe terribile in caso di attacco - se non puoi infastidire un / 32 al tuo monte con una comunità blackhole, sei nei guai.
Olipro,

Consentono annunci blackhole di qualsiasi dimensione con la giusta comunità.
generalnetworkerror
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.