Aller au contenu principal

12. Considérations IANA

12.1. Registres de codes CoAP​

Le présent document définit deux sous-registres pour les valeurs du champ Code de l'en-tête CoAP au sein du registre "Constrained RESTful Environments (CoRE) Parameters", ci-après appelé le registre "CoRE Parameters".

Les valeurs des deux sous-registres sont des valeurs de huit bits notées sous la forme de trois chiffres décimaux c.dd séparés par un point entre le premier et le deuxième chiffre ; le premier chiffre c est compris entre 0 et 7 et désigne la classe de code ; les deuxième et troisième chiffres dd désignent un nombre décimal compris entre 00 et 31 pour le détail.

Toutes les valeurs de Code sont attribuées par les sous-registres selon les plages suivantes :

0.00 Indique un message vide (voir la section 4.1).

0.01-0.31 Indique une requête. Les valeurs de cette plage sont attribuées par le sous-registre "CoAP Method Codes" (voir la section 12.1.1).

1.00-1.31 Réservé

2.00-5.31 Indique une réponse. Les valeurs de cette plage sont attribuées par le sous-registre "CoAP Response Codes" (voir la section 12.1.2).

6.00-7.31 Réservé

12.1.1. Codes de méthode​

Le nom du sous-registre est "CoAP Method Codes".

Chaque entrée du sous-registre doit inclure le Method Code dans la plage 0.01-0.31, le nom de la méthode et une référence à la documentation de la méthode (MUST).

Les entrées initiales de ce sous-registre sont les suivantes :

CodeNameReference
0.01GET[RFC7252]
0.02POST[RFC7252]
0.03PUT[RFC7252]
0.04DELETE[RFC7252]

Tableau 5 : Codes de méthode CoAP

Tous les autres Method Codes sont Unassigned.

La politique de l'IANA pour les ajouts futurs à ce sous-registre est "IETF Review or IESG Approval", comme décrit dans [RFC5226].

La documentation d'un Method Code devrait spécifier la sémantique d'une requête portant ce code, y compris les propriétés suivantes :

  • Les Response Codes que la méthode renvoie en cas de succès.

  • Si la méthode est idempotente, sûre (safe), ou les deux.

12.1.2. Codes de réponse​

Le nom du sous-registre est "CoAP Response Codes".

Chaque entrée du sous-registre doit inclure le Response Code dans la plage 2.00-5.31, une description du Response Code et une référence à la documentation du Response Code (MUST).

Les entrées initiales de ce sous-registre sont les suivantes :

CodeDescriptionReference
2.01Created[RFC7252]
2.02Deleted[RFC7252]
2.03Valid[RFC7252]
2.04Changed[RFC7252]
2.05Content[RFC7252]
4.00Bad Request[RFC7252]
4.01Unauthorized[RFC7252]
4.02Bad Option[RFC7252]
4.03Forbidden[RFC7252]
4.04Not Found[RFC7252]
4.05Method Not Allowed[RFC7252]
4.06Not Acceptable[RFC7252]
4.12Precondition Failed[RFC7252]
4.13Request Entity Too Large[RFC7252]
4.15Unsupported Content-Format[RFC7252]
5.00Internal Server Error[RFC7252]
5.01Not Implemented[RFC7252]
5.02Bad Gateway[RFC7252]
5.03Service Unavailable[RFC7252]
5.04Gateway Timeout[RFC7252]
5.05Proxying Not Supported[RFC7252]

Tableau 6 : Codes de réponse CoAP

Les Response Codes 3.00-3.31 sont réservés pour un usage futur. Tous les autres Response Codes sont Unassigned.

La politique de l'IANA pour les ajouts futurs à ce sous-registre est "IETF Review or IESG Approval", comme décrit dans [RFC5226].

