Passa al contenuto principale

16. Validazione dei messaggi

Questa sezione conserva il testo RFC relativo a DHCPv6, inclusi gli scambi di messaggi, il comportamento dei relay, DUID, IA_NA, IA_TA, IA_PD, le opzioni DHCP, l'autenticazione RKAP, i registri IANA, i requisiti normativi e le matrici di comparsa delle opzioni in appendice.

Testo originale della RFC​

16.  Validazione dei messaggi

   Questa sezione descrive quali opzioni sono valide in quali tipi di
   messaggio e spiega cosa fare quando un client o un server riceve un
   messaggio che contiene opzioni note ma non valide per quel messaggio.
   Per esempio, una IA option non e consentita in un messaggio
   Information-request.

   Client e server MAY scegliere di (1) estrarre informazioni da tale
   messaggio se le informazioni sono utili al destinatario oppure (2)
   ignorare completamente tale messaggio e scartarlo.

   Se un server riceve un messaggio che considera non valido, MAY inviare
   un messaggio Reply (o Advertise, se appropriato) con una Server
   Identifier option (vedere Section 21.3), una Client Identifier option
   (vedere Section 21.2) (se era inclusa nel messaggio) e una Status Code
   option (vedere Section 21.13) con stato UnspecFail.

   Client, relay agent e server MUST NOT scartare messaggi che contengono
   opzioni sconosciute (o istanze di opzioni vendor con valori
   enterprise-number sconosciuti).  Queste opzioni dovrebbero essere
   ignorate come se non fossero presenti.  Questo e essenziale per
   consentire future estensioni di DHCP.

   Un client o server MUST scartare qualsiasi messaggio DHCP ricevuto con
   un tipo di messaggio sconosciuto.

   I client SHOULD NOT accettare messaggi multicast.

   I server SHOULD NOT accettare traffico unicast dai client.  La Server
   Unicast option (vedere Section 21.12) e il codice di stato UseMulticast
   (vedere Section 21.13) sono stati resi obsoleti; quindi, i client non
   dovrebbero piu inviare messaggi all'indirizzo unicast di un server ne
   ricevere il codice di stato UseMulticast.  Tuttavia, un server che in
   precedenza supportava la Server Unicast option ed e aggiornato per non
   supportarla MAY continuare a ricevere messaggi unicast se in precedenza
   aveva inviato al client la Server Unicast option.  Tuttavia, cio non
   causa danni e il client alla fine tornera a inviare messaggi multicast
   (ad esempio dopo che viene raggiunto il rebinding time del lease o dopo
   il riavvio del client).

   I relay agent SHOULD NOT accettare messaggi unicast dai client.

   Nota: Le regole multicast/unicast menzionate sopra si applicano ai
   messaggi DHCP in questo documento.  I messaggi definiti in altri
   documenti e in documenti futuri possono avere regole diverse.

16.1.  Uso dei Transaction ID

   Il campo "transaction-id" contiene un valore usato da client e server
   per correlare le risposte del server ai messaggi del client.  Un client
   SHOULD generare un numero casuale che non possa essere facilmente
   indovinato o previsto, da usare come transaction ID per ogni nuovo
   messaggio che invia.  Si noti che se un client genera identificatori di
   transazione facilmente prevedibili, puo diventare piu vulnerabile a
   certi tipi di attacchi da intrusi off-path.  Un client MUST lasciare
   invariato il transaction ID nelle ritrasmissioni di un messaggio.

16.2.  Messaggio Solicit

   I client MUST scartare qualsiasi messaggio Solicit ricevuto.

   I server MUST scartare qualsiasi messaggio Solicit che non includa una
   Client Identifier option o che includa una Server Identifier option.

16.3.  Messaggio Advertise

   I client MUST scartare qualsiasi messaggio Advertise ricevuto che
   soddisfi una delle seguenti condizioni:

   *  il messaggio non include una Server Identifier option (vedere
      Section 21.3).

   *  il messaggio non include una Client Identifier option (vedere
      Section 21.2).

   *  il contenuto della Client Identifier option non corrisponde al DUID
      del client.

   *  il valore del campo "transaction-id" non corrisponde al valore usato
      dal client nel suo messaggio Solicit.

   Server e relay agent MUST scartare qualsiasi messaggio Advertise
   ricevuto.

16.4.  Messaggio Request

   I client MUST scartare qualsiasi messaggio Request ricevuto.

   I server MUST scartare qualsiasi messaggio Request ricevuto che soddisfi
   una delle seguenti condizioni:

   *  il messaggio non include una Server Identifier option (vedere
      Section 21.3).

   *  il contenuto della Server Identifier option non corrisponde al DUID
      del server.

   *  il messaggio non include una Client Identifier option (vedere
      Section 21.2).

