6.8.5. Detecting Failures with the Echo Function (Rilevamento di guasti con la funzione Echo)
6.8.5. Detecting Failures with the Echo Function (Rilevamento di guasti con la funzione Echo)
Quando la funzione Echo è attiva, un sistema può rilevare guasti nel percorso verso il sistema remoto monitorando la ricezione dei pacchetti Echo BFD che ha inviato e che sono stati riflessi dal sistema remoto.
Meccanismo di rilevamento:
Quando un sistema utilizza la funzione Echo, invia pacchetti Echo BFD al sistema remoto a intervalli regolari. Il sistema remoto riflette questi pacchetti indietro al mittente. Il sistema mittente monitora la ricezione di questi pacchetti riflessi.
Il sistema DEVE mantenere un timer (chiamato Echo Detection Timer) per monitorare la ricezione dei pacchetti Echo. Se un numero specificato di pacchetti Echo consecutivi non viene ricevuto entro il tempo previsto, il sistema DEVE dichiarare la sessione Down.
Calcolo del tempo di rilevamento Echo:
Il tempo di rilevamento per la funzione Echo è determinato localmente dal sistema che invia i pacchetti Echo, poiché solo quel sistema conosce la velocità alla quale sta inviando i pacchetti Echo. Il tempo di rilevamento DOVREBBE essere basato sul numero di pacchetti Echo mancanti consecutivi tollerati moltiplicato per l'intervallo di trasmissione Echo.
Ad esempio, se un sistema invia pacchetti Echo ogni 50ms e desidera dichiarare la sessione Down dopo aver perso 3 pacchetti consecutivi, il tempo di rilevamento Echo sarebbe 150ms.
Coordinazione con i pacchetti di controllo:
Quando la funzione Echo è attiva, il sistema PUÒ ridurre la frequenza di trasmissione dei pacchetti di controllo BFD, poiché la funzione Echo fornisce il rilevamento dei guasti. Tuttavia, i pacchetti di controllo BFD DOVREBBERO continuare a essere trasmessi a una velocità bassa per mantenere la sincronizzazione dello stato della sessione tra i due sistemi.
Verifica della capacità del sistema remoto:
Prima di attivare la funzione Echo, un sistema DEVE verificare che il sistema remoto supporti la funzione Echo esaminando il valore bfd.RemoteMinEchoRxInterval. Se questo valore è zero, il sistema remoto non supporta la funzione Echo (o non desidera ricevere pacchetti Echo), e il sistema locale NON DEVE inviare pacchetti Echo.
Se bfd.RemoteMinEchoRxInterval è maggiore di zero, il sistema locale PUÒ attivare la funzione Echo, ma DEVE trasmettere pacchetti Echo a un intervallo non inferiore a bfd.RemoteMinEchoRxInterval.
Gestione dei guasti rilevati:
Se il sistema rileva un guasto attraverso la funzione Echo (cioè, l'Echo Detection Timer scade), il sistema DEVE:
- Impostare
bfd.SessionStatea Down. - Impostare
bfd.LocalDiaga 2 (Echo Function Failed). - Cessare la trasmissione di pacchetti Echo.
- Aumentare la frequenza di trasmissione dei pacchetti di controllo BFD al valore appropriato per la modalità asincrona.
- Segnalare la transizione di stato ai protocolli client.
Vantaggi della funzione Echo:
La funzione Echo ha il vantaggio di testare veramente solo il percorso di inoltro sul sistema remoto, potenzialmente riducendo il jitter del round-trip e consentendo tempi di rilevamento più aggressivi. Può anche rilevare alcune classi di guasti che potrebbero non essere altrimenti rilevate, come guasti nel processamento dei pacchetti da parte del sistema remoto.