Zum Hauptinhalt springen

16. Nachrichtenvalidierung

Dieser Abschnitt bewahrt den RFC-Text zu DHCPv6, einschliesslich Nachrichtenaustausch, Relay-Verhalten, DUIDs, IA_NA, IA_TA, IA_PD, DHCP-Optionen, RKAP-Authentifizierung, IANA-Registern, normativen Anforderungen und der Optionsvorkommensmatrizen im Anhang.

Originaler RFC-Text​

16.  Nachrichtenvalidierung

   Dieser Abschnitt beschreibt, welche Optionen in welchen Arten von
   Nachrichtentypen gueltig sind, und erklaert, was zu tun ist, wenn ein
   Client oder Server eine Nachricht empfaengt, die bekannte Optionen
   enthaelt, die fuer diese Nachricht ungueltig sind.  Beispielsweise darf
   eine IA option nicht in einer Information-request-Nachricht erscheinen.

   Clients und Server MAY waehlen, entweder (1) Informationen aus einer
   solchen Nachricht zu extrahieren, wenn diese Informationen fuer den
   Empfaenger nuetzlich sind, oder (2) eine solche Nachricht vollstaendig
   zu ignorieren und sie einfach zu verwerfen.

   Wenn ein Server eine Nachricht empfaengt, die er als ungueltig
   betrachtet, MAY er eine Reply-Nachricht (oder Advertise-Nachricht, je
   nach Bedarf) mit einer Server Identifier option (siehe Section 21.3),
   einer Client Identifier option (siehe Section 21.2) (falls eine in der
   Nachricht enthalten war) und einer Status Code option (siehe
   Section 21.13) mit Status UnspecFail senden.

   Clients, Relay Agents und Server MUST NOT Nachrichten verwerfen, die
   unbekannte Optionen enthalten (oder Instanzen von Vendor-Optionen mit
   unbekannten enterprise-number-Werten).  Diese Optionen sollten ignoriert
   werden, als ob sie nicht vorhanden waeren.  Dies ist entscheidend, um
   zukuenftige Erweiterungen von DHCP zu ermoeglichen.

   Ein Client oder Server MUST jede empfangene DHCP-Nachricht mit einem
   unbekannten Nachrichtentyp verwerfen.

   Clients SHOULD NOT Multicast-Nachrichten akzeptieren.

   Server SHOULD NOT Unicast-Verkehr von Clients akzeptieren.  Die Server
   Unicast option (siehe Section 21.12) und der UseMulticast-Statuscode
   (siehe Section 21.13) wurden obsolet gemacht; daher sollten Clients
   keine Nachrichten mehr an die Unicast-Adresse eines Servers senden und
   auch keinen UseMulticast-Statuscode empfangen.  Ein Server, der zuvor
   die Server Unicast option unterstuetzt hat und aktualisiert wurde, um
   sie nicht mehr zu unterstuetzen, MAY jedoch weiterhin Unicast-Nachrichten
   empfangen, wenn er dem Client zuvor die Server Unicast option gesendet
   hat.  Dies verursacht jedoch keinen Schaden, und der Client wird
   schliesslich wieder zum Senden von Multicast-Nachrichten wechseln (z.B.
   nachdem die Rebinding-Zeit des Lease erreicht ist oder der Client neu
   gestartet wurde).

   Relay Agents SHOULD NOT Unicast-Nachrichten von Clients akzeptieren.

   Hinweis: Die oben genannten Multicast/Unicast-Regeln gelten fuer die
   DHCP-Nachrichten in diesem Dokument.  Nachrichten, die in anderen und
   zukuenftigen Dokumenten definiert werden, koennen andere Regeln haben.

16.1.  Verwendung von Transaction IDs

   Das Feld "transaction-id" enthaelt einen Wert, der von Clients und
   Servern verwendet wird, um Serverantworten mit Client-Nachrichten zu
   korrelieren.  Ein Client SHOULD eine Zufallszahl erzeugen, die nicht
   leicht erraten oder vorhergesagt werden kann, um sie als transaction ID
   fuer jede neue Nachricht zu verwenden, die er sendet.  Zu beachten ist,
   dass ein Client, der leicht vorhersagbare Transaktionskennungen erzeugt,
   anfaelliger fuer bestimmte Arten von Angriffen durch Off-Path-Eindringlinge
   werden kann.  Ein Client MUST die transaction ID bei Wiederuebertragungen
   einer Nachricht unveraendert lassen.

16.2.  Solicit-Nachricht

   Clients MUST jede empfangene Solicit-Nachricht verwerfen.

   Server MUST jede Solicit-Nachricht verwerfen, die keine Client
   Identifier option enthaelt oder die eine Server Identifier option
   enthaelt.

16.3.  Advertise-Nachricht

   Clients MUST jede empfangene Advertise-Nachricht verwerfen, die eine der
   folgenden Bedingungen erfuellt:

   *  die Nachricht enthaelt keine Server Identifier option (siehe
      Section 21.3).

   *  die Nachricht enthaelt keine Client Identifier option (siehe
      Section 21.2).

   *  der Inhalt der Client Identifier option stimmt nicht mit dem DUID des
      Clients ueberein.

   *  der Wert des Feldes "transaction-id" stimmt nicht mit dem Wert
      ueberein, den der Client in seiner Solicit-Nachricht verwendet hat.

   Server und Relay Agents MUST jede empfangene Advertise-Nachricht
   verwerfen.

