- Enregistrement de service
-
Pour les articles homonymes, voir SRV.
Un enregistrement SRV ou enregistrement de service est une catégorie de données du DNS d'Internet qui vise à indiquer quels sont les services disponibles. Ce type d'enregistrement est défini dans la RFC 2782. Les protocoles récents (par exemple SIP et XMPP) nécessitent souvent un support des enregistrements SRV par le client. Par ailleurs, les implémentations côté client de protocoles plus anciens tels que LDAP, SMTP peuvent également se voir ajouter un support pour les enregistrements SRV.
Sommaire
Format de l'enregistrement
Un enregistrement SRV contient les informations suivantes :
- Service: le nom symbolique du service concerné.
- Protocole: généralement, c'est soit TCP, soit UDP.
- Nom de domaine: le domaine de validité de l'enregistrement.
- TTL: champ standard DNS indiquant la durée de validité (Time-To-Live, durée de vie) de la réponse.
- Classe: champ standard DNS indiquant la classe (c'est toujours IN).
- Priorité: la priorité du serveur cible.
- Poids: poids relatif pour les enregistrements de même priorité.
- Port: le port TCP ou UDP où le service est disponible.
- Cible: le nom du serveur qui fournit le service concerné.
Par exemple, un enregistrement SRV peut ressembler à ceci :
_sip._tcp.example.com. 86400 IN SRV 0 5 5060 serveursip.example.com.
Il pointe vers un serveur nommé serveursip.example.com qui attend des connexions SIP sur le port TCP numéro 5060. Ici, la priorité indiquée est de 0, et le poids est de 5.
Répartition de charge avec SRV
Le champ priorité est similaire au champ de même nom des enregistrements MX. Les clients commencent par utiliser l'enregistrement SRV de plus basse priorité, et se rabattent sur les autres enregistrements uniquement en cas d'échec de la connexion. Ainsi, un service peut avoir un serveur désigné comme serveur de secours, qui sera seulement utilisé en cas de panne du serveur primaire: il suffit pour cela d'insérer un enregistrement SRV avec une priorité plus élevée que pour le serveur primaire.
Lorsqu'un service possède plusieurs enregistrements SRV de même priorité, les clients utilisent alors le champ poids' pour décider quel serveur utiliser. Le poids ne prend son sens que lorsqu'il est mis en relation avec le poids des autres enregistrements de même priorité (toujours pour un service donné).
Dans l'exemple ci-dessous, on utilise à la fois les champs priorité et poids, afin de fournir simultanément une répartition de charge et un service de secours.
_sip._tcp.example.com. 86400 IN SRV 10 60 5060 gros-serveur.example.com. _sip._tcp.example.com. 86400 IN SRV 10 20 5060 petit-serveur1.example.com. _sip._tcp.example.com. 86400 IN SRV 10 20 5060 petit-serveur2.example.com. _sip._tcp.example.com. 86400 IN SRV 20 0 5060 serveur-de-secours.example.com.
Les trois premiers enregistrements ont tous une priorité de 10. Les clients vont donc devoir utiliser le champ poids afin de déterminer quel serveur contacter. Pour ce champ, la somme des trois valeurs est 100, donc gros-serveur.example.com sera utilisé 60% du temps, et chacun des deux autres (petit-serveur1 et petit-serveur2) sera utilisé 20% du temps. Si, d'aventure, gros-serveur devenait indisponible, les deux "petits serveurs", seuls en piste, se partageraient alors la charge, ayant un poids identique.
Par ailleurs, si ces serveurs de priorité 10 deviennent tous trois indisponibles, l'enregistrement de priorité immédiatement supérieure sera choisi, en l'occurrence serveur-de-secours.example.com. Il peut s'agir d'une machine géographiquement éloignée des trois autres, donc a priori non touchée par la cause de l'indisponibilité de celles-ci.
La répartition de charge fournie par les enregistrements SRV est forcément limitée, étant donné que l'information est essentiellement statique. La charge réelle des serveurs n'est pas prise en compte.
Utilisation
Les enregistrements SRV sont souvent utilisés par les clients Microsoft Windows 2000 afin de trouver le contrôleur de domaine pour un service donné.
Par ailleurs, les enregistrements SRV sont communément utilisés en association avec les protocoles standards ci-dessous :
Voir aussi
- Enregistrement LOC
- Enregistrement MX
Ressources externes
Wikimedia Foundation. 2010.