Le Domain Name System (DNS) peut être comparé à un très gros annuaire té­lé­pho­nique : le service permet aux uti­li­sa­teurs de saisir des adresses Web dans leur na­vi­ga­teur, après quoi le système détermine l’adresse IP correcte à utiliser. Cette ré­so­lu­tion de noms fonc­tionne en faisant en sorte que votre propre or­di­na­teur interroge un serveur DNS cor­res­pon­dant. Une liste y est stockée dans laquelle l’adresse IP correcte de chaque nom d’hôte (c’est-à-dire l’adresse Web) est attribuée. Cependant, le Multicast DNS adopte une approche dif­fé­rente. Mais comment fonc­tionne cette al­ter­na­tive au DNS classique ?

Comment fonc­tionne le Multicast DNS ?

Multicast DNS (mDNS) est un service conçu pour aider à la ré­so­lu­tion de noms dans les petits réseaux. Toutefois, le mDNS utilise une méthode dif­fé­rente de celle du DNS tra­di­tion­nel : au lieu de sol­li­ci­ter un serveur de noms, tous les par­ti­ci­pants au réseau sont di­rec­te­ment adressés. Le client cor­res­pon­dant envoie un multicast dans le réseau et demande à quel par­ti­ci­pant du réseau le nom d’hôte cor­res­pond. Le multicast est une forme de com­mu­ni­ca­tion spé­ci­fique dans laquelle un seul message est adressé à un groupe de des­ti­na­taires. Le groupe peut par exemple être constitué de l’ensemble du réseau ou d’un sous-réseau.

De cette façon, la requête est également envoyée au membre du groupe qui possède le nom d’hôte recherché. Il répond alors à l’ensemble du réseau également via le Multicast. De cette façon, tous les par­ti­ci­pants sont informés de la connexion entre le nom et l’adresse IP et peuvent effectuer une entrée cor­res­pon­dante dans leur cache mDNS. Ainsi, tant que cette entrée est valable, personne dans le réseau n’a besoin de demander ce nom d’hôte.

Le Multicast DNS génère un trafic re­la­ti­ve­ment important, mais il permet d’éco­no­mi­ser ac­ti­ve­ment les res­sources du réseau : pour ce faire, le client demandeur envoie la réponse correcte en fonction de son état (c’est-à-dire en fonction de l’entrée actuelle du cache). Le des­ti­na­taire ne doit répondre que si cela n’est plus correct, ou si cette entrée est sur le point d’expirer. Les autres par­ti­ci­pants au réseau sont également informés de cette manière avant l’envoi d’une réponse. Cette méthode permet donc de réduire le trafic sur le réseau.

En général, seuls les noms d’hôtes avec la ter­mi­nai­son .local peuvent être utilisés avec le Multicast DNS. Cela limite cette forme de ré­so­lu­tion de noms aux réseaux locaux. Les noms d’hôtes avec d’autres domaines de premier niveau (TLD), tels que .fr ou .com ne sont pas traités par le mDNS. Les adresses Web ne peuvent pas être résolues de cette manière.

Note

Multicast DNS a été développé au début des années 2010 et est décrit dans la RFC 6762.

mDNS a été développé dans le cadre du projet Zeroconf (Zero Con­fi­gu­ra­tion Net­wor­king). L’idée derrière le Zero Con­fi­gu­ra­tion Net­wor­king est de permettre aux or­di­na­teurs de com­mu­ni­quer entre eux sans aucun effort de con­fi­gu­ra­tion préalable. Le Multicast DNS répond à ces exigences : la procédure Multicast fait partie du TCP/IP et peut donc fonc­tion­ner sans aucune con­fi­gu­ra­tion.

Les avantages du mDNS

Le multicast DNS est conçu pour les petits réseaux et est destiné à améliorer la facilité d’uti­li­sa­tion. L’idée de base est que les uti­li­sa­teurs peuvent connecter des appareils dans leur réseau local sans dif­fi­culté. Comme tous les appareils partagent leurs adresses IP, il n’est alors pas né­ces­saire de mettre en place un serveur ou un ré­per­toire. Ainsi, des dis­po­si­tifs sup­plé­men­taires peuvent être ajoutés de manière très dynamique et rapide.

Une ap­pli­ca­tion populaire du mDNS est le logiciel Bonjour d’Apple. Le service est prin­ci­pa­le­ment conçu pour connecter fa­ci­le­ment les im­pri­mantes de réseau au PC ou au Mac. Comme les appareils s’informent mu­tuel­le­ment de leurs adresses IP, l’uti­li­sa­teur n’a pas à con­fi­gu­rer lui-même la connexion. En plus du service d’Apple, le logiciel open source Avahi peut désormais être utilisé comme service mDNS. Cela permet également de connecter dif­fé­rents appareils entre eux sans qu’il soit né­ces­saire de les con­fi­gu­rer au préalable. Depuis Windows 10, mDNS est également dis­po­nible dans le système d’ex­ploi­ta­tion de Microsoft.

Risques et in­con­vé­nients de Multicast DNS

La facilité de ma­ni­pu­la­tion s’ac­com­pagne toutefois de certains in­con­vé­nients. Un problème réside dans la procédure Multicast même. Bien que le protocole tente de maintenir un faible trafic sur le réseau, les or­di­na­teurs par­ti­ci­pants doivent également sur­veil­ler cons­tam­ment le réseau et traiter les messages entrants. Cela nécessite et coûte de la puissance de calcul.

Par ailleurs, l’at­tri­bu­tion des noms d’hôtes est pro­blé­ma­tique : en principe, vous pouvez choisir librement un nom pour chaque appareil, à condition qu’il se termine par .local. Cela peut (au moins théo­ri­que­ment) conduire à ce que deux par­ti­ci­pants au réseau aient le même nom d’hôte. Les dé­ve­lop­peurs de mDNS n’ont dé­li­bé­ré­ment pas mis en œuvre de solution pour un tel scénario. En effet, ils partent du principe que d’une part le cas est peu sus­cep­tible de se produire et, d’autre part, que la double dé­no­mi­na­tion peut être in­ten­tion­nelle.

En revanche, un autre problème re­pré­sente une source de danger. Dans certains cas, le mDNS est ouvert. Cela signifie que le service répond également aux demandes provenant de l’extérieur (via Internet). Les cy­ber­cri­mi­nels peuvent trouver de tels services ouverts et les utiliser pour effectuer des attaques DDoS. Les dis­po­si­tifs de réseau sont ensuite détournés pour bombarder de requêtes un serveur cible. En outre, les données sensibles peuvent être repérées via un Multicast DNS ouvert. Les at­ta­quants peuvent s’en servir pour lire les adresses MAC des appareils connectés, par exemple, puis utiliser ces in­for­ma­tions pour lancer d’autres attaques.

Aller au menu principal