16.4.  Request-Nachricht

   Clients MUST jede empfangene Request-Nachricht verwerfen.

   Server MUST jede empfangene Request-Nachricht verwerfen, die eine der
   folgenden Bedingungen erfuellt:

   *  die Nachricht enthaelt keine Server Identifier option (siehe
      Section 21.3).

   *  der Inhalt der Server Identifier option stimmt nicht mit dem DUID des
      Servers ueberein.

   *  die Nachricht enthaelt keine Client Identifier option (siehe
      Section 21.2).

16.5.  Confirm-Nachricht

   Clients MUST jede empfangene Confirm-Nachricht verwerfen.

   Server MUST jede empfangene Confirm-Nachricht verwerfen, die keine
   Client Identifier option (siehe Section 21.2) enthaelt oder die eine
   Server Identifier option (siehe Section 21.3) enthaelt.

16.6.  Renew-Nachricht

   Clients MUST jede empfangene Renew-Nachricht verwerfen.

   Server MUST jede empfangene Renew-Nachricht verwerfen, die eine der
   folgenden Bedingungen erfuellt:

   *  die Nachricht enthaelt keine Server Identifier option (siehe
      Section 21.3).

   *  der Inhalt der Server Identifier option stimmt nicht mit der Kennung
      des Servers ueberein.

   *  die Nachricht enthaelt keine Client Identifier option (siehe
      Section 21.2).

16.7.  Rebind-Nachricht

   Clients MUST jede empfangene Rebind-Nachricht verwerfen.

   Server MUST jede empfangene Rebind-Nachricht verwerfen, die keine Client
   Identifier option (siehe Section 21.2) enthaelt oder die eine Server
   Identifier option (siehe Section 21.3) enthaelt.

16.8.  Decline-Nachricht

   Clients MUST jede empfangene Decline-Nachricht verwerfen.

   Server MUST jede empfangene Decline-Nachricht verwerfen, die eine der
   folgenden Bedingungen erfuellt:

   *  die Nachricht enthaelt keine Server Identifier option (siehe
      Section 21.3).

   *  der Inhalt der Server Identifier option stimmt nicht mit der Kennung
      des Servers ueberein.

   *  die Nachricht enthaelt keine Client Identifier option (siehe
      Section 21.2).

16.9.  Release-Nachricht

   Clients MUST jede empfangene Release-Nachricht verwerfen.

   Server MUST jede empfangene Release-Nachricht verwerfen, die eine der
   folgenden Bedingungen erfuellt:

   *  die Nachricht enthaelt keine Server Identifier option (siehe
      Section 21.3).

   *  der Inhalt der Server Identifier option stimmt nicht mit der Kennung
      des Servers ueberein.

   *  die Nachricht enthaelt keine Client Identifier option (siehe
      Section 21.2).

16.10.  Reply-Nachricht

   Clients MUST jede empfangene Reply-Nachricht verwerfen, die eine der
   folgenden Bedingungen erfuellt:

   *  die Nachricht enthaelt keine Server Identifier option (siehe
      Section 21.3).

   *  das Feld "transaction-id" in der Nachricht stimmt nicht mit dem Wert
      ueberein, der in der urspruenglichen Nachricht verwendet wurde.

   Wenn der Client in der urspruenglichen Nachricht eine Client Identifier
   option (siehe Section 21.2) enthalten hat, MUST die Reply-Nachricht eine
   Client Identifier option enthalten, und der Inhalt der Client Identifier
   option MUST mit dem DUID des Clients uebereinstimmen.  Wenn der Client
   in der urspruenglichen Nachricht keine Client Identifier option enthalten
   hat, MUST NOT die Reply-Nachricht eine Client Identifier option
   enthalten.

   Server und Relay Agents MUST jede empfangene Reply-Nachricht verwerfen.

16.11.  Reconfigure-Nachricht

   Server und Relay Agents MUST jede empfangene Reconfigure-Nachricht
   verwerfen.

   Clients MUST jede Reconfigure-Nachricht verwerfen, die eine der
   folgenden Bedingungen erfuellt:

   *  die Nachricht wurde nicht per Unicast an den Client gesendet.

   *  die Nachricht enthaelt keine Server Identifier option (siehe
      Section 21.3).

   *  die Nachricht enthaelt keine Client Identifier option (siehe
      Section 21.2), die den DUID des Clients enthaelt.

   *  die Nachricht enthaelt keine Reconfigure Message option (siehe
      Section 21.19).

   *  der msg-type der Reconfigure Message option ist kein gueltiger Wert.

   *  die Nachricht enthaelt keine Authentifizierung (wie RKAP; siehe
      Section 20.4) oder besteht die Authentifizierungsvalidierung nicht.

16.12.  Information-request-Nachricht

   Clients MUST jede empfangene Information-request-Nachricht verwerfen.

   Server MUST jede empfangene Information-request-Nachricht verwerfen, die
   eine der folgenden Bedingungen erfuellt:

   *  die Nachricht enthaelt eine Server Identifier option (siehe
      Section 21.3), und der DUID in der Option stimmt nicht mit dem DUID
      des Servers ueberein.

   *  die Nachricht enthaelt eine IA option.

16.13.  Relay-forward-Nachricht

   Clients MUST jede empfangene Relay-forward-Nachricht verwerfen.

16.14.  Relay-reply-Nachricht

   Clients und Server MUST jede empfangene Relay-reply-Nachricht verwerfen.