22. DHCP Options (Options DHCP)
22. DHCP Options (Options DHCP)
Les options sont utilisées pour transporter des informations et des paramètres supplémentaires dans les messages DHCP. Chaque option partage un format de base commun, comme décrit dans la section 22.1. Toutes les valeurs dans les options sont représentées en network byte order (ordre des octets de réseau).
Ce document décrit les options DHCP définies dans le cadre de la spécification DHCP de base. D'autres options peuvent être définies ultérieurement dans des documents séparés.
Sauf indication contraire, chaque option peut apparaître uniquement dans la zone d'options d'un message DHCP et ne peut apparaître qu'une seule fois. Si une option apparaît plusieurs fois, chaque instance est considérée séparément et les zones de données des options NE DOIVENT PAS être concaténées ou autrement combinées.
22.1. Format of DHCP Options (Format des options DHCP)
Le format des options DHCP est :
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| option-code | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| option-data |
| (option-len octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- option-code — Un entier non signé identifiant le type d'option spécifique transportée dans cette option.
- option-len — Un entier non signé donnant la longueur du champ option-data dans cette option, en octets.
- option-data — Les données de l'option ; le format de ces données dépend de la définition de l'option.
Les options DHCPv6 sont étendues (scoped) en utilisant l'encapsulation. Certaines options s'appliquent généralement au client, certaines sont spécifiques à une IA, et certaines sont spécifiques aux adresses dans une IA. Ces deux derniers cas sont discutés dans les sections 22.4 et 22.6.
22.2. Client Identifier Option (Option Client Identifier)
L'option Client Identifier est utilisée pour transporter un DUID (voir section 9) qui identifie un client entre un client et un serveur. Le format de l'option Client Identifier est :
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_CLIENTID | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. .
. DUID .
. (variable length) .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- option-code — OPTION_CLIENTID (1).
- option-len — Longueur du DUID en octets.
- DUID — Le DUID pour le client.
22.3. Server Identifier Option (Option Server Identifier)
L'option Server Identifier est utilisée pour transporter un DUID (voir section 9) qui identifie un serveur entre un client et un serveur. Le format de l'option Server Identifier est :
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_SERVERID | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. .
. DUID .
. (variable length) .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- option-code — OPTION_SERVERID (2).
- option-len — Longueur du DUID en octets.
- DUID — Le DUID pour le serveur.
22.4. Identity Association for Non-temporary Addresses Option (Option Identity Association pour adresses non temporaires)
L'option Identity Association for Non-temporary Addresses (option IA_NA) est utilisée pour transporter une IA_NA, les paramètres associés à la IA_NA et les adresses non temporaires associées à la IA_NA.
Les adresses apparaissant dans une option IA_NA ne sont pas des adresses temporaires (voir section 22.5).
Le format de l'option IA_NA est :
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_IA_NA | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IAID (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| T1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| T2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. IA_NA-options .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- option-code — OPTION_IA_NA (3).
- option-len — 12 + longueur du champ IA_NA-options.
- IAID — L'identifiant unique pour cette IA_NA ; l'IAID doit être unique parmi les identifiants pour toutes les IA_NA de ce client. L'espace de numérotation pour les IAID IA_NA est séparé de l'espace de numérotation pour les IAID IA_TA.
- T1 — Le moment où le client contacte le serveur depuis lequel les adresses dans la IA_NA ont été obtenues pour prolonger les durées de vie des adresses attribuées à la IA_NA ; T1 est une durée temporelle relative au temps actuel exprimée en unités de secondes.
- T2 — Le moment où le client contacte tout serveur disponible pour prolonger les durées de vie des adresses attribuées à la IA_NA ; T2 est une durée temporelle relative au temps actuel exprimée en unités de secondes.
- IA_NA-options — Options associées à cette IA_NA.
Le champ IA_NA-options encapsule les options qui sont spécifiques à cette IA_NA. Par exemple, toutes les options IA Address transportant les adresses associées à cette IA_NA sont dans le champ IA_NA-options.
Une option IA_NA peut apparaître uniquement dans la zone d'options d'un message DHCP. Un message DHCP peut contenir plusieurs options IA_NA.
L'état de toute opération impliquant cette IA_NA est indiqué dans une option Status Code dans le champ IA_NA-options.
Notez qu'une IA_NA n'a pas de « durée de vie » ou de « bail » (lease) explicite. Lorsque les durées de vie valides de toutes les adresses dans une IA_NA sont expirées, la IA_NA peut être considérée comme expirée. T1 et T2 sont inclus pour donner aux serveurs le contrôle explicite sur le moment où un client recontacte le serveur concernant une IA_NA spécifique.
Dans un message envoyé par un client à un serveur, les valeurs dans les champs T1 et T2 indiquent la préférence du client pour ces paramètres. Le client définit T1 et T2 à 0 s'il n'a pas de préférence pour ces valeurs. Dans un message envoyé par un serveur à un client, le client DOIT utiliser les valeurs dans les champs T1 et T2 pour les paramètres T1 et T2, à moins que les valeurs dans ces champs ne soient 0. Les valeurs dans les champs T1 et T2 sont le nombre de secondes jusqu'à T1 et T2.
Le serveur sélectionne les temps T1 et T2 pour permettre au client de prolonger les durées de vie de toutes les adresses dans la IA_NA avant l'expiration des durées de vie, même si le serveur n'est pas disponible pour une courte période. Les valeurs recommandées pour T1 et T2 sont respectivement 0,5 et 0,8 fois la durée de vie préférée la plus courte des adresses dans la IA que le serveur est disposé à prolonger. Si la durée de vie préférée « la plus courte » est 0xffffffff (« infini »), les valeurs recommandées T1 et T2 sont également 0xffffffff. Si le moment où les adresses dans une IA_NA doivent être renouvelées est laissé à la discrétion du client, le serveur définit T1 et T2 à 0.
Si un serveur reçoit une IA_NA avec T1 supérieur à T2, et T1 et T2 sont tous deux supérieurs à 0, le serveur ignore les valeurs non valides de T1 et T2 et traite la IA_NA comme si le client avait défini T1 et T2 à 0.
Si un client reçoit une IA_NA avec T1 supérieur à T2, et T1 et T2 sont tous deux supérieurs à 0, le client ignore l'option IA_NA et traite le reste du message comme si le serveur n'avait pas inclus l'option IA_NA non valide.
Il faut prêter attention à ne pas définir T1 ou T2 à 0xffffffff (« infini »). Un client n'essaiera jamais de prolonger les durées de vie d'aucune adresse dans une IA avec T1 défini à 0xffffffff. Un client n'essaiera jamais d'utiliser un message Rebind pour localiser un serveur différent afin de prolonger les durées de vie d'aucune adresse dans une IA avec T2 défini à 0xffffffff.
22.5. Identity Association for Temporary Addresses Option (Option Identity Association pour adresses temporaires)
L'option Identity Association for the Temporary Addresses (option IA_TA) est utilisée pour transporter une IA_TA, les paramètres associés à la IA_TA et les adresses associées à la IA_TA. Toutes les adresses dans cette option sont utilisées par le client comme adresses temporaires, comme défini dans RFC 3041 [12]. Le format de l'option IA_TA est :
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_IA_TA | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IAID (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. IA_TA-options .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- option-code — OPTION_IA_TA (4).
- option-len — 4 + longueur du champ IA_TA-options.
- IAID — L'identifiant unique pour cette IA_TA ; l'IAID doit être unique parmi les identifiants pour toutes les IA_TA de ce client. L'espace de numérotation pour les IAID IA_TA est séparé de l'espace de numérotation pour les IAID IA_NA.
- IA_TA-options — Options associées à cette IA_TA.
Le champ IA_TA-Options encapsule les options qui sont spécifiques à cette IA_TA. Par exemple, toutes les options IA Address transportant les adresses associées à cette IA_TA sont dans le champ IA_TA-options.
Chaque IA_TA transporte un seul « ensemble » d'adresses temporaires ; c'est-à-dire, au plus une adresse de chaque préfixe attribué au lien auquel le client est connecté.
Une option IA_TA peut apparaître uniquement dans la zone d'options d'un message DHCP. Un message DHCP peut contenir plusieurs options IA_TA.
L'état de toute opération impliquant cette IA_TA est indiqué dans une option Status Code dans le champ IA_TA-options.
Notez qu'une IA n'a pas de « durée de vie » ou de « bail » (lease) explicite. Lorsque les durées de vie valides de toutes les adresses dans une IA_TA sont expirées, la IA peut être considérée comme expirée.
Une option IA_TA n'inclut pas de valeurs pour T1 et T2. Un client PEUT demander la prolongation des durées de vie sur les adresses temporaires en incluant les adresses dans une option IA_TA envoyée dans un message Renew ou Rebind à un serveur. Par exemple, un client demanderait une prolongation sur la durée de vie d'une adresse temporaire pour permettre à une application de continuer à utiliser une connexion TCP établie.
Le client obtient de nouvelles adresses temporaires en envoyant une option IA_TA avec un nouvel IAID à un serveur. Demander de nouvelles adresses temporaires au serveur équivaut à générer de nouvelles adresses temporaires comme décrit dans RFC 3041. Le serveur générera de nouvelles adresses temporaires et les renverra au client. Le client devrait demander de nouvelles adresses temporaires avant l'expiration des durées de vie sur les adresses précédemment attribuées.
Un serveur DOIT renvoyer le même ensemble d'adresses temporaires pour la même IA_TA (telle qu'identifiée par l'IAID) tant que ces adresses sont encore valides. Après l'expiration des durées de vie des adresses dans une IA_TA, l'IAID peut être réutilisé pour identifier une nouvelle IA_TA avec de nouvelles adresses temporaires.
Cette option PEUT apparaître dans un message Confirm si les durées de vie sur les adresses temporaires dans la IA associée n'ont pas expiré.
22.6. IA Address Option (Option IA Address)
L'option IA Address est utilisée pour spécifier les adresses IPv6 associées à une IA_NA ou à une IA_TA. L'option IA Address doit être encapsulée dans le champ Options d'une option IA_NA ou IA_TA. Le champ Options encapsule les options qui sont spécifiques à cette adresse.
Le format de l'option IA Address est :
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_IAADDR | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| IPv6 address |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| preferred-lifetime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| valid-lifetime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. .
. IAaddr-options .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- option-code — OPTION_IAADDR (5).
- option-len — 24 + longueur du champ IAaddr-options.
- IPv6 address — Une adresse IPv6.
- preferred-lifetime — La durée de vie préférée pour l'adresse IPv6 dans l'option, exprimée en unités de secondes.
- valid-lifetime — La durée de vie valide pour l'adresse IPv6 dans l'option, exprimée en unités de secondes.
- IAaddr-options — Options associées à cette adresse.
Dans un message envoyé par un client à un serveur, les valeurs dans les champs preferred et valid lifetime indiquent la préférence du client pour ces paramètres. Le client peut envoyer 0 s'il n'a pas de préférence pour les durées de vie préférée et valide. Dans un message envoyé par un serveur à un client, le client DOIT utiliser les valeurs dans les champs preferred et valid lifetime pour les durées de vie préférée et valide. Les valeurs dans les durées de vie préférée et valide sont le nombre de secondes restantes dans chaque durée de vie.
Un client ignore toute adresse dont la durée de vie préférée est supérieure à la durée de vie valide. Un serveur ignore les durées de vie définies par le client si la durée de vie préférée est supérieure à la durée de vie valide et ignore les valeurs pour T1 et T2 définies par le client si ces valeurs sont supérieures à la durée de vie préférée.
Il faut prêter attention à ne pas définir la durée de vie valide d'une adresse à 0xffffffff (« infini »), ce qui équivaut à une attribution permanente d'une adresse à un client.
Une option IA Address peut apparaître uniquement dans une option IA_NA ou dans une option IA_TA. Plus d'une option IA Address peut apparaître dans une option IA_NA ou dans une option IA_TA.
L'état de toute opération impliquant cette IA Address est indiqué dans une option Status Code dans le champ IAaddr-options.
22.7. Option Request Option (Option Option Request)
L'option Option Request est utilisée pour identifier une liste d'options dans un message entre un client et un serveur. Le format de l'option Option Request est :
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_ORO | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| requested-option-code-1 | requested-option-code-2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- option-code — OPTION_ORO (6).
- option-len — 2 * nombre d'options demandées.
- requested-option-code-n — Le code d'option pour une option demandée par le client.
Un client PEUT inclure une option Option Request dans un message Solicit, Request, Renew, Rebind, Confirm ou Information-request pour informer le serveur des options que le client souhaite que le serveur lui envoie. Un serveur PEUT inclure une option Option Request dans une option Reconfigure pour indiquer les options que le client devrait demander au serveur.
22.8. Preference Option (Option Preference)
L'option Preference est envoyée par un serveur à un client pour influencer la sélection d'un serveur par le client.
Le format de l'option Preference est :
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_PREFERENCE | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| pref-value |
+-+-+-+-+-+-+-+-+-+
- option-code — OPTION_PREFERENCE (7).
- option-len — 1.
- pref-value — La valeur de préférence pour le serveur dans ce message.
Un serveur PEUT inclure une option Preference dans un message Advertise pour contrôler la sélection d'un serveur par le client. Voir la section 17.1.3 pour l'utilisation de l'option Preference par le client et l'interprétation de la valeur des données de l'option Preference.
22.9. Elapsed Time Option (Option Elapsed Time)
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_ELAPSED_TIME | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| elapsed-time |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- option-code — OPTION_ELAPSED_TIME (8).
- option-len — 2.
- elapsed-time — La quantité de temps écoulée depuis que le client a commencé sa transaction DHCP actuelle. Ce temps est exprimé en centièmes de seconde (10^-2 secondes).
Un client DOIT inclure une option Elapsed Time dans les messages pour indiquer depuis combien de temps le client tente de compléter un échange de messages DHCP. Le temps écoulé est mesuré à partir du moment où le client a envoyé le premier message dans l'échange de messages, et le champ elapsed-time est défini à 0 dans le premier message de l'échange de messages. Les serveurs et les agents de relais utilisent la valeur des données dans cette option comme entrée à la politique qui contrôle comment un serveur répond à un message d'un client. Par exemple, l'option elapsed time permet à un serveur DHCP secondaire de répondre à une requête lorsqu'un serveur primaire n'a pas répondu dans un délai raisonnable. La valeur du temps écoulé est un entier non signé de 16 bits. Le client utilise la valeur 0xffff pour représenter toute valeur de temps écoulé supérieure à la plus grande valeur temporelle qui peut être représentée dans l'option Elapsed Time.
22.10. Relay Message Option (Option Relay Message)
L'option Relay Message transporte un message DHCP dans un message Relay-forward ou Relay-reply.
Le format de l'option Relay Message est :
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_RELAY_MSG | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. DHCP-relay-message .
. .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- option-code — OPTION_RELAY_MSG (9)
- option-len — Longueur de DHCP-relay-message
- DHCP-relay-message — Dans un message Relay-forward, le message reçu, relayé verbatim au prochain agent de relais ou serveur ; dans un message Relay-reply, le message à copier et relayer à l'agent de relais ou au client dont l'adresse est dans le champ peer-address du message Relay-reply
22.11. Authentication Option (Option Authentication)
L'option Authentication transporte des informations d'authentification pour authentifier l'identité et le contenu des messages DHCP. L'utilisation de l'option Authentication est décrite dans la section 21. Le format de l'option Authentication est :
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_AUTH | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| protocol | algorithm | RDM | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| |
| replay detection (64 bits) +-+-+-+-+-+-+-+-+
| | auth-info |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
. authentication information .
. (variable length) .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- option-code — OPTION_AUTH (11)
- option-len — 11 + longueur du champ des informations d'authentification
- protocol — Le protocole d'authentification utilisé dans cette option d'authentification
- algorithm — L'algorithme utilisé dans le protocole d'authentification
- RDM — La méthode de détection de rejeu (replay detection method) utilisée dans cette option d'authentification
- Replay detection — Les informations de détection de rejeu pour l'RDM
- authentication information — Les informations d'authentification, comme spécifiées par le protocole et l'algorithme utilisés dans cette option d'authentification
22.12. Server Unicast Option (Option Server Unicast)
Le serveur envoie cette option à un client pour indiquer au client qu'il lui est permis d'envoyer des messages en unicast au serveur. Le format de l'option Server Unicast est :
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_UNICAST | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| server-address |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- option-code — OPTION_UNICAST (12).
- option-len — 16.
- server-address — L'adresse IP à laquelle le client doit envoyer les messages remis en utilisant l'unicast.
Le serveur spécifie l'adresse IPv6 à laquelle le client doit envoyer des messages en unicast dans le champ server-address. Lorsqu'un client reçoit cette option, lorsque cela est permis et approprié, le client envoie des messages directement au serveur en utilisant l'adresse IPv6 spécifiée dans le champ server-address de l'option.
Lorsqu'un serveur envoie une option Unicast à un client, certains messages du client ne seront pas relayés par les agents de relais et n'incluront pas d'options d'agent de relais des agents de relais. Par conséquent, un serveur ne devrait envoyer une option Unicast à un client que lorsque les agents de relais n'envoient pas d'options d'agent de relais. Un serveur DHCP rejette tout message envoyé de manière inappropriée en utilisant l'unicast pour garantir que les messages sont relayés par les agents de relais lorsque les options d'agent de relais sont utilisées.
Les détails sur le moment où le client peut envoyer des messages au serveur en utilisant l'unicast sont dans la section 18.
22.13. Status Code Option (Option Status Code)
Cette option renvoie une indication d'état relative au message DHCP ou à l'option dans laquelle elle apparaît. Le format de l'option Status Code est :
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_STATUS_CODE | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| status-code | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
. .
. status-message .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- option-code — OPTION_STATUS_CODE (13).
- option-len — 2 + longueur de status-message.
- status-code — Le code numérique pour l'état encodé dans cette option. Les codes d'état sont définis dans la section 24.4.
- status-message — Une chaîne de texte encodée en UTF-8 adaptée à l'affichage à un utilisateur final, qui NE DOIT PAS se terminer par un caractère nul.
Une option Status Code peut apparaître dans le champ d'options d'un message DHCP et/ou dans le champ d'options d'une autre option. Si l'option Status Code n'apparaît pas dans un message où l'option pourrait apparaître, l'état du message est supposé être Success.
22.14. Rapid Commit Option (Option Rapid Commit)
L'option Rapid Commit est utilisée pour signaler l'utilisation de l'échange de messages à deux messages pour l'attribution d'adresses. Le format de l'option Rapid Commit est :
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_RAPID_COMMIT | 0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- option-code — OPTION_RAPID_COMMIT (14).
- option-len — 0.
Un client PEUT inclure cette option dans un message Solicit si le client est prêt à effectuer l'échange de messages Solicit-Reply décrit dans la section 17.1.1.
Un serveur DOIT inclure cette option dans un message Reply envoyé en réponse à un message Solicit lorsqu'il complète l'échange de messages Solicit-Reply.
DISCUSSION :
Chaque serveur qui répond avec un Reply à un Solicit incluant une option Rapid Commit engagera les adresses attribuées dans le message Reply au client, et ne recevra aucune confirmation que le client a reçu le message Reply. Par conséquent, si plus d'un serveur répond à un Solicit incluant une option Rapid Commit, certains serveurs engageront des adresses qui ne sont pas réellement utilisées par le client.
Le problème des adresses non utilisées peut être minimisé, par exemple, en concevant le service DHCP de sorte qu'un seul serveur réponde au Solicit ou en utilisant des durées de vie relativement courtes pour les adresses attribuées.
22.15. User Class Option (Option User Class)
L'option User Class est utilisée par un client pour identifier le type ou la catégorie d'utilisateur ou d'applications qu'il représente.
Le format de l'option User Class est :
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_USER_CLASS | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. .
. user-class-data .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- option-code — OPTION_USER_CLASS (15).
- option-len — Longueur du champ de données de la user class.
- user-class-data — Les user class transportées par le client.
Les informations contenues dans la zone de données de cette option sont contenues dans une ou plusieurs instances de champs opaques représentant la ou les user class dont le client est membre. Un serveur sélectionne les informations de configuration pour le client en fonction des classes identifiées dans cette option. Par exemple, l'option User Class peut être utilisée pour configurer tous les clients des personnes du département comptabilité avec une imprimante différente de celle des clients des personnes du département marketing. Les informations de la user class transportées dans cette option DOIVENT être configurables sur le client.
La zone de données de l'option user class DOIT contenir une ou plusieurs instances de données de user class. Chaque instance des données de user class est formatée comme suit :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-...-+-+-+-+-+-+-+
| user-class-len | opaque-data |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-...-+-+-+-+-+-+-+
Le user-class-len est long de deux octets et spécifie la longueur des données opaques de la user class en network byte order.
Un serveur interprète les classes identifiées dans cette option selon sa configuration pour sélectionner les informations de configuration appropriées pour le client. Un serveur peut utiliser uniquement les user class qu'il est configuré pour interpréter dans la sélection des informations de configuration pour un client et ignorer toute autre user class. En réponse à un message contenant une option User Class, un serveur inclut une option User Class contenant les classes qui ont été interprétées avec succès par le serveur, afin que le client puisse être informé des classes interprétées par le serveur.
22.16. Vendor Class Option (Option Vendor Class)
Cette option est utilisée par un client pour identifier le fournisseur ayant produit le matériel sur lequel le client s'exécute. Les informations contenues dans la zone de données de cette option sont contenues dans une ou plusieurs instances de champs opaques identifiant les détails de la configuration matérielle. Le format de l'option Vendor Class est :
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_VENDOR_CLASS | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| enterprise-number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. .
. vendor-class-data .
. . . . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- option-code — OPTION_VENDOR_CLASS (16).
- option-len — 4 + longueur du champ de données de la vendor class.
- enterprise-number — Le numéro Enterprise enregistré du fournisseur tel qu'enregistré auprès de l'IANA [6].
- vendor-class-data — La configuration matérielle de l'hôte sur lequel le client s'exécute.
Le vendor-class-data est composé d'une série d'éléments séparés, chacun décrivant certaines caractéristiques de la configuration matérielle du client. Des exemples d'instances de vendor-class-data pourraient inclure la version du système d'exploitation sur lequel le client s'exécute ou la quantité de mémoire installée sur le client.
Chaque instance du vendor-class-data est formatée comme suit :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-...-+-+-+-+-+-+-+
| vendor-class-len | opaque-data |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-...-+-+-+-+-+-+-+
Le vendor-class-len est long de deux octets et spécifie la longueur des données opaques de la vendor class en network byte order.
22.17. Vendor-specific Information Option (Option Vendor-specific Information)
Cette option est utilisée par les clients et les serveurs pour échanger des informations spécifiques au fournisseur.
Le format de l'option Vendor-specific Information est :
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_VENDOR_OPTS | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| enterprise-number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. .
. option-data .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- option-code — OPTION_VENDOR_OPTS (17)
- option-len — 4 + longueur du champ option-data
- enterprise-number — Le numéro Enterprise enregistré du fournisseur tel qu'enregistré auprès de l'IANA [6].
- option-data — Un objet opaque de option-len octets, interprété par un code spécifique au fournisseur sur les clients et les serveurs
La définition des informations transportées dans cette option est spécifique au fournisseur. Le fournisseur est indiqué dans le champ enterprise-number. L'utilisation d'informations spécifiques au fournisseur permet un fonctionnement amélioré, en utilisant des fonctionnalités supplémentaires dans l'implémentation DHCP d'un fournisseur. Un client DHCP qui ne reçoit pas les informations spécifiques au fournisseur requises configurera néanmoins la pile IPv6 du périphérique hôte pour être fonctionnelle.
Le champ des options spécifiques au fournisseur encapsulées DOIT être codé comme une séquence de champs code/longueur/valeur de format identique au champ d'options DHCP. Les codes d'option sont définis par le fournisseur identifié dans le champ enterprise-number et ne sont pas gérés par l'IANA. Chaque option encapsulée est formatée comme suit :
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| opt-code | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. .
. option-data .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- opt-code — Le code pour l'option encapsulée.
- option-len — Un entier non signé donnant la longueur du champ option-data dans cette option encapsulée, en octets.
- option-data — La zone de données pour l'option encapsulée.
Plusieurs instances de l'option Vendor-specific Information peuvent apparaître dans un message DHCP. Chaque instance de l'option est interprétée selon les codes d'option définis par le fournisseur identifié par le numéro Enterprise dans cette option.
22.18. Interface-Id Option (Option Interface-Id)
L'agent de relais PEUT envoyer l'option Interface-id pour identifier l'interface sur laquelle le message du client a été reçu. Si un agent de relais reçoit un message Relay-reply avec une option Interface-id, l'agent de relais relaie le message au client via l'interface identifiée par l'option.
Le format de l'option Interface ID est :
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_INTERFACE_ID | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. .
. interface-id .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- option-code — OPTION_INTERFACE_ID (18).
- option-len — Longueur du champ interface-id.
- interface-id — Une valeur opaque de longueur arbitraire générée par l'agent de relais pour identifier l'une des interfaces de l'agent de relais.
Le serveur DOIT copier l'option Interface-Id du message Relay-Forward dans le message Relay-Reply qu'il envoie à l'agent de relais en réponse au message Relay-Forward. Cette option NE DOIT PAS apparaître dans un message autre qu'un message Relay-Forward ou Relay-Reply.
Les serveurs PEUVENT utiliser l'Interface-ID pour des politiques d'attribution de paramètres. L'Interface-ID DEVRAIT être considérée comme une valeur opaque, avec des politiques basées uniquement sur la correspondance exacte ; c'est-à-dire que l'Interface-ID NE DEVRAIT PAS être analysée en interne par le serveur. La valeur Interface-ID pour une interface DEVRAIT être stable et rester inchangée, par exemple après le redémarrage de l'agent de relais ; si l'Interface-ID change, un serveur ne sera pas en mesure de l'utiliser de manière fiable dans les politiques d'attribution de paramètres.
22.19. Reconfigure Message Option (Option Reconfigure Message)
Un serveur inclut une option Reconfigure Message dans un message Reconfigure pour indiquer au client s'il répond avec un message Renew ou avec un message Information-request. Le format de cette option est :
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_RECONF_MSG | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| msg-type |
+-+-+-+-+-+-+-+-+-+
- option-code — OPTION_RECONF_MSG (19).
- option-len — 1.
- msg-type — 5 pour message Renew, 11 pour message Information-request.
L'option Reconfigure Message ne peut apparaître que dans un message Reconfigure.
22.20. Reconfigure Accept Option (Option Reconfigure Accept)
Un client utilise l'option Reconfigure Accept pour annoncer au serveur s'il est disposé à accepter des messages Reconfigure, et un serveur utilise cette option pour dire au client s'il doit accepter ou non des messages Reconfigure. Le comportement par défaut, en l'absence de cette option, signifie l'indisponibilité à accepter des messages Reconfigure, ou l'instruction de ne pas accepter des messages Reconfigure, respectivement pour les messages du client et du serveur. La figure suivante donne le format de l'option Reconfigure Accept :
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_RECONF_ACCEPT | 0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- option-code — OPTION_RECONF_ACCEPT (20).
- option-len — 0.