Passa al contenuto principale

10. Clock Filter Algorithm (Algoritmo filtro orologio)

L'algoritmo di filtro dell'orologio fa parte del processo peer. Seleziona i campioni più probabili di rappresentare l'ora accurata. L'algoritmo produce variabili tra cui offset (theta), ritardo (delta), dispersione (epsilon), jitter (psi) e tempo di arrivo (t).

Struttura e calcoli

Il filtro utilizza un registro a scorrimento a 8 stadi per memorizzare le tuple recenti (theta, delta, epsilon, t). Le tuple sono inizializzate a (0, MAXDISP, MAXDISP, 0) e aggiornate all'arrivo di pacchetti validi.

Dispersione del peer:

         i=n-1
--- epsilon_i
epsilon = \ ----------
/ (i+1)
--- 2
i=0

Jitter:

              +-----                 -----+^1/2
1 | \ 2 |
psi = ---- * | / (theta_0-theta_j) |
(n-1) | --- |
+----- -----+

Distanza di sincronizzazione:

lambda = (delta / 2) + epsilon

In NTPv4, lambda aumenta nel tempo fino a superare MAXDIST, momento in cui l'associazione è considerata inadatta per la sincronizzazione.