3.2. Operating Modes (Modalità operative)
3.2. Operating Modes (Modalità operative)
BFD ha due modalità operative che possono essere viste come due diverse modalità di comunicazione del rilevamento della vitalità e dei guasti. La scelta della modalità è soggetto a un'applicazione specifica, sebbene sia possibile che i due endpoint di una sessione BFD non siano d'accordo sulla modalità in uso (un endpoint potrebbe utilizzare la modalità Demand mentre l'altro potrebbe utilizzare la modalità asincrona). Come minimo, un'implementazione DEVE supportare la modalità asincrona.
Nella modalità asincrona, entrambi gli endpoint trasmettono periodicamente pacchetti di controllo BFD. Un endpoint è in grado di rilevare un guasto nel percorso verso l'altro endpoint quando smette di ricevere pacchetti di controllo BFD per un periodo specificato, indipendentemente da qualsiasi altra attività.
Nella modalità Demand, una volta che una sessione BFD è stata stabilita, un endpoint (o entrambi) può scegliere di smettere di inviare pacchetti di controllo BFD, salvo quando si desidera cambiare il parametro della sessione, o quando si desidera verificare la connettività per qualche motivo, o quando l'endpoint sta ricevendo pacchetti di controllo BFD dall'altro endpoint in modalità Poll. Un endpoint è in grado di rilevare un guasto nel percorso verso l'altro endpoint utilizzando qualche meccanismo esterno, ad esempio attraverso segnalazione di guasto del livello fisico del collegamento. Se tale meccanismo esiste, un endpoint (o entrambi) può operare in modalità Demand. Altrimenti, entrambi gli endpoint devono utilizzare la modalità asincrona. Si noti che se entrambi gli endpoint smettono di inviare pacchetti, non viene effettuato alcun rilevamento dei guasti! La modalità Demand è progettata per operare in modo tale che vi sia un meccanismo di rilevamento dei guasti attivo durante il tempo in cui nessun pacchetto di controllo viene trasmesso.
Un'implementazione CHE supporta la modalità Demand DEVE anche supportare la funzione Echo.
Se entrambi gli endpoint nella sessione BFD vogliono utilizzare la modalità Demand, entrambi gli endpoint DEVONO segnalare il supporto per la modalità Demand, e almeno un endpoint DEVE cessare la trasmissione dei pacchetti di controllo BFD (cessando così di eseguire il polling dell'altro sistema). Un endpoint non può rimanere in modalità asincrona mentre l'altro endpoint sta in modalità Demand. Una volta che il supporto per la modalità Demand è stato segnalato da entrambi gli endpoint, un endpoint DEVE PUÒ inviare più pacchetti di controllo BFD (tipicamente un piccolo numero) prima di cessare la trasmissione.
Se entrambi gli endpoint cessano la trasmissione di pacchetti di controllo BFD, come potrebbero accadere se entrambi sono in modalità Demand, alcuni passaggi sono necessari per garantire che i guasti siano ancora rilevati. Ogni endpoint DEVE verificare periodicamente lo stato della sessione utilizzando il meccanismo di rilevamento esterno, se disponibile, o trasmettendo una sequenza di pacchetti di controllo BFD; il meccanismo utilizzato è soggetto all'implementazione e non è specificato in questo documento. Una notevole eccezione a questa regola è quando la funzione Echo è attiva; in questo caso, la ricezione di pacchetti Echo BFD fornisce una verifica implicita dello stato della sessione, senza la necessità di azioni esplicite da parte dell'endpoint.