Multipath BGP con diversi ASN fattibili per reti di produzione?


15

su Cisco (questo comando è nascosto per qualche motivo)

#bgp bestpath as-path multipath-relax

Il comportamento BGP predefinito installa solo rotte con esattamente lo stesso AS_PATH in RIB. Con multipath-relax, AS_PATH deve avere solo la stessa lunghezza.

Quali problemi può potenzialmente causare? Perché non viene utilizzato più spesso?

In quanto fornitore di transito, questa funzione complica la risoluzione dei problemi (sto pensando ai reclami degli utenti finali sulle prestazioni della rete)? Rende più difficile conoscere il percorso specifico del traffico in un determinato momento? C'è qualcos'altro che può aiutare a risolvere i problemi. Non sono sicuro della scalabilità e dei costi per NetFlow nella rete SP.


1
Ho chiesto a diversi clienti di usarlo, non ho sentito parlare di problemi. draft-lapukhov-bgp-routing-large-dc-05 fa molto affidamento su questa funzione
ytti

Sto cercando una funzione simile in Juniper JunOS ... Ce ne sono? networkengineering.stackexchange.com/questions/6735/…
Everton

Qualche risposta ti è stata d'aiuto? In tal caso, dovresti accettare la risposta in modo che la domanda non continui a comparire per sempre, cercando una risposta. In alternativa, puoi fornire la tua risposta e accettarla.
Ron Maupin

Risposte:


15

bgp bestpath as-path multipath-relaxè stato introdotto da CSCea19918. Normalmente il bilanciamento del carico di eBGP richiede che i percorsi candidati siano percorsi di uguale costo; cioè attributi BGP identici:

  • stesso peso
  • stesso pref. locale
  • stesso AS-Path (entrambi i numeri AS e la lunghezza del percorso AS)
  • stessa origine
  • stesso MED
  • hop successivo diverso

Come accennato, questo comando rilassa lo stesso requisito AS-Path in modo che qualsiasi AS-Path eBGP candidato con la stessa lunghezza del percorso AS possa essere utilizzato per il bilanciamento del carico eBGP (questo non bilancerà il carico tra i percorsi eBGP e iBGP). Se si esegue BGP tra più ISP e si cerca un migliore bilanciamento del carico in uscita tra le connessioni a monte, ciò può essere d'aiuto.

Quali problemi può potenzialmente causare?

Non c'è molto pericolo finché sei un cliente aziendale che non fornisce un servizio di transito a un altro ASN; per un provider di transito potrebbe essere perfettamente sicuro, ma non posso essere sicuro che non ci siano loop di routing se un ASN di transito utilizza questa funzione . All'inizio, ho pensato che ci sarebbe stato facilmente un ciclo nei casi ASN in transito, su più riflessioni non riesco a trovare un vero problema.

Perché verrà usato raramente?

Bella domanda, esiste da almeno il 2005.


1
Potresti spiegare come può causare loop con #bgp bestpath as-path multipath-relax (non #bgp bestpath as-path ignore)?
sdaffa23fdsf,

0
The   basic  issue   is   that  the   BGP   speaker  configured   with
"multipath-relax"   gets  into   a  control   plane  <->   data  plane
inconsistency; i.e.  it advertises  only the  best path,  but installs
multiple paths in the forwarding  that have different ASPATHs than the
best. This breaks the basic tool BGP has to detect loops - ASPATH loop
check.

A (distorted) scenario below. I am sure you can come up with
a better example with a bit more time at hand.

            ...............
            : R4  AS1 (10/8)
           /:..............
     ..../......
     :  R5 AS2
     :....\.....
       /   \  ...............
     /      --:--R1
  R6 AS4      :    \    AS3
     \--------:--- R2
              :    /
              : R3 (10/8)
              :..............

In this example,
- R3 in AS3 and R4 in AS1 announce a prefix 10/8. R5 in AS2 receives
  the prefix from R1(AS3) and R4(AS1).
- AS2 is configured with 'multipath-relax' and chooses both paths
  for multipath forwarding, though it selects AS1's path as best.
- R5 advertises the prefix with AS_PATH "2 1" to R6, and R6 in turn
   to R2.
- Because of some specific policy, it is possible that R2(AS3)
  chooses R6's path as best. If it happens, there is a loop.
  Note that R1-R2-R3 represents the physical connectivity of
  the routers in AS3.

Grazie per l'esempio Vuoi dire che R3 seleziona R4 come percorso migliore per 10/8, R5 inoltra parte del traffico a 10/8 di nuovo su AS3 a R1? Perché questo è causato dal rilassamento multipath? Senza multipath-relax, il ciclo R2 - R6 - R5 -R1 può ancora esistere se non esiste un filtro in uscita adeguato (o da semplice 10/8 a null0 nel AS di origine). Mi sembra che il problema qui sia il dirottamento della BGP. Sto capendo male?
sdaffa23fdsf,

No. Quello che voglio dire è: (a) R3 ha il suo percorso migliore esterno, (b) R1 sceglie R3 come il migliore, ma a causa della connettività fisica, deve inviare il traffico verso R2 per raggiungere R3, (c) R2 seleziona il percorso esterno (ricevuto da R6) come migliore. Ciò è legato al rilassamento multipath, poiché R5 sceglie un percorso da AS3 per l'inoltro multipath che non rivela. Pertanto la tecnica di prevenzione del loop ASPATH non riesce in AS3.
Pradosh Mohapatra,

Continuo a non capire come ciò possa essere prevenuto senza il rilassamento multipath. R1 invia traffico a 10/8 tramite R2 e R2 sceglie R6 come uscita (peso), R5 può scegliere R1 come migliore per 10/8 anche senza rilassamento multipath e causare un loop. La prevenzione loop ASPATH non può impedire i loop causati dalla preferenza di un punto di uscita esterno per la rete interna. Se R1 seleziona R5, R2 seleziona R6 come migliore per 10/8, il loop viene formato indipendentemente, no?
sdaffa23fdsf,

Non sono sicuro di come sarebbe un ciclo. R1 seleziona R5 come migliore => implica che R5 seleziona R4 come uscita per il traffico (altrimenti, sarebbe stato rilevato un loop AS_PATH). Pertanto, i percorsi del flusso di traffico saranno: R1-> R5-> R4 o R2-> R6-> R5-> R4 o R5-> R4 o R3.
Pradosh Mohapatra,
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.