SVCB/HTTPS : de nouveaux enregistrements DNS

Deux types nouveaux

Le DNS, système de noms de domaine, est un service essentiel au fonctionnement d’Internet. Il est souvent présenté comme un annuaire permettant d’associer des noms de domaine à des adresses IP, mais c’est en réalité qu’une petite partie de ses fonctions.

Les enregistrements DNS de types A et AAAA permettent en effet de configurer des adresses IP derrière un nom de domaine. Il existe également des dizaines d’autres types d’enregistrements DNS, utiles pour divers cas d’usage.

Deux nouveaux types d’enregistrement DNS vont prochainement être introduits par une nouvelle RFC : les types SVCB et HTTPS.

Faciliter les services et réduire la latence

Type SVCB

Le type SVCB, pour SerViCe Binding, a pour objectif d’indiquer des informations utiles sur les services disponibles avec un nom de domaine. Le format de l’enregistrement SVCB est composé d’une priorité, d’une cible et d’une liste de paramètres optionnelle. Par exemple, il permet d’indiquer que pour un service défini, un nom de domaine est en fait lié à un autre nom avec une configuration spécifique.

SVCB [SvcPriority] [TargetName] ([SvcParams]…)

Les enregistrements SVCB se différencient des SRV sur plusieurs points :

  • Les enregistrements SRV sont généralement obligatoires pour qu’un service fonctionne ; ce n’est pas le cas avec les SVCB.
  • Les enregistrements SVCB peuvent indiquer plus d’informations que les SRV, comme une version de protocole à utiliser.
  • Le type SVCB est extensible, contrairement aux SRV, ce qui ouvre la porte à diverses évolutions et usages futurs.

Type HTTPS

Le type HTTPS est un type dérivé de SVCB. Contrairement au type SVCB qui est générique, le type HTTPS est spécifique au protocole HTTPS.

Généralement, pour initier une connexion HTTPS, le client doit d’abord se connecter en HTTP afin de récupérer plusieurs informations, par exemple pour savoir quelle version utiliser ; cela génère de la latence.

L’enregistrement DNS de type HTTPS permet notamment d’indiquer au client, différents paramètres afin de faciliter la connexion au serveur, et ainsi réduire la latence. Il a la même forme qu’un enregistrement SVCB :

HTTPS [SvcPriority] [TargetName] ([SvcParams]…)

Mode alias

Les enregistrements SVCB/HTTPS proposent deux modes de fonctionnement. Un mode alias et un mode service.

Le mode alias est activé lorsque la priorité est positionnée à 0. Il permet de rediriger un nom de domaine vers un autre nom, et notamment de résoudre le fameux problème du CNAME à la racine (CNAME-at-apex).

L’enregistrement CNAME permet d’indiquer qu’un sous-domaine renvoie vers un autre nom de domaine. Il est très utile pour déléguer un service : par exemple pour faire pointer le nom www.exemple.fr vers le site web hébergé chez monsite.presta.fr.

www CNAME monsite.presta.fr

Le problème avec l’enregistrement CNAME, c’est qu’il ne peut pas être défini à la racine d’un nom. Pour contourner ce problème, des solutions non-standards sont proposées comme les enregistrements ALIAS ou ANAME, mais ces types ne sont pas supportés par tous les opérateurs DNS. Le mode alias des enregistrements SVCB/HTTPS est une solution à ce problème.

SVCB 0 nameshield.net.

HTTPS 0 nameshield.net.

Mode service

Le mode service des enregistrements SVCB/HTTPS permet d’indiquer quels services sont configurés derrière un nom de domaine. Lors de la découverte de service, cela fournit au client un certain nombre de paramètres condensés dans un seul enregistrement DNS. L’objectif est de faciliter l’utilisation de services et diminuer la latence.

Par exemple, nous pouvons avoir un enregistrement HTTPS indiquant que le client peut se connecter avec le protocole HTTP/2 ou HTTP/3 (alpn) aux adresses IPv4 et IPv6 définies (ipv4hint, ipv6hint), sur le port 8061 (port).

HTTPS 1 . alpn=”h3,h2” ipv4hint=”192.168.0.1” ipv6hint=”2001:db8::1” port=8061

Déploiement en cours

Les enregistrements SVCB/HTTPS apportent plusieurs fonctionnalités afin d’améliorer les performances du Web et répondre à la problématique du CNAME à la racine. Le fait qu’ils soient génériques et évolutifs permet d’élargir le périmètre des cas d’usage.

Bien qu’ils ne soient pas encore normés par une RFC, ces nouveaux types d’enregistrement sont déjà utilisés. Certains logiciels DNS et navigateurs Web supportent ces enregistrements, et des acteurs comme Apple, Google, Cloudflare et Nameshield les implémentent déjà.

Aujourd’hui, les services fonctionnant avec des enregistrements SVCB/HTTPS doivent également pouvoir s’en passer, car leur déploiement n’est pas encore généralisé. C’est une étape qui peut prendre plusieurs mois, le temps que la majorité des opérateurs se mettent à jour.

Autor: Bruno Darras

Chargé de communication - Nameshield group