Passa al contenuto principale

6.8.18. Holding Down Sessions (Mantenimento delle sessioni in stato down)

6.8.18. Holding Down Sessions (Mantenimento delle sessioni in stato down)

In alcune circostanze, può essere desiderabile impedire temporaneamente che una sessione BFD transiti allo stato Up, mantenendola nello stato Down per un periodo di tempo. Questo è chiamato "holding down" una sessione.

Scopo del holding down:

Il holding down delle sessioni può essere utile in varie situazioni:

  • Stabilizzazione dopo un guasto: Dopo che un percorso ha subito un guasto e una riparazione rapida, potrebbe essere desiderabile attendere un periodo per garantire che il percorso sia stabile prima di dichiararlo Up.

  • Prevenzione del flapping: Se un percorso è instabile e transita ripetutamente tra Up e Down, il holding down può prevenire il flapping eccessivo.

  • Controllo della convergenza: In reti complesse, potrebbe essere necessario controllare l'ordine e la temporizzazione con cui le sessioni BFD vengono portate Up.

Meccanismo di holding down:

Per mantenere una sessione nello stato Down:

  1. Il sistema imposta bfd.RequiredMinRxInterval a zero nel pacchetto di controllo BFD trasmesso. Questo indica al sistema remoto che il sistema locale non desidera ricevere pacchetti di controllo BFD periodici.

  2. Il sistema remoto, ricevendo questo valore, NON DEVE trasmettere pacchetti di controllo BFD periodici al sistema locale (o può trasmetterli a una velocità molto ridotta).

  3. Il sistema locale mantiene bfd.SessionState a Down e continua a trasmettere pacchetti di controllo BFD con lo stato Down.

  4. Anche se il sistema remoto segnala Init o Up, il sistema locale può scegliere di non avanzare allo stato Init o Up, rimanendo nello stato Down.

Durata del holding down:

La durata per cui una sessione viene mantenuta Down è dipendente dall'implementazione e dalle policy locali. Potrebbe essere:

  • Un periodo di tempo fisso (ad esempio, 30 secondi).
  • Basato su condizioni esterne (ad esempio, fino a quando un protocollo di livello superiore non dà il via libera).
  • Basato su contatori di flapping o altre metriche di stabilità.

Uscita dallo stato di holding down:

Quando il sistema decide che è appropriato permettere alla sessione di avanzare:

  1. Il sistema imposta bfd.RequiredMinRxInterval a un valore appropriato maggiore di zero.

  2. Il sistema permette alla macchina a stati di funzionare normalmente, consentendo alla sessione di transitare allo stato Init e poi Up quando riceve i segnali appropriati dal sistema remoto.

Considerazioni:

  • Il holding down di una sessione impedisce il rilevamento dei guasti per quel percorso durante il periodo di holding. Le applicazioni DEVONO considerare attentamente se questo è accettabile per i loro requisiti.

  • Il meccanismo di holding down deve essere utilizzato con cautela, poiché può introdurre ritardi significativi nel ripristino della connettività dopo i guasti.

  • Durante il holding down, se bfd.RequiredMinRxInterval è zero, il sistema locale non rileverà i guasti basati sulla ricezione dei pacchetti di controllo BFD. Il sistema DOVREBBE utilizzare altri meccanismi (come la funzione Echo o meccanismi esterni) per il rilevamento dei guasti durante questo periodo, se necessario.