Une recherche SRV révèle l'hôte et le port qu'un domaine publie pour un service réseau précis - téléphonie SIP, messagerie XMPP, serveur Minecraft - avec la priorité et le poids utilisés pour départager plusieurs cibles.
Qu'est-ce qu'un enregistrement SRV ?
Un enregistrement SRV (Service), défini par la RFC 2782, associe un nom de service à l'hôte et au port qui l'exécutent réellement. Contrairement à un A ou un CNAME, un SRV ne se contente pas de pointer vers un serveur : il transporte aussi des instructions de répartition de charge et de bascule dans la même réponse.
Le nom de l'enregistrement suit toujours le format `_service._proto.domaine`, où `service` désigne le protocole applicatif (`sip`, `xmpp-client`, `minecraft`) et `proto` le transport (`tcp` ou `udp`). Ce préfixe en underscore évite toute collision avec de vrais noms d'hôtes.
- Priorité : les valeurs basses sont essayées en premier, comme pour un MX
- Poids : entre enregistrements de même priorité, le poids le plus élevé reçoit une plus grande part du trafic
- Port : le port TCP ou UDP utilisé par le service, qui peut différer du port par défaut du protocole
- Cible : le nom d'hôte qui exécute réellement le service, lequel doit se résoudre via un A/AAAA
Syntaxe d'un enregistrement SRV
Une entrée de zone pour un service SIP en TLS ressemble à ceci :
- _sip._tls.exemple.fr. 3600 IN SRV 10 60 5061 sipserver.exemple.fr.
- _xmpp-client._tcp.exemple.fr. 3600 IN SRV 5 0 5222 chat.exemple.fr.
- _minecraft._tcp.play.exemple.fr. 3600 IN SRV 0 5 25565 mc1.exemple.fr.
Lire les résultats de cette recherche
Cet outil interroge un jeu fixe de noms de service courants sous le domaine saisi : `_http._tcp`, `_https._tcp`, `_ldap._tcp` et `_sip._tcp`. Chaque ligne affiche le nom complet interrogé (par exemple `_sip._tcp.exemple.fr`), la valeur combinée sous la forme `priorité poids port cible`, et la priorité comme champ séparé pour le tri.
Un domaine sans enregistrement SRV pour ces quatre services renvoie une section SRV vide - c'est le cas normal pour la plupart des sites, car SRV sert surtout à la téléphonie VoIP, au chat, aux annuaires et aux jeux, pas à l'hébergement web classique. Pour vérifier un service absent de cette liste (Minecraft, XMPP serveur-à-serveur, Matrix, LDAPS), interrogez son nom `_service._proto` exact avec un outil DNS généraliste.
| Champ | Exemple | Signification |
|---|---|---|
| Nom | _sip._tcp.exemple.fr | Le service et le protocole interrogés, préfixés par des underscores |
| Priorité | 10 | Valeur basse préférée ; les clients l'essaient en premier |
| Poids | 60 | Part relative du trafic parmi les cibles de même priorité |
| Port | 5060 | Port TCP/UDP sur lequel le service écoute |
| Cible | sipserver.exemple.fr | Nom d'hôte exécutant le service ; doit se résoudre en A/AAAA |
Des services bien réels s'appuient sur SRV
La téléphonie SIP (Session Initiation Protocol) et les systèmes de VoIP utilisent `_sip._tcp`, `_sip._udp` ou `_sip._tls` pour qu'un numéro ou une adresse SIP soit routé vers le bon serveur d'appel sans coder une IP en dur - utile pour un standard téléphonique d'entreprise ou un opérateur SIP trunk en France.
XMPP (messagerie basée sur Jabber, y compris certains déploiements de messagerie fédérée) publie `_xmpp-client._tcp` pour les connexions client et `_xmpp-server._tcp` pour la fédération serveur à serveur, permettant à une adresse de chat comme `utilisateur@exemple.fr` de pointer vers le vrai serveur.
Les serveurs Minecraft Java Edition utilisent `_minecraft._tcp` pour que les joueurs se connectent via un simple nom de domaine (`play.exemple.fr`) alors que le serveur tourne sur un port non standard, sans exposer ce port dans l'adresse tapée.
Les environnements Microsoft s'appuient massivement sur SRV pour la découverte de service : les contrôleurs de domaine Active Directory publient `_ldap._tcp` et `_kerberos._tcp`, et l'Autodiscover d'Exchange/Outlook peut utiliser `_autodiscover._tcp`.
Priorité et poids en pratique
Quand plusieurs enregistrements SRV partagent la priorité la plus basse, le poids détermine la fréquence de sélection de chacun. Un enregistrement de poids 60 face à un poids 20 reçoit en moyenne trois fois plus de trafic, selon la sélection pondérée aléatoire décrite par la RFC 2782. Un poids de 0 est valide et donne à la cible la plus faible part de sélection possible face à des enregistrements de poids supérieur à la même priorité - pas un dernier recours strict, juste une très faible probabilité d'être choisie.
Si tous les enregistrements ont priorité 0 et poids 0, les résolveurs sont libres de choisir n'importe lequel, ce qui se comporte comme un simple tourniquet (round-robin).
Questions fréquentes
Pourquoi mon domaine n'affiche-t-il aucun enregistrement SRV ?
La plupart des sites n'en ont jamais besoin. SRV ne compte que pour les services qui l'interrogent spécifiquement, comme les téléphones SIP, les clients XMPP ou certains jeux. Un domaine qui ne sert qu'un site web n'a aucune raison de publier un SRV, et son absence n'est pas une erreur de configuration.
Une cible SRV peut-elle pointer vers un CNAME plutôt qu'un vrai nom d'hôte ?
La RFC 2782 indique que la cible doit se résoudre directement en enregistrements d'adresse. En pratique, certains clients tolèrent un saut par CNAME, mais s'appuyer là-dessus reste fragile - pointez les cibles SRV directement vers un nom d'hôte adossé à un A/AAAA pour éviter des échecs de résolution chez les clients stricts.
Que signifie un port à 0 dans un SRV, et une cible réduite à un point ?
Une cible réduite à un simple point signifie que le service n'est explicitement pas disponible sur ce domaine - certaines configurations l'utilisent pour signaler "ce service n'est volontairement pas proposé" plutôt que de laisser le nom impossible à résoudre. Un port à 0 est inhabituel et signale en général un enregistrement provisoire ou mal configuré plutôt qu'un vrai point d'accès.
Les navigateurs web utilisent-ils les enregistrements SRV pour le HTTPS ?
Non. Les navigateurs résolvent un site directement par son nom d'hôte (A/AAAA), pas via un SRV `_http._tcp` ou `_https._tcp`, même quand un serveur DNS en publie un. Le SRV pour HTTP sert surtout à des clients non-navigateurs et à la découverte de service interne, pas à la barre d'adresse.
En quoi un SRV diffère-t-il d'un simple A pointant vers le même serveur ?
Un enregistrement A ne donne qu'une adresse IP sur le port par défaut du protocole. Le SRV précise en plus le port exact, ainsi que la priorité et le poids pour choisir entre plusieurs cibles également valides - des informations qu'un A n'a aucun champ pour porter.
Pourquoi certains noms de service SRV utilisent-ils _tcp et d'autres _udp ?
Le suffixe de protocole reflète la façon dont le service communique réellement. SIP fonctionne couramment sur les deux, donc il est fréquent de voir `_sip._tcp` et `_sip._udp` (et `_sip._tls` pour la signalisation chiffrée) publiés côte à côte pour le même domaine, chacun avec son propre port et ses propres cibles.
Outils liés
- Le MX utilise le même mécanisme de priorité que le SRV, appliqué à la remise du courrier plutôt qu'à un service quelconque
- Lancer une recherche DNS multi-type complète sur le même domaine, y compris les types absents de ce préréglage
- Confirmer quels serveurs de noms font vraiment autorité sur la zone avant de diagnostiquer un SRV manquant
- Un autre type d'enregistrement à usage spécifique, avec sa propre syntaxe stricte hors adressage