Nouveautés et mises à jour

Pourquoi les enregistrements MX possèdent une priorité (et pas les enregistrements A et NS)

Contrairement au CNAME, qui est un enregistrement de « nom canonique » permettant de définir un sous-domaine en tant qu’alias d’un autre nom de domaine, les enregistrements NS, A et MX sont des types d’enregistrement DNS dont vous pouvez disposer de plusieurs exemplaires pour une valeur donnée.
Mais parmi ces trois types d’enregistrement, les enregistrements MX sont uniques car ils possèdent une priorité.
Mais pourquoi ? Et est-ce important ?

Pourquoi les enregistrements MX possèdent-ils une priorité ?

Un enregistrement MX (ou enregistrement « Mail eXchanger »), pour les personnes non initiées, est utilisé pour indiquer les serveurs de messagerie de votre nom de domaine. Outre les champs standard des enregistrements DNS tels que le nom, le TTL (time to live), le type et la valeur, les enregistrements MX ont également un champ « Priorité ». Plus la valeur du champ « Priorité » est faible, plus la priorité est élevée.
Une implémentation classique d’enregistrements MX comporte plus de 2 enregistrements MX, avec différents niveaux de priorité. Par exemple, voici les enregistrements MX nécessaires au service de messagerie de Gandi :
@ 1800 IN MX 50 fb.mail.gandi.net.

@ 1800 IN MX 10 spool.mail.gandi.net.
Le serveur de messagerie fb.mail.gandi.net a une priorité de ’50’ et le serveur spool.mail.gandi.net a une priorité de ’10’.
La priorité indique l’ordre dans lequel ces serveurs de messagerie doivent être sollicités par un serveur de messagerie qui tente de délivrer des emails. Un serveur de messagerie qui essaie de distribuer des emails au service de messagerie de Gandi essaiera d’abord de livrer à spool.mail.gandi.net, parce que sa priorité est ’10’. Si cela ne fonctionne pas, il essaiera fb.mail.gandi.net (car sa priorité est ’50’).
Ainsi, si pour une raison quelconque, spool.mail.gandi.net n’est pas disponible, est occupé ou est hors ligne, l’email peut être délivré à fb.mail.gandi.net à la place.

Pourquoi les enregistrements A et NS n’ont pas de priorité ?

D’autres enregistrements tels que les enregistrements A et NS répondent à un objectif similaire. Le service LiveDNS de Gandi utilise les enregistrements NS suivants :
@ 172800 IN NS ns-89-c.gandi.net.

@ 172800 IN NS ns-32-b.gandi.net.

@ 172800 IN NS ns-202-a.gandi.net.
Si ns-89-c.gandi.net n’est pas disponible, un résolveur DNS peut contacter ns-32-b.gandi.net ou ns-202-a.gandi.net et obtenir la réponse qu’il recherche.
De la même manière, vous pouvez ajouter deux enregistrements A pointant vers des serveurs web différents hébergeant le même contenu. Si le premier est en panne ou indisponible, un visiteur peut essayer le second, et vice versa.
Mais les enregistrements A et NS ne bénéficient pas d’une priorité car elle n’est pas nécessaire au fonctionnement de ce type de mécanisme de secours.

Pourquoi les enregistrements MX ont besoin d’une priorité ?

Pour être tout à fait honnête, avec une infrastructure moderne, ce n’est probablement pas le cas. Mais le fait d’avoir plusieurs enregistrements MX est plus compliqué que le fait de fournir une solution de secours.
En général, le serveur vers lequel l’enregistrement MX pointe avec la plus haute priorité est celui qui traite les emails entrants. Le serveur de secours ne distribue pas réellement les emails, mais les met en attente jusqu’à ce que le serveur prioritaire soit à nouveau disponible. En d’autres termes, il est important de savoir quel serveur de messagerie est essayé en premier. En revanche, il n’est pas important de savoir quel serveur web ou quel serveur de noms reçoit une requête particulière.
Il s’agit d’un vestige de l’époque où, la livraison d’un email pouvait prendre plusieurs jours sur internet, et où un serveur email pouvait parfois être déconnecté pendant plusieurs heures sans que des milliers d’emails critiques pour l’entreprise ne soient bloqués.

Plus agréable avec plusieurs enregistrements du même type

L’absence de priorité de l’enregistrement A lui permet en fait d’être utilisé dans le cadre d’une technique appelée « round robin DNS ». Il s’agit d’une technique d’équilibrage de la charge basée sur le DNS qui consiste à utiliser plusieurs serveurs web redondants et à ajouter des enregistrements A pointant vers chacun d’eux. En théorie, la liste apparaîtra dans un ordre aléatoire chaque fois qu’elle sera interrogée, générant ainsi une liste aléatoire d’adresses IP de serveurs web hébergeant un site web.
La mise en cache interfère cependant avec ce processus, car toute personne utilisant le même cache essaiera d’abord les mêmes serveurs web.
Si les enregistrements A avaient une priorité, l’utilisation du DNS de cette manière ne fonctionnerait pas du tout.