Passa al contenuto principale

6.8.7. Transmitting BFD Control Packets (Trasmissione dei pacchetti di controllo BFD)

6.8.7. Transmitting BFD Control Packets (Trasmissione dei pacchetti di controllo BFD)

I pacchetti di controllo BFD vengono trasmessi per vari motivi: periodicamente per il rilevamento dei guasti in modalità asincrona, in risposta a una sequenza di Poll, o per segnalare cambiamenti di stato o parametri.

Trasmissione periodica in modalità asincrona:

Quando una sessione BFD è in modalità asincrona (cioè, non in modalità Demand), il sistema DEVE trasmettere periodicamente pacchetti di controllo BFD all'intervallo negoziato come descritto nella sezione 6.8.2.

La trasmissione periodica DEVE avvenire negli stati Down, Init e Up. La trasmissione NON DEVE avvenire nello stato AdminDown.

Trasmissione in risposta a una sequenza di Poll:

Quando viene ricevuto un pacchetto di controllo BFD con il bit Poll (P) impostato, il sistema DEVE trasmettere un pacchetto di controllo BFD con il bit Final (F) impostato il prima possibile, indipendentemente da qualsiasi trasmissione periodica programmata. Questo pacchetto DEVE riflettere i valori correnti di tutti i parametri della sessione.

Contenuto dei pacchetti trasmessi:

I campi del pacchetto di controllo BFD DEVONO essere impostati come segue:

  • Version (Vers): Impostato a 1.

  • Diagnostic (Diag): Impostato al valore di bfd.LocalDiag.

  • State (Sta): Impostato al valore di bfd.SessionState.

  • Poll (P): Impostato a 1 se il sistema sta iniziando una sequenza di Poll, altrimenti 0.

  • Final (F): Impostato a 1 se il sistema sta rispondendo a un pacchetto ricevuto con il bit Poll impostato, altrimenti 0. Si noti che un pacchetto NON DEVE avere sia il bit Poll che il bit Final impostati.

  • Control Plane Independent (C): Impostato in base all'implementazione (se il BFD è implementato nel piano di inoltro o meno).

  • Authentication Present (A): Impostato a 1 se l'autenticazione è in uso per questa sessione, altrimenti 0.

  • Demand (D): Impostato a 1 se il sistema desidera operare in modalità Demand, la sessione è Up, e il sistema remoto ha anche segnalato Up. Altrimenti impostato a 0.

  • Multipoint (M): Impostato a 0.

  • Detect Mult: Impostato al valore di bfd.DetectMult.

  • Length: Impostato alla lunghezza appropriata del pacchetto, in byte. Deve essere un multiplo di 4.

  • My Discriminator: Impostato al valore di bfd.LocalDiscr.

  • Your Discriminator: Impostato al valore di bfd.RemoteDiscr, o 0 se il valore non è ancora noto.

  • Desired Min TX Interval: Impostato al valore di bfd.DesiredMinTxInterval.

  • Required Min RX Interval: Impostato al valore di bfd.RequiredMinRxInterval.

  • Required Min Echo RX Interval: Impostato al valore di bfd.RequiredMinEchoRxInterval.

Se l'autenticazione è in uso (bit A impostato), la sezione di autenticazione appropriata DEVE essere inclusa e popolata in base al tipo di autenticazione (vedi sezioni 6.7.2, 6.7.3 e 6.7.4).

Modalità Demand:

In modalità Demand, dopo che la sessione è Up e il bit Demand è stato impostato in entrambe le direzioni, il sistema PUÒ cessare la trasmissione periodica di pacchetti di controllo BFD. Tuttavia, il sistema DEVE trasmettere pacchetti di controllo BFD quando:

  1. Inizia una sequenza di Poll (per verificare la connettività o segnalare un cambio di parametri).
  2. Riceve un pacchetto di controllo BFD con il bit Poll impostato (deve rispondere con Final).
  3. I parametri della sessione cambiano.

Intervallo di trasmissione:

L'intervallo di trasmissione effettivo è calcolato come descritto nella sezione 6.8.2, e DOVREBBE includere un jitter casuale per evitare la sincronizzazione con altre sessioni.