Panoramica di Bidirectional Forwarding Detection (BFD)

Questa pagina descrive Bidirectional Forwarding Detection (BFD) per Cloud Router.

BFD (RFC 5880, RFC 5881) è un protocollo di rilevamento delle interruzioni di un percorso di forwarding supportato dalla maggior parte router commerciali. Con BFD per il router Cloud, puoi abilitare questa modalità all'interno di una sessione BGP per rilevare le interruzioni del percorso di forwarding, come eventi link down. Questa funzionalità rende le reti ibride più resilienti.

Quando esegui il peering con Google Cloud dalla tua rete on-premise utilizzando Dedicated Interconnect o Partner Interconnect, abilitare BFD per il rilevamento rapido di errori di collegamento e failover a un link alternativo con una sessione BGP di backup. In questo modo, BFD fornisce un percorso di connettività di rete ad alta disponibilità che può rispondere rapidamente ai guasti del link.

Vantaggi di BFD

Il protocollo BFD configurato con le impostazioni predefinite rileva gli errori dopo 5 secondi, rispetto 60 secondi per il rilevamento degli errori basato su BGP. Con BFD implementato su Cloud Router, il tempo di rilevamento end-to-end può essere ridotto a 5 secondi.

BFD è un protocollo hello a lunghezza fissa in cui ogni estremità di una connessione trasmette di pacchetti in modo periodico su un percorso di forwarding.

BFD è un rilevamento basato su UDP che fornisce un metodo a basso overhead per rilevare gli errori nel di inoltro dei dati tra due router adiacenti. Sono inclusi il rilevamento di errori in interfacce, link di dati e piani di inoltro. Puoi attivare BFD a livello di protocollo di routing.

Limitazioni BFD

Puoi attivare BFD solo nelle sessioni BGP configurate per i collegamenti VLAN in Dedicated Interconnect o Partner Interconnect. Il protocollo BFD non è supportato nelle sessioni BGP configurate per tunnel VPN ad alta disponibilità o per l'appliance router, che fa parte Network Connectivity Center.

Creazione di una sessione BFD

Per stabilire una sessione BFD, configura il protocollo BFD su entrambi i peer BGP: un router Cloud e un router on-premise che esegue BFD. Dopo aver attivato BFD per il protocollo di routing BGP sul router, viene creata una sessione BFD, vengono negoziati i timer BFD e i peer BFD iniziano a inviare pacchetti di controllo BFD tra loro nell'intervallo negoziato.

Inviando notifiche di rilevamento rapido dei guasti a BGP sul router locale per avviare il processo di ricalcolo della tabella di routing, BFD contribuisce a ridurre notevolmente il tempo di convergenza complessivo della rete.

Il seguente diagramma mostra una rete semplice con due router che eseguono BGP e BFD. Questi numeri rappresentano la procedura di creazione della sessione BFD:

  1. Il vicino BGP è configurato.
  2. BGP invia una richiesta al processo BFD locale per avviare una sessione del vicino BFD con il router peer/vicino BGP.
  3. Viene stabilita la sessione del vicino BFD con il router vicino BGP.
Creazione di una sessione BFD.
Creazione di una sessione BFD (fai clic per ingrandire)

BFD durante un evento di errore

La figura seguente mostra cosa succede quando si verifica un errore nella rete.

In modalità di solo controllo BFD, il router Cloud e i router on-premise si inviano periodicamente i pacchetti di controllo BFD l'uno all'altro. Se numero di pacchetti di controllo in una riga configurata nell'impostazione bfd multiplier sul router Cloud non viene ricevuta dall'altro router, la sessione viene che è stato dichiarato inattivo. A questo punto, si verifica quanto segue:

  1. Si verifica un errore nel collegamento tra Google Cloud e il router on-premise.
  2. La sessione BFD del vicino con il router vicino BGP viene interrotta.
  3. BFD comunica al processo BGP locale che il vicino BFD non è più reachable.
  4. Il processo BGP locale interrompe la relazione BGP del vicino.