16.5.  Messaggio Confirm

   I client MUST scartare qualsiasi messaggio Confirm ricevuto.

   I server MUST scartare qualsiasi messaggio Confirm ricevuto che non
   includa una Client Identifier option (vedere Section 21.2) o che includa
   una Server Identifier option (vedere Section 21.3).

16.6.  Messaggio Renew

   I client MUST scartare qualsiasi messaggio Renew ricevuto.

   I server MUST scartare qualsiasi messaggio Renew ricevuto che soddisfi
   una delle seguenti condizioni:

   *  il messaggio non include una Server Identifier option (vedere
      Section 21.3).

   *  il contenuto della Server Identifier option non corrisponde
      all'identificatore del server.

   *  il messaggio non include una Client Identifier option (vedere
      Section 21.2).

16.7.  Messaggio Rebind

   I client MUST scartare qualsiasi messaggio Rebind ricevuto.

   I server MUST scartare qualsiasi messaggio Rebind ricevuto che non
   includa una Client Identifier option (vedere Section 21.2) o che includa
   una Server Identifier option (vedere Section 21.3).

16.8.  Messaggio Decline

   I client MUST scartare qualsiasi messaggio Decline ricevuto.

   I server MUST scartare qualsiasi messaggio Decline ricevuto che soddisfi
   una delle seguenti condizioni:

   *  il messaggio non include una Server Identifier option (vedere
      Section 21.3).

   *  il contenuto della Server Identifier option non corrisponde
      all'identificatore del server.

   *  il messaggio non include una Client Identifier option (vedere
      Section 21.2).

16.9.  Messaggio Release

   I client MUST scartare qualsiasi messaggio Release ricevuto.

   I server MUST scartare qualsiasi messaggio Release ricevuto che soddisfi
   una delle seguenti condizioni:

   *  il messaggio non include una Server Identifier option (vedere
      Section 21.3).

   *  il contenuto della Server Identifier option non corrisponde
      all'identificatore del server.

   *  il messaggio non include una Client Identifier option (vedere
      Section 21.2).

16.10.  Messaggio Reply

   I client MUST scartare qualsiasi messaggio Reply ricevuto che soddisfi
   una delle seguenti condizioni:

   *  il messaggio non include una Server Identifier option (vedere
      Section 21.3).

   *  il campo "transaction-id" nel messaggio non corrisponde al valore
      usato nel messaggio originale.

   Se il client ha incluso una Client Identifier option (vedere
   Section 21.2) nel messaggio originale, il messaggio Reply MUST includere
   una Client Identifier option, e il contenuto della Client Identifier
   option MUST corrispondere al DUID del client.  Se il client non ha
   incluso una Client Identifier option nel messaggio originale, il
   messaggio Reply MUST NOT includere una Client Identifier option.

   Server e relay agent MUST scartare qualsiasi messaggio Reply ricevuto.

16.11.  Messaggio Reconfigure

   Server e relay agent MUST scartare qualsiasi messaggio Reconfigure
   ricevuto.

   I client MUST scartare qualsiasi messaggio Reconfigure che soddisfi una
   delle seguenti condizioni:

   *  il messaggio non e stato inviato in unicast al client.

   *  il messaggio non include una Server Identifier option (vedere
      Section 21.3).

   *  il messaggio non include una Client Identifier option (vedere
      Section 21.2) contenente il DUID del client.

   *  il messaggio non include una Reconfigure Message option (vedere
      Section 21.19).

   *  il msg-type della Reconfigure Message option non e un valore valido.

   *  il messaggio non include autenticazione (come RKAP; vedere
      Section 20.4) o fallisce la validazione dell'autenticazione.

16.12.  Messaggio Information-request

   I client MUST scartare qualsiasi messaggio Information-request ricevuto.

   I server MUST scartare qualsiasi messaggio Information-request ricevuto
   che soddisfi una delle seguenti condizioni:

   *  il messaggio include una Server Identifier option (vedere
      Section 21.3), e il DUID nell'opzione non corrisponde al DUID del
      server.

   *  il messaggio include una IA option.

16.13.  Messaggio Relay-forward

   I client MUST scartare qualsiasi messaggio Relay-forward ricevuto.

16.14.  Messaggio Relay-reply

   Client e server MUST scartare qualsiasi messaggio Relay-reply ricevuto.