La documentation d'un Response Code devrait spécifier la sémantique d'une réponse portant ce code, y compris les propriétés suivantes :

  • Les méthodes auxquelles le Response Code s'applique.

  • Si la charge utile est obligatoire, facultative ou interdite.

  • La sémantique de la charge utile. Par exemple, la charge utile d'une réponse 2.05 (Content) est une représentation de la ressource cible ; la charge utile d'une réponse d'erreur est une charge utile de diagnostic lisible par un humain.

  • Le format de la charge utile. Par exemple, le format dans une réponse 2.05 (Content) est indiqué par l'option Content-Format ; le format de la charge utile dans une réponse d'erreur est toujours du texte Net-Unicode.

  • Si la réponse est cachable selon le modèle de fraîcheur.

  • Si la réponse est validable selon le modèle de validation.

  • Si la réponse amène un cache à marquer comme non fraîches les réponses stockées pour l'URI de requête.

12.2. Registre des numéros d'option CoAP​

Le présent document définit un sous-registre pour les Option Numbers utilisés dans les options CoAP au sein du registre "CoRE Parameters". Le nom du sous-registre est "CoAP Option Numbers".

Chaque entrée du sous-registre doit inclure l'Option Number, le nom de l'option et une référence à la documentation de l'option (MUST).

Les entrées initiales de ce sous-registre sont les suivantes :

NumberNameReference
0(Reserved)[RFC7252]
1If-Match[RFC7252]
3Uri-Host[RFC7252]
4ETag[RFC7252]
5If-None-Match[RFC7252]
7Uri-Port[RFC7252]
8Location-Path[RFC7252]
11Uri-Path[RFC7252]
12Content-Format[RFC7252]
14Max-Age[RFC7252]
15Uri-Query[RFC7252]
17Accept[RFC7252]
20Location-Query[RFC7252]
35Proxy-Uri[RFC7252]
39Proxy-Scheme[RFC7252]
60Size1[RFC7252]
128(Reserved)[RFC7252]
132(Reserved)[RFC7252]
136(Reserved)[RFC7252]
140(Reserved)[RFC7252]

Tableau 7 : Numéros d'option CoAP

La politique de l'IANA pour les ajouts futurs à ce sous-registre est divisée en trois niveaux comme suit. La plage 0..255 est réservée aux options définies par l'IETF (IETF Review or IESG Approval). La plage 256..2047 est réservée aux options couramment utilisées disposant de spécifications publiques (Specification Required). La plage 2048..64999 est destinée à toutes les autres options, y compris les options privées ou propres à un fournisseur, qui font l'objet d'un examen par un Designated Expert afin de contribuer à garantir que la sémantique des options est définie correctement. Les numéros d'option compris entre 65000 et 65535 inclus sont réservés aux expérimentations. Ils ne sont pas destinés à un usage propre à un fournisseur, quelle qu'en soit la nature, et ne doivent pas être utilisés dans des déploiements opérationnels (MUST NOT).

RangeRegistration Procedures
0-255IETF Review or IESG Approval
256-2047Specification Required
2048-64999Expert Review
65000-65535Experimental use (no operational use)

Tableau 8 : Numéros d'option CoAP : procédures d'enregistrement

La documentation d'un Option Number devrait spécifier la sémantique d'une option portant ce numéro, y compris les propriétés suivantes :

  • La signification de l'option dans une requête.

  • La signification de l'option dans une réponse.

  • Si l'option est critique ou élective, comme déterminé par l'Option Number.

  • Si l'option est Safe-to-Forward et, si oui, si elle fait partie de la Cache-Key, comme déterminé par l'Option Number (voir la section 5.4.2).

  • Le format et la longueur de la valeur de l'option.

  • Si l'option doit apparaître au plus une fois ou si elle peut apparaître plusieurs fois.

  • La valeur par défaut, le cas échéant. Pour une option critique ayant une valeur par défaut, une discussion sur la manière dont la valeur par défaut permet le traitement par des implémentations qui ne prennent pas en charge l'option critique (section 5.4.4).

12.3. Registre des formats de contenu CoAP​

Les types de médias Internet sont identifiés par une chaîne, telle que "application/xml" [RFC2046]. Afin de minimiser la surcharge liée à l'utilisation de ces types de médias pour indiquer le format des charges utiles, le présent document définit un sous-registre pour un sous-ensemble des types de médias Internet à utiliser dans CoAP et attribue à chacun, en combinaison avec un content-coding, un identifiant numérique. Le nom du sous-registre est "CoAP Content-Formats", au sein du registre "CoRE Parameters".

