Aller au contenu principal

2.2. RDATA Wire Format (Format de fil RDATA)

Les RDATA pour le RR SVCB consistent en:

  • un champ de 2 octets pour SvcPriority en tant qu'entier dans l'ordre des octets réseau.
  • le TargetName non compressé et entièrement qualifié, représenté comme une séquence d'étiquettes préfixées par leur longueur selon la section 3.1 de RFC 1035.
  • les SvcParams, consommant le reste de l'enregistrement (donc inférieur à 65535 octets et contraint par les tailles RDATA et des messages DNS).

Lorsque la liste des SvcParams n'est pas vide, elle contient une série de paires SvcParamKey=SvcParamValue, représentées comme:

  • un champ de 2 octets contenant le SvcParamKey en tant qu'entier dans l'ordre des octets réseau. (Voir la Section 14.3.2 pour les valeurs définies.)
  • un champ de 2 octets contenant la longueur du SvcParamValue en tant qu'entier entre 0 et 65535 dans l'ordre des octets réseau.
  • une chaîne d'octets de cette longueur dont le contenu est le SvcParamValue dans un format déterminé par le SvcParamKey.

Les SvcParamKeys DOIVENT apparaître dans l'ordre numérique croissant.

Les clients DOIVENT considérer un RR comme mal formé si:

  • la fin du RDATA se produit à l'intérieur d'un SvcParam.
  • les SvcParamKeys ne sont pas dans un ordre numérique strictement croissant.
  • le SvcParamValue pour un SvcParamKey n'a pas le format attendu.

Notez que la deuxième condition implique qu'il n'y a pas de SvcParamKeys en double.

Si des RR sont mal formés, le client DOIT rejeter l'ensemble du RRset et revenir à l'établissement de connexion non-SVCB.