Les réponses mDNS

Comme pour les questions, il existe différents types de réponses. Néanmoins, trois choses sont communes à chaque type. La première est que les réponses doivent être envoyées sur le port UDP 5353 de l'adresse multicast 224.0.0.251 (à moins qu'il ait été spécifié, à l'aide du bit "QU", que la réponse doit être envoyée en unicast). La deuxième est que les réponses mDNS ne doivent pas contenir de question dans la section "Questions" du message DNS (sinon, elles seront ignorées). Le dernier point commun est que les réponses DNS ne doivent contenir que des enregistrements sur lesquels le répondeur a explicitement autorité.

Concernant les types de réponses, les voici :

  • "réponses négatives" : un répondeur mDNS peut générer des réponses négatives concernant une requête seulement s'il a autorité sur le contenu de la demande, c'est à dire sur le nom (name)/le type (rrtype)/la classe (rrclass) d'un enregistrement. S'il n'existe pas d'enregistrement possédant cette demande, il peut alors émettre une réponse négative.

  • "réponses à des requêtes d'adresse" : quand une requête concernant une adresse IP est reçue, le répondeur doit répondre avec l'adresse demandée (rrtype A ou AAAA, soit IPv4 ou IPv6), mais doit aussi fournir l'autre type d'adresse s'il reste assez de place dans le paquet.

  • "réponses à une requête "questions multiples"" : le répondeur ne doit répondre qu'aux questions dont il a la réponse et dont il a autorité dessus.

  • "agrégation de réponses" : pour limiter l'impact des réponses multicast sur le réseau, le répondeur doit agréger autant de réponses possibles dans un seul paquet de réponse mDNS.




© Alexandre Cusin-Panit et Nicolas Duthilleul