Passa al contenuto principale

A2.1. Managing and Using the Anti-Replay Window (Gestione e utilizzo della finestra anti-replay)

A2.1. Managing and Using the Anti-Replay Window (Gestione e utilizzo della finestra anti-replay)

La finestra anti-replay può essere pensata come una stringa di bit dove 'W' definisce la lunghezza della stringa. W = T - B + 1 e non può superare 2^32 - 1 in valore. Il bit più basso corrisponde a B e il bit più alto corrisponde a T, e ogni numero di sequenza da Bl a Tl è rappresentato da un bit corrispondente. Il valore del bit indica se un pacchetto con quel numero di sequenza è stato ricevuto e autenticato, in modo che i replay possano essere rilevati e rifiutati.

Quando un pacchetto con un numero di sequenza a 64 bit (Seq) maggiore di T viene ricevuto e validato,

  • B viene aumentato di (Seq - T)
  • (Seq - T) bit vengono eliminati dall'estremità inferiore della finestra
  • (Seq - T) bit vengono aggiunti all'estremità superiore della finestra
  • Il bit superiore viene impostato per indicare che un pacchetto con quel numero di sequenza è stato ricevuto e autenticato
  • I nuovi bit tra T e il bit superiore vengono impostati per indicare che non sono ancora stati ricevuti pacchetti con quei numeri di sequenza.
  • T viene impostato sul nuovo numero di sequenza

Quando si controllano i pacchetti riprodotti,

  • Nel Caso A: Se Seql >= Bl (dove Bl = Tl - W + 1) E Seql <= Tl, allora controllare il bit corrispondente nella finestra per vedere se questo Seql è già stato visto. Se sì, rifiutare il pacchetto. Se no, eseguire il controllo di integrità (vedere Appendice A2.2. di seguito per la determinazione di Seqh).

  • Nel Caso B: Se Seql >= Bl (dove Bl = Tl - W + 1) O Seql <= Tl, allora controllare il bit corrispondente nella finestra per vedere se questo Seql è già stato visto. Se sì, rifiutare il pacchetto. Se no, eseguire il controllo di integrità (vedere Appendice A2.2. di seguito per la determinazione di Seqh).