Groupe de travail Réseau	H. Schulzrinne, Columbia University	
Request for Comments : 3319	B. Volz, Ericsson	
Catégorie : En cours de normalisation	juillet 2003	
Traduction Claude Brière de L’Isle		

Options du protocole de configuration dynamique d’hôte (DHCPv6) pour les serveurs du protocole d’initialisation de session (SIP)

Statut de ce mémoire
Le présent document spécifie un protocole Internet en cours de normalisation pour la communauté de l’Internet, et appelle à des discussions et des suggestions pour son amélioration. Prière de se reporter à l’édition actuelle du STD 1 "Normes des protocoles officiels de l’Internet" pour connaître l’état de normalisation et le statut de ce protocole. La distribution du présent mémoire n’est soumise à aucune restriction.

Notice de copyright
Copyright (C) The Internet Society (2003). Tous droits réservés

Résumé
Le présent document définit une option du protocole de configuration dynamique d’hôte version 6 (DHCPv6, Dynamic Host Configuration Protocol version 6) qui contient une liste de noms de domaines ou d’adresses IPv6 qui peuvent être transposées en un ou plusieurs serveurs mandataires de sortie du protocole d’initialisation de session (SIP, Session Initiation Protocol). C’est une des nombreuses méthodes qu’un client SIP peut utiliser pour obtenir les adresses d’un tel serveur SIP local.

1.	Terminologie

Le présent document utilise la terminologie DHCP définie dans la [RFC3315].

Un serveur SIP est défini dans la [RFC3261]. Ce serveur DOIT être un serveur mandataire de sortie, comme défini dans la [RFC3263]. Dans le contexte de ce document, un serveur SIP se réfère à l’hôte sur lequel fonctionne le serveur mandataire SIP de sortie.

Un client SIP est défini dans la [RFC3261]. Le client peut être un client d’agent d’utilisateur ou la portion client d’un serveur mandataire. Dans le contexte de ce document, un client SIP se réfère à l’hôte sur lequel fonctionne le client SIP.

Dans le présent document, les mots clés "DOIT", "NE DOIT PAS", "EXIGE", "DEVRA", "NE DEVRA PAS", "DEVRAIT", "NE DEVRAIT PAS", "RECOMMETE", "PEUT", et "FACULTATIF" sont à interpréter comme décrit dans le BCP 14, [RFC2119].

2.	Introduction

Le protocole d’initialisation de session (SIP) [RFC3261] est un protocole de contrôle de couche application qui peut établir, modifier et terminer des sessions ou appels multimédia. Un système SIP a un certain nombre de composants logiques : agents d’utilisateur, serveurs mandataires, serveurs de redirection et registraires. Les agents d’utilisateur PEUVENT  contenir des clients SIP, les serveurs mandataires en contiennent toujours. Le présent document spécifie deux options DHCPv6 [RFC3315] qui permettent aux clients SIP de localiser un serveur SIP local qui doit être utilisé pour toutes les demandes SIP sortantes, ce qu’on appelle un serveur mandataire de sortie. (Les clients SIP PEUVENT contacter directement l’adresse identifiée dans l’URL SIP, sans impliquer un serveur local SIP. Cependant, dans certaines circonstances, comme lorsque des pare-feu sont présents, ou que des plans de numérotage locaux, des services d’urgence locaux et d’autres services doivent être fournis, les clients SIP ont besoin d’utiliser un serveur local pour les demandes sortantes.) C’est une des nombreuses solutions possibles pour localiser le serveur SIP sortant ; la configuration manuelle est un autre exemple.

3.	Option DHCPv6 de serveur SIP

Le présent document définit deux options DHCPv6 qui décrivent un mandataire SIP de sortie local : l’une porte une liste des noms de domaines (paragraphe 3.1), l’autre une liste d’adresses (binaires) IPv6 de 128 bits (paragraphe 3.2).

Comme DHCPv6 ne souffre pas d’un manque de codes d’option, on évite l’octet de codage qu’on trouve dans l’option DHCP IPv4 pour les serveurs SIP [RFC3361]. Cela rend l’option plus courte, plus facile à analyser, cela simplifie l’alignement approprié de mot pour les adresses numériques et permet au client de demander l’option soit numérique, soit de nom de domaine en utilisant "l’option de demande d’option".

Une mise en œuvre qui utilise la présente spécification DOIT prendre en charge les deux options.

