Passa al contenuto principale

Appendice B. Messaggi di Controllo NTP

Questa appendice descrive il formato del messaggio di controllo NTP, che fornisce un meccanismo per monitorare e controllare un'implementazione NTP. I messaggi di controllo sono una funzionalità opzionale e non devono essere implementati in tutti i casi. Quando implementati, i messaggi di controllo vengono utilizzati solo in modalità client/server e non sono appropriati per la modalità broadcast. I messaggi di controllo sono formattati come messaggi NTP standard con il campo modalità impostato su 6 (messaggio di controllo).

I messaggi di controllo forniscono un meccanismo semplice di query/risposta per monitorare e controllare un'implementazione NTP. Sono utilizzati principalmente per la gestione e il monitoraggio dell'implementazione NTP, fornendo accesso alle variabili interne mantenute dalla macchina di protocollo. Queste variabili possono essere esaminate da applicazioni di gestione esterne e, in alcuni casi, modificate. I messaggi di controllo forniscono un modo per esaminare lo stato e le prestazioni dell'implementazione senza interferire con il normale funzionamento del protocollo.

B.1. Formato del Messaggio di Controllo NTP​

Il messaggio di controllo NTP è formattato come segue:

 0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|LI | VN | Mode |R|E|M| OpCode | Sequence |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Status | Association ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Offset | Count |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. Data .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Key Identifier (opzionale) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Message Digest (opzionale) |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Descrizioni dei Campi​

Indicatore di Salto (LI): Questo è un codice a due bit che avverte di un imminente secondo intercalare, come definito nel formato del messaggio NTP.

Numero di Versione (VN): Questo è un intero a tre bit che indica il numero di versione NTP, attualmente 3.

Modalità: Questo è un intero a tre bit che indica la modalità. Per i messaggi di controllo, questo campo è impostato su 6.

Bit di Risposta (R): Impostato su 0 per una query, 1 per una risposta.

Bit di Errore (E): Impostato su 0 per una risposta normale, 1 per una risposta di errore.

Bit More (M): Impostato su 1 se più dati seguono questo frammento, 0 per l'ultimo frammento.

Codice di Operazione (OpCode): Questo è un codice a cinque bit che specifica l'operazione da eseguire:

ValoreOperazione
0riservato
1leggi stato
2leggi variabili
3scrivi variabili
4leggi variabili orologio
5scrivi variabili orologio
6imposta indirizzo trap
7risposta trap
8-31riservato

Sequenza: Questo è un intero a 16 bit utilizzato per abbinare le richieste con le risposte.

Stato: Questo è un codice a 16 bit che indica lo stato del sistema, peer o orologio.

ID Associazione: Questo è un intero a 16 bit che identifica una particolare associazione peer. Il valore 0 indica le variabili di sistema.

Offset: Questo è un intero a 16 bit che specifica l'offset del primo ottetto nell'area dati.

Conteggio: Questo è un intero a 16 bit che specifica il numero di ottetti nell'area dati.

Dati: Questo campo di lunghezza variabile contiene i dati della richiesta o della risposta. Il formato dipende dal codice di operazione.

Autenticatore (opzionale): Quando l'autenticazione è implementata, questo campo contiene l'identificatore chiave e il digest del messaggio definiti nell'Appendice C.

B.2. Parole di Stato​

Il campo di stato nell'intestazione del messaggio di controllo contiene un codice a 16 bit che fornisce informazioni sul sistema, peer o orologio. Il formato dipende dal tipo di stato riportato.

B.2.1. Parola di Stato Sistema​

La parola di stato sistema appare nel campo di stato della risposta a un comando di lettura stato con un identificatore di associazione zero.

B.2.2. Parola di Stato Peer​

La parola di stato peer appare nel campo di stato della risposta a un comando di lettura stato con un identificatore di associazione non zero.

B.2.3. Parola di Stato Orologio​

La parola di stato orologio appare nel campo di stato della risposta a un comando di lettura variabili orologio. Il formato dipende dall'implementazione.

B.2.4. Parola di Stato Errore​

La parola di stato errore appare nel campo di stato di una risposta di errore.

B.3. Comandi​

I comandi del messaggio di controllo forniscono un meccanismo per leggere e scrivere le variabili di sistema, peer e orologio. I seguenti comandi sono definiti:

Leggi Stato: Questo comando restituisce la parola di stato del sistema (ID associazione = 0) o di un peer particolare (ID associazione != 0).

Leggi Variabili: Questo comando restituisce i valori di una o più variabili del sistema o di un peer particolare. Il campo dati contiene un elenco di nomi di variabili separati da virgole.

Scrivi Variabili: Questo comando imposta i valori di una o più variabili. Il campo dati contiene un elenco di coppie variabile=valore separate da virgole.

Leggi Variabili Orologio: Questo comando restituisce i valori di una o più variabili di orologio di riferimento.

Scrivi Variabili Orologio: Questo comando imposta i valori di una o più variabili di orologio di riferimento.

Imposta Indirizzo Trap: Questo comando imposta l'indirizzo del ricevitore trap. Quando si verifica un evento significativo, l'implementazione invia un messaggio di risposta trap non richiesto all'indirizzo specificato.

Risposta Trap: Questo è un messaggio non richiesto inviato al ricevitore trap quando si verifica un evento significativo.

La funzionalità del messaggio di controllo fornisce un meccanismo potente per monitorare e gestire un'implementazione NTP. Tuttavia, deve essere utilizzata con cautela per evitare di disturbare il normale funzionamento del protocollo o di compromettere la sicurezza.