5. Costanti DHCP
5. Costanti DHCP (DHCP Constants)
Questa sezione descrive le varie costanti di programma e di rete utilizzate da DHCP.
5.1. Indirizzi Multicast
DHCP utilizza i seguenti indirizzi multicast:
All_DHCP_Relay_Agents_and_Servers (FF02::1:2)
Indirizzo multicast di ambito di collegamento utilizzato dai client per comunicare con agenti di inoltro e server adiacenti (cioè sul collegamento). Tutti i server e gli agenti di inoltro sono membri di questo gruppo multicast.
All_DHCP_Servers (FF05::1:3)
Indirizzo multicast di ambito di sito utilizzato dagli agenti di inoltro per comunicare con i server, quando l'agente di inoltro desidera inviare un messaggio a tutti i server, o quando non conosce l'indirizzo unicast del server. Si noti che affinché un agente di inoltro possa utilizzare questo indirizzo, deve avere un indirizzo con ambito sufficiente affinché i server possano accedervi. Tutti i server all'interno del sito sono membri di questo gruppo multicast.
5.2. Porte UDP
I client ascoltano i messaggi DHCP sulla porta UDP 546. I server e gli agenti di inoltro ascoltano i messaggi DHCP sulla porta UDP 547.
5.3. Tipi di Messaggio DHCP
DHCP definisce i seguenti tipi di messaggio. Per maggiori dettagli su questi tipi di messaggio, vedere le sezioni 6 e 7. I tipi di messaggio non elencati qui sono riservati per uso futuro. La codifica numerica di ogni tipo di messaggio è mostrata tra parentesi.
SOLICIT (1)
Il client invia un messaggio Solicit per localizzare un server.
ADVERTISE (2)
Il server invia un messaggio Advertise per indicare che è disponibile per il servizio DHCP, in risposta a un messaggio Solicit ricevuto da un client.
REQUEST (3)
Il client invia un messaggio Request per richiedere parametri di configurazione, inclusi indirizzi IP, da un server specifico.
CONFIRM (4)
Il client invia un messaggio Confirm a qualsiasi server disponibile per determinare se gli indirizzi assegnati sono ancora appropriati per il collegamento a cui il client è collegato.
RENEW (5)
Il client invia un messaggio Renew al server che originariamente ha fornito gli indirizzi e i parametri di configurazione del client, per estendere le durate degli indirizzi assegnati al client e aggiornare altri parametri di configurazione.
REBIND (6)
Il client invia un messaggio Rebind a qualsiasi server disponibile per estendere le durate degli indirizzi assegnati al client e aggiornare altri parametri di configurazione; questo messaggio viene inviato dopo che il client non ha ricevuto una risposta a un messaggio Renew.
REPLY (7)
Il server invia un messaggio Reply contenente indirizzi assegnati e parametri di configurazione, in risposta a messaggi Solicit, Request, Renew, Rebind ricevuti da un client. Il server invia un messaggio Reply contenente parametri di configurazione, in risposta a un messaggio Information-request. Il server invia un messaggio Reply per rispondere a un messaggio Confirm, confermando o rifiutando che gli indirizzi assegnati al client siano appropriati per il collegamento a cui il client è collegato. Il server invia un messaggio Reply per confermare la ricezione di un messaggio Release o Decline.
RELEASE (8)
Il client invia un messaggio Release al server che ha assegnato gli indirizzi, per indicare che il client non utilizzerà più uno o più indirizzi assegnati.
DECLINE (9)
Il client invia un messaggio Decline al server per indicare che il client ha determinato che uno o più indirizzi assegnati dal server sono già in uso sul collegamento a cui il client è collegato.
RECONFIGURE (10)
Il server invia un messaggio Reconfigure al client per notificare al client che il server ha nuovi o aggiornati parametri di configurazione e che il client dovrebbe avviare una transazione Renew/Reply o Information-request/Reply con il server per ricevere le informazioni aggiornate.
INFORMATION-REQUEST (11)
Il client invia un messaggio Information-request a un server per richiedere parametri di configurazione, senza assegnare alcun indirizzo IP al client.
RELAY-FORW (12)
L'agente di inoltro invia un messaggio Relay-forward per inoltrare un messaggio a un server, direttamente o attraverso un altro agente di inoltro. Il messaggio ricevuto (un messaggio client o un messaggio Relay-forward da un altro agente di inoltro) è incapsulato nelle opzioni del messaggio Relay-forward.
RELAY-REPL (13)
Il server invia un messaggio Relay-reply contenente un messaggio che l'agente di inoltro deve inoltrare al client. Il messaggio Relay-reply può essere inoltrato da altri agenti di inoltro per essere consegnato all'agente di inoltro di destinazione. Il server incapsula il messaggio client come opzione nel messaggio Relay-reply, e l'agente di inoltro estrae questa opzione e la inoltra al client.
5.4. Codici di Stato
DHCPv6 utilizza codici di stato per comunicare il successo o il fallimento delle operazioni richieste nei messaggi client e server, e per fornire informazioni aggiuntive sul motivo specifico del fallimento di un messaggio. I codici di stato specifici sono definiti nella sezione 24.4.
5.5. Parametri di Trasmissione e Ritrasmissione
Questa sezione fornisce una tabella di valori utilizzati per descrivere il comportamento di trasmissione dei messaggi per client e server.
| Parametro | Valore Predefinito | Descrizione |
|---|---|---|
| SOL_MAX_DELAY | 1 secondo | Massimo ritardo per il primo Solicit |
| SOL_TIMEOUT | 1 secondo | Timeout iniziale Solicit |
| SOL_MAX_RT | 120 secondi | Valore massimo timeout Solicit |
| REQ_TIMEOUT | 1 secondo | Timeout iniziale Request |
| REQ_MAX_RT | 30 secondi | Valore massimo timeout Request |
| REQ_MAX_RC | 10 | Numero massimo di tentativi Request |
| CNF_MAX_DELAY | 1 secondo | Massimo ritardo per il primo Confirm |
| CNF_TIMEOUT | 1 secondo | Timeout iniziale Confirm |
| CNF_MAX_RT | 4 secondi | Timeout massimo Confirm |
| CNF_MAX_RD | 10 secondi | Durata massima Confirm |
| REN_TIMEOUT | 10 secondi | Timeout iniziale Renew |
| REN_MAX_RT | 600 secondi | Valore massimo timeout Renew |
| REB_TIMEOUT | 10 secondi | Timeout iniziale Rebind |
| REB_MAX_RT | 600 secondi | Valore massimo timeout Rebind |
| INF_MAX_DELAY | 1 secondo | Massimo ritardo per il primo Information-request |
| INF_TIMEOUT | 1 secondo | Timeout iniziale Information-request |
| INF_MAX_RT | 120 secondi | Valore massimo timeout Information-request |
| REL_TIMEOUT | 1 secondo | Timeout iniziale Release |
| REL_MAX_RC | 5 | Numero massimo di tentativi Release |
| DEC_TIMEOUT | 1 secondo | Timeout iniziale Decline |
| DEC_MAX_RC | 5 | Numero massimo di tentativi Decline |
| REC_TIMEOUT | 2 secondi | Timeout iniziale Reconfigure |
| REC_MAX_RC | 8 | Numero massimo di tentativi Reconfigure |
| HOP_COUNT_LIMIT | 32 | Numero massimo di salti nei messaggi Relay-forward |
5.6. Rappresentazione dei Valori Temporali e "Infinito" come Valore Temporale
Tutti i valori temporali per durate, T1 e T2 sono interi senza segno. Il valore 0xffffffff, quando usato come durata (come in RFC 2461 [RFC 2461]) o come valore di T1 o T2, rappresenta "infinito".