3.1	Liste de noms de domaine de serveurs SIP
La longueur d’option est suivie par une séquence d’étiquettes, codées selon le paragraphe 3.1 de la [RFC1035], citée ci-après  : "Les noms de domaines dans les messages sont exprimés en termes de séquence d’étiquettes. Chaque étiquette est représentée par un champ de longueur d’un octet suivi par ce nombre d’octets. Comme chaque nom de domaine se termine par l’étiquette nulle de la racine, un nom de domaine est terminé par un octet de longueur de zéro. Les deux bits de poids fort de chaque octet de longueur doivent être à zéro, et les six bits restants du champ Longueur limitent l’étiquette à 63  octets ou moins. Pour simplifier les mises en œuvre, la longueur totale d’un nom de domaine (c’est-à-dire, octets de l’étiquette et octets de longueur de l’étiquette) est restreinte à 255 octets ou moins."

Le codage de la RFC1035 a été chosisi pour s’accommoder de futurs mécanismes de noms de domaines internationalisés.

L’option PEUT contenir plusieurs noms de domaines, mais ceux-ci DEVRAIENT se référer aux différents enregistrements NAPTR, plutôt qu’à différents enregistrements A. Le client DOIT essayer les enregistrements dans l’ordre dans lequel ils sont énumérés, en appliquant le mécanisme décrit au paragraphe 4.1 de la [RFC3263] pour chacun. Le client ne résout les noms de domaine suivants que si les tentatives de contacter le premier ont échoué ou si elles n’ont pas donné de protocole de transport commun entre le client et le serveur ou si elles notent un domaine interdit administrativement par la politique du client. Les noms de domaines DOIVENT être énumérés dans l’ordre de préference.

L’utilisation de plusieurs noms de domaines n’est pas destinée à remplacer les enregistrements NAPTR ou SRV, mais plutôt à permettre à un seul serveur DHCP d’indiquer les serveurs mandataires de sortie qui sont fournis par les différents opérateurs.

L’option DHCPv6 a le format indiqué à la Figure 1.

Code d’option : OPTION_SIP_SERVER_D (21)

Longueur d’option : Longueur du champ 'Liste des noms de domaine de serveur SIP' en octets ; variable.

    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_SIP_SERVER_D      |    Longueur d’option          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             Liste des noms de domaine de serveur SIP          |
   |                              ...                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 1 : Option DHCPv6 pour la liste des noms de domaine de serveur SIP

Liste des noms de domaine de serveur SIP : noms de domaines des serveurs mandataires SIP de sortie à utiliser par le client. Les noms de domaines sont codés comme spécifié à la Section 8 ("Représentation et utilisation des noms de domaines") de la spécification DHCPv6 [RFC3315].

3.2	Liste des adresses IPv6 de serveurs SIP
Cette option spécifie une liste d’adresses IPv6 qui indiquent les serveurs mandataires SIP disponibles pour le client. Les serveurs DOIVENT être énumérés dans l’ordre de préférence.

    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_SIP_SERVER_A      |      Longueur d’option        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |                  Serveur SIP (adresse IP)                     |
   |                                                               |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |                  Serveur SIP (adresse IP)                     |
   |                                                               |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              ...                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

code d’option : OPTION_SIP_SERVER_A (22)

Longueur d’option: Longueur du champ 'options' en octets ; doit être un multiple de 16.

Serveur SIP : adresse IPv6 d’un serveur SIP à utiliser par le client. Les serveurs sont énumérés dans l’ordre de préférence de l’utilisation par le client.

4.	Fonctionnement du client

Un client peut demander dans une option de demande d’options (ORO, Options Request Option) l’option Liste des noms de domaines de serveurs SIP et/ou l’option Adresse IPv6 des serveurs SIP comme décrit dans la [RFC3315],

Si un client reçoit les deux options Liste des noms de domaines de serveurs SIP et Adresse IPv6 des serveurs SIP, il DEVRAIT utiliser l’option Liste des noms de domaines de serveurs SIP. C’est seulement si aucun serveur de la liste des noms de domaines de serveurs SIP ne peut être résolu ou atteint que le client PEUT utiliser l’option Adresse IPv6 des serveurs SIP.

5.	Fonctionnement du serveur

Un serveur PEUT envoyer au client une des options Liste des noms de domaines de serveurs SIP ou Adresse IPv6 des serveurs SIP, ou les deux.

Si un client demande les deux options et si le serveur est configuré pour les deux, le serveur PEUT n’envoyer au client qu’une seule de ces options et DEVRAIT envoyer la Liste des noms de domaines de serveurs SIP.

Un serveur configuré avec l’option Adresse IPv6 des serveurs SIP DOIT envoyer au client l’option Liste d’adresses IPv6 des serveurs SIP si ce client a demandé l’option Liste d’adresses IPv6 de serveurs SIP et non l’option Liste des noms de domaines de serveurs SIP dans une ORO (voir la [RFC3315]).

Le tableau suivant résume les réponses de serveur :