Se è disponibile un percorso alternativo, i router iniziano immediatamente a convergere su di esso.

BFD durante un evento di errore.
BFD durante un evento di errore (fai clic per ingrandire)

Smorzamento BFD

Cloud Router implementa internamente l'attenuazione BFD per eliminare l'effetto negativo dei frequenti flap delle sessioni BFD su BGP. Lo smorzamento BFD utilizza parametri predefiniti che non possono essere modificati dall'utente.

L'attenuazione BFD utilizza un sistema di penalità. Il valore della penalità inizia da 0 e aumenta a 1 per il primo flap. Dopo il primo flap, la penalità raddoppia ogni volta che si verifica un altro flap BFD. Quando la penalità supera il valore soglia di 4, BFD elimina le notifiche a BGP. La penalità viene dimezzata ogni 10 minuti se non si verificano flap durante questo periodo.

BFD riattiva le notifiche a BGP dopo che la penalità scende al di sotto della soglia di riutilizzo di 4.

L'intervallo massimo di eliminazione per le notifiche BFD a BGP è di 1 ora. Ciò garantisce che la sessione BFD le notifiche non vengono attenuate per sempre.

Modalità BFD asincrona

Cloud Router supporta una modalità di funzionamento asincrona, in cui i sistemi coinvolti si inviano periodicamente pacchetti di controllo BFD. Se un numero configurato di questi pacchetti in una riga non viene ricevuto dall'altro la sessione è dichiarata non attiva.

La modalità di domanda del funzionamento BFD non è supportata. Per la modalità a pacchetto, BFD supporta modalità di solo controllo; modalità eco non supportata.

Nella modalità di funzionamento asincrona con modalità di pacchetto solo di controllo, BFD viene eseguito sul piano di controllo e può aggiungere un leggero overhead e tempo di elaborazione della CPU.

Per impostazione predefinita, BFD è disabilitato nelle sessioni BGP del router Cloud. Per usare il formato BFD, devi abilitarla.

Nel seguente scenario di errore, i router hanno le seguenti impostazioni:

  • L'intervallo di ricezione BFD del router Cloud è impostato su 1000 millisecondi (ms) moltiplicati per un moltiplicatore BFD di 5, per un'impostazione del timer di rilevamento di 5000 ms.
  • L'intervallo di trasmissione BFD del router peer è impostato su 1000 ms moltiplicati per un moltiplicatore BFD di 5, per un'impostazione del timer di rilevamento di 5000 ms.

Il router Cloud negozia con il router peer e si aspetta di ricevere pacchetti di controllo ogni 1000 ms dal router peer. Se passano 5000 ms senza che il router Cloud riceva un pacchetto di controllo, il timer di rilevamento scade e la sessione BFD viene dichiarata non disponibile.

BFD senza pacchetti echo.
BFD senza pacchetti eco (fai clic per ingrandire)

Durante la configurazione del protocollo BFD, consigliamo quanto segue:

  • Per evitare una mancata corrispondenza del moltiplicatore BFD, configura il router on-premise e il router cloud con le stesse impostazioni BFD.
  • Per evitare i flap BFD e BGP, imposta il timeout minimo per l'expiration BFD su almeno 5000 ms in ogni direzione.

Riavvio graduale e BFD

Per ridurre al minimo l'impatto sul traffico durante il software del router Cloud di manutenzione, ti consigliamo di abilitare riavvio graceful di BGP.

Se sono abilitati sia riavvio graceful di BGP sia il protocollo BFD, quando Il router Cloud si riavvia, prova a disattivare BFD inviando un Messaggio AdminDown al router on-premise. In questo caso, la sessione BGP rimane attiva sul lato on-premise e il router on-premise entra in modalità di riavvio graduale. Mentre il router on-premise è in modalità di riavvio graduale, Cloud Router può riavviarsi senza influire sul traffico del piano dati.

Analogamente, se il router on-premise invia un messaggio AdminDown prima della sua il piano di controllo si riavvia, il router Cloud entra in modalità di riavvio graceful. Mentre il router Cloud è in modalità di riavvio graceful, il router on-premise può essere riavviato senza influire sul traffico del piano dati.

Cloud Router imposta il bit indipendente dal piano di controllo su 0 quando stabilisce il protocollo BFD con il router peer per indicare che la relativa implementazione è dipendente dal piano di controllo. Se si verifica un errore di interfaccia, è possibile che il router peer non riesca a distinguere tra un errore BFD causato da un errore del piano di controllo o da un errore del piano dati. Ad esempio, un errore di interfaccia può causare il passaggio del router on-premise a una modalità di riavvio graduale e ritardare inutilmente il failover del traffico dal link interessato.

A causa della possibile ambiguità di errore BFD, diversi fornitori trattano questo aspetto scenario specifico in modo diverso e offrire impostazioni di configurazione per modificare comportamento predefinito. Ti consigliamo di consultare le risorse di documentazione e configurare il router on-premise per garantire che un BFD un evento di errore dell'interfaccia con un peer BFD dipendente dal piano di controllo attiva un failover immediato quando utilizzato con riavvio graceful di BGP.

Impostazioni e timer BFD

Questa sezione descrive le impostazioni BFD che puoi configurare su Cloud Router.

Modalità di inizializzazione della sessione BFD

Descrizione Modalità di inizializzazione della sessione BFD per questo peer BGP.
Comando gcloud --bfd-session-initialization-mode
Campo API bgpPeers[].bfd.sessionInitializationMode
Impostazione predefinita Disabled

Esistono tre impostazioni della modalità BFD: Active, Passive e Disabled. Se non impostate questa modalità, viene utilizzata per impostazione predefinita l'impostazione Disabled, con modalità non echo (solo pacchetti di controllo).

  • Disabled (valore predefinito): il protocollo BFD è disabilitato per questo peer BGP.
  • Passive: il router Cloud attende che il router peer avvia la sessione BFD per questo peer BGP.
  • Active: il router Cloud avvia la sessione BFD per questo peer BGP.

Devi impostare il router su Active su almeno un lato di una connessione, ovvero su Cloud Router o sul router peer. Quando configuri una sessione BGP tra due router Cloud, imposta la modalità di inizializzazione della sessione BFD di un router su Active.

Se imposti entrambi i lati su Active, le due parti inviano un pacchetto di controllo iniziale per negoziare i parametri e la sessione viene infine stabilita.

Se imposti la modalità di inizializzazione della sessione BFD su Disabled, facoltativamente puoi configurare il resto delle impostazioni BFD. Queste impostazioni vengono applicate quando riattivi BFD.

Intervallo minimo di trasmissione BFD (pacchetti BFD a un peer)

Descrizione L'intervallo minimo tra i pacchetti di controllo BFD trasmessi a un peer BGP.
Comando gcloud --bfd-min-transmit-interval
Campo API bgpPeers[].bfd.minTransmitInterval
Impostazione predefinita

1000 ms È possibile specificare un'impostazione compresa tra 1000 ms e 30.000 ms.

Intervallo di ricezione minimo BFD (pacchetti BFD da un peer)

Descrizione L'intervallo minimo tra i pacchetti di controllo BFD ricevuti da un peer BGP.
Comando gcloud --bfd-min-receive-interval
Campo API bgpPeers[].bfd.minReceiveInterval
Impostazione predefinita

1000 ms È possibile specificare un'impostazione compresa tra 1000 ms e 30.000 ms.

Moltiplicatore BFD

Descrizione Numero di pacchetti di controllo BFD consecutivi che devono andare persi prima che BFD dichiari che un determinato peer non è disponibile.
Comando gcloud --bfd-multiplier
Campo API bgpPeers[].bfd.multiplier
Impostazione predefinita

5 pacchetti. Puoi specificare un'impostazione compresa tra 5 e 16 pacchetti.

Passaggi successivi