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.