3. Protocol Overview (Panoramica del protocollo)
3. Protocol Overview (Panoramica del protocollo)
BFD può essere eseguito in due modalità. In entrambe le modalità, una volta che una sessione BFD è stabilita, un sistema invia periodicamente pacchetti di controllo BFD all'altro. Se un numero di tali pacchetti consecutivi non viene ricevuto dall'altro sistema, la sessione è dichiarata Down.
Le due modalità differiscono in quanto una modalità (chiamata Asynchronous mode, modalità asincrona) richiede che ogni sistema invii periodicamente pacchetti di controllo BFD, indipendentemente dalla ricezione di qualsiasi pacchetto di controllo dall'altro sistema. L'altra modalità (Demand mode, modalità Demand) consente a un sistema di smettere di inviare pacchetti di controllo BFD una volta che la sessione è stata stabilita (con le eccezioni descritte di seguito); in tal caso, l'altro sistema continua a inviare pacchetti di controllo BFD (secondo la semantica della modalità asincrona).
BFD definisce una funzione Echo che può essere utilizzata in entrambe le modalità. Quando la funzione Echo è attiva, un sistema invia flussi di pacchetti Echo BFD al sistema remoto. Il sistema remoto riflette questi pacchetti Echo BFD al mittente (con le eccezioni descritte di seguito). Se un numero di tali pacchetti consecutivi non viene ricevuto dal sistema di invio, la sessione è dichiarata Down.
Le due modalità operative e la funzione Echo possono essere combinate in vari modi, il che si traduce in un'ampia flessibilità e prestazioni. Ogni sistema BFD stima quanto velocemente può inviare e ricevere pacchetti BFD, e utilizza queste stime per controllare la velocità alla quale i pacchetti vengono trasmessi tra i due sistemi. Ogni sistema stima indipendentemente queste velocità, per cui la velocità di trasmissione in ogni direzione può essere diversa.
Ogni sistema BFD comunica anche all'altro il minimo intervallo di ricezione tra i pacchetti BFD che supporta. Questo mitigherà l'effetto di un sistema sovraccarico, poiché l'altro sistema ridurrà automaticamente la velocità di trasmissione al ritmo richiesto.
BFD fornisce un meccanismo semplice per rilevare guasti nei percorsi tra sistemi adiacenti, ma non include un meccanismo di scoperta; le sessioni BFD devono essere stabilite esplicitamente da qualche altro mezzo. Ad esempio, un protocollo di routing può scegliere di utilizzare BFD per rilevare i guasti nei percorsi verso i suoi vicini stabilendo sessioni BFD.
È richiesto a un sistema di stabilire sessioni BFD multiple per un particolare protocollo client quando esistono percorsi multipli tra due sistemi; questo consente un rilevamento dei guasti indipendente per ogni percorso. Questo richiede il supporto di più sessioni BFD tra la stessa coppia di sistemi.