Le client envoie dans l’ORO	Liste de noms de domaine	Liste d’adresses IPv6	
Ni l’une ni l’autre option	DEVRAIT	PEUT	
Liste des noms de domaines de serveurs SIP	DEVRAIT	PEUT	
Liste d’adresses IPv6 des serveurs SIP	PEUT	DOIT	
Les deux options	DEVRAIT	PEUT	

6.	Considérations pour la sécurité

Les considérations pour la sécurité des [RFC3315], [RFC3261] et [RFC3263] s’appliquent. Si un agresseur s’arrange pour modifier une réponse d’un serveur DHCP ou pour insérer sa propre réponse, un agent d’utilisateur SIP pourrait être conduit à contacter un serveur SIP pirate, éventuellement un de ceux qui interceptent les demandes d’appel ou font du déni de service. Une réponse DHCP modifiée pourrait aussi omettre les noms d’hôtes qui ont traduit en serveurs SIP fondés sur TLS, facilitant ainsi l’interception.

7.	Considérations relatives à l’IANA

L’IANA a alloué un numéro d’option DHCPv6 de 21 à la "Liste des noms de domaine des serveurs SIP" et le numéro d’option DHCPv6 de 22 à la "Liste des adresses IPv6 des serveurs SIP" définies dans le présent document.

8.	Remerciements

Erik Nordmark et Alex Zinin ont fourni des commentaires utiles.

9.	Références

[RFC1035]	P. Mockapetris, "Noms de domaines – Mise en œuvre et spécification", STD 13, novembre 1987. (MàJ par la RFC6604)

[RFC2119]	S. Bradner, "Mots clés à utiliser dans les RFC pour indiquer les niveaux d'exigence", BCP 14, mars 1997.

[RFC3261]	J. Rosenberg et autres, "SIP : Protocole d'initialisation de session", juin 2002. (Mise à jour par RFC3265, RFC3853, RFC4320, RFC4916, RFC5393, RFC6665)

[RFC3263]	J. Rosenberg, H. Schulzrinne, "Protocole d'initialisation de session (SIP) : Localisation des serveurs SIP", juin 2002. (Remplace RFC2543) (P.S.)

[RFC3315]	R. Droms, J. Bound, B. Volz, T. Lemon, C. Perkins et M. Carney, "Protocole de configuration dynamique d'hôte pour IPv6 (DHCPv6)", juillet 2003. (MàJ par RFC6422 et RFC6644, RFC7227)

[RFC3361]	H. Schulzrinne, "Option du protocole de configuration dynamique d'hôte (DHCP-pour-IPv4) pour les serveurs du protocole d'initialisation de session  (SIP)", août 2002. (P.S.)

10.	Adresse des auteurs

Henning Schulzrinne	Bernie Volz	
Department of Computer Science	116 Hawkins Pond Road	
Columbia University	Center Harbor, NH  03226-3103	
1214 Amsterdam Avenue, MC 0401	USA	
New York, NY 10027	mél : volz@metrocast.net 	
USA		
mél : schulzrinne@cs.columbia.edu 		

11.	Déclaration complète de droits de reproduction

Copyright (C) The Internet Society (2003). Tous droits réservés.

Le présent document et ses traductions peuvent être copiés et fournis aux tiers, et les travaux dérivés qui les commentent ou les expliquent ou aident à leur mise en œuvre peuvent être préparés, copiés, publiés et distribués, en tout ou partie, sans restriction d’aucune sorte, pourvu que la déclaration de droits de reproduction ci-dessus et le présent paragraphe soient inclus dans toutes telles copies et travaux dérivés. Cependant, le présent document lui-même ne peut être modifié d’aucune façon, en particulier en retirant la notice de droits de reproduction ou les références à la Internet Society ou aux autres organisations Internet, excepté autant qu’il est nécessaire pour le besoin du développement des normes Internet, auquel cas les procédures de droits de reproduction définies dans les procédures des normes Internet doivent être suivies, ou pour les besoins de la traduction dans d’autres langues que l’anglais.

Les permissions limitées accordées ci-dessus sont perpétuelles et ne seront pas révoquées par la Internet Society ou ses successeurs ou ayant droits.

Le présent document et les informations y contenues sont fournies sur une base "EN L’ÉTAT" et le contributeur, l’organisation qu’il ou elle représente ou qui le/la finance (s’il en est), la INTERNET SOCIETY et la INTERNET ENGINEERING TASK FORCE déclinent toutes garanties, exprimées ou implicites, y compris mais non limitées à toute garantie que l’utilisation des informations ci encloses ne violent aucun droit ou aucune garantie implicite de commercialisation ou d’aptitude à un objet particulier.

Le financement de la fonction d’édition des RFC est actuellement fourni par l’Internet Society.