Chaque entrée du sous-registre doit inclure le type de média enregistré auprès de l'IANA, l'identifiant numérique dans la plage 0-65535 à utiliser pour ce type de média dans CoAP, le content-coding associé à cet identifiant, et une référence à un document décrivant ce qu'une charge utile ayant ce type de média signifie sémantiquement (MUST).

CoAP n'inclut pas de moyen distinct de transmettre des informations de content-encoding avec une requête ou une réponse, et pour cette raison le content-encoding est également spécifié pour chaque identifiant (le cas échéant). Si plusieurs content-encodings doivent être utilisés avec un type de média, un identifiant Content-Format distinct doit être enregistré pour chacun. De même, d'autres paramètres liés à un type de média Internet, tels que le niveau, peuvent être définis pour une entrée CoAP Content-Format.

Les entrées initiales de ce sous-registre sont les suivantes :

Media typeEncodingIDReference
text/plain;-0[RFC2046] [RFC3676]
charset=utf-8[RFC5147]
application/link-format-40[RFC6690]
application/xml-41[RFC3023]
application/octet-stream-42[RFC2045] [RFC2046]
application/exi-47[REC-exi-20140211]
application/json-50[RFC7159]

Tableau 9 : Formats de contenu CoAP

Les identifiants compris entre 65000 et 65535 inclus sont réservés aux expérimentations. Ils ne sont pas destinés à un usage propre à un fournisseur, quelle qu'en soit la nature, et ne doivent pas être utilisés dans des déploiements opérationnels (MUST NOT). Les identifiants compris entre 256 et 9999 sont réservés à un usage futur dans les spécifications de l'IETF (IETF Review or IESG Approval). Tous les autres identifiants sont Unassigned.

Comme l'espace de noms des identifiants d'un seul octet est très restreint, la politique de l'IANA pour les ajouts futurs dans la plage 0-255 inclus au sous-registre est "Expert Review", comme décrit dans [RFC5226]. La politique de l'IANA pour les ajouts dans la plage 10000-64999 inclus est "First Come First Served", comme décrit dans [RFC5226]. Ceci est résumé dans le tableau suivant.

RangeRegistration Procedures
0-255Expert Review
256-9999IETF Review or IESG Approval
10000-64999First Come First Served
65000-65535Experimental use (no operational use)

Tableau 10 : Formats de contenu CoAP : procédures d'enregistrement

Dans les applications de machine à machine, on ne s'attend pas à ce que les types de médias Internet génériques tels que text/plain, application/xml ou application/octet-stream soient utiles à long terme pour de véritables applications. Il est recommandé que les applications M2M utilisant CoAP demandent de nouveaux types de médias Internet à l'IANA, en indiquant des informations sémantiques sur la manière de créer ou d'analyser une charge utile. Par exemple, une charge utile d'application Smart Energy transportée sous forme de XML pourrait demander un type plus spécifique tel que application/se+xml ou application/se-exi.

12.4. Enregistrement du schéma d'URI​

Le présent document contient la demande d'enregistrement du schéma d'Uniform Resource Identifier (URI) "coap". La demande d'enregistrement est conforme à [RFC4395].

URI scheme name. coap

Status. Permanent.

URI scheme syntax. Defined in Section 6.1 of [RFC7252].

URI scheme semantics. Le schéma d'URI "coap" fournit un moyen d'identifier des ressources potentiellement accessibles via le Constrained Application Protocol (CoAP). Les ressources peuvent être localisées en contactant le serveur CoAP qui les gère et manipulées en envoyant des requêtes CoAP à ce serveur. Ce schéma peut donc être comparé au schéma d'URI "http" [RFC2616]. Voir la section 6 de [RFC7252] pour les détails du fonctionnement.

Encoding considerations. L'encodage du schéma est conforme aux règles d'encodage établies pour les URI dans [RFC3986], c'est-à-dire que les caractères internationalisés et réservés sont exprimés au moyen d'un percent-encoding basé sur UTF-8.

Applications/protocols that use this URI scheme name. Le schéma est utilisé par les points de terminaison CoAP pour accéder aux ressources CoAP.

Interoperability considerations. None.

Security considerations. See Section 11.1 of [RFC7252].

Contact. IETF Chair [email protected]

Author/Change controller. IESG [email protected]

References. [RFC7252]

12.5. Enregistrement du schéma d'URI sécurisé​

Le présent document contient la demande d'enregistrement du schéma d'Uniform Resource Identifier (URI) "coaps". La demande d'enregistrement est conforme à [RFC4395].

URI scheme name. coaps

Status. Permanent.

URI scheme syntax. Defined in Section 6.2 of [RFC7252].

URI scheme semantics. Le schéma d'URI "coaps" fournit un moyen d'identifier des ressources potentiellement accessibles via le Constrained Application Protocol (CoAP) en utilisant Datagram Transport Layer Security (DTLS) pour la sécurité du transport. Les ressources peuvent être localisées en contactant le serveur CoAP qui les gère et manipulées en envoyant des requêtes CoAP à ce serveur. Ce schéma peut donc être comparé au schéma d'URI "https" [RFC2616]. Voir la section 6 de [RFC7252] pour les détails du fonctionnement.

Encoding considerations. L'encodage du schéma est conforme aux règles d'encodage établies pour les URI dans [RFC3986], c'est-à-dire que les caractères internationalisés et réservés sont exprimés au moyen d'un percent-encoding basé sur UTF-8.

Applications/protocols that use this URI scheme name. Le schéma est utilisé par les points de terminaison CoAP pour accéder aux ressources CoAP au moyen de DTLS.

Interoperability considerations. None.

Security considerations. See Section 11.1 of [RFC7252].

Contact. IETF Chair [email protected]

Author/Change controller. IESG [email protected]

References. [RFC7252]

12.6. Enregistrement du nom de service et du numéro de port​

L'une des fonctions de CoAP est la découverte de ressources : un client CoAP peut interroger un serveur CoAP sur les ressources que celui-ci offre (voir la section 7). Pour permettre la découverte de ressources sur la seule base de la connaissance d'une adresse IP, le port CoAP destiné à la découverte de ressources doit être normalisé.

L'IANA a attribué le numéro de port 5683 et le nom de service "coap", conformément à [RFC6335].

Outre l'unicast, CoAP peut être utilisé avec le multicast et l'anycast.

Service Name. coap

Transport Protocol. udp

Assignee. IESG [email protected]

Contact. IETF Chair [email protected]

Description. Constrained Application Protocol (CoAP)

Reference. [RFC7252]

Port Number. 5683

12.7. Enregistrement du nom de service et du numéro de port sécurisés​

La découverte de ressources CoAP peut également être fournie au moyen du schéma "coaps" de CoAP sécurisé par DTLS. Ainsi, le port CoAP destiné à la découverte sécurisée de ressources doit être normalisé.

L'IANA a attribué le numéro de port 5684 et le nom de service "coaps", conformément à [RFC6335].

Outre l'unicast, le CoAP sécurisé par DTLS peut être utilisé avec l'anycast.

Service Name. coaps

Transport Protocol. udp

Assignee. IESG [email protected]

Contact. IETF Chair [email protected]

Description. DTLS-secured CoAP

Reference. [RFC7252]

Port Number. 5684

12.8. Enregistrement des adresses multicast​

La section 8, "Multicast CoAP", définit l'utilisation du multicast. L'IANA a attribué les adresses multicast suivantes pour utilisation par les nœuds CoAP :

IPv4 -- Adresse "All CoAP Nodes" 224.0.1.187, issue du registre "IPv4 Multicast Address Space Registry". Comme cette adresse est utilisée pour la découverte qui peut s'étendre au-delà d'un seul réseau, elle provient de l'Internetwork Control Block (224.0.1.x, RFC 5771).

IPv6 -- Adresse "All CoAP Nodes" FF0X::FD, issue du registre "IPv6 Multicast Address Space Registry", dans l'espace "Variable Scope Multicast Addresses" (RFC 3307). Notez qu'il existe une adresse multicast distincte pour chaque portée que les nœuds CoAP intéressés devraient écouter ; CoAP n'a besoin que des portées Link-Local et Site-Local.