SlideShare une entreprise Scribd logo
Multicast DNS
PLAN
I. INTRODUCTION
II. Pourquoi ?
III. Principe
1. Name
2. Multicast Adresses
3. Requêtes
4. Réponses
5. duplication
6. Format
IV. Application
V. Limitation
VI. conclusion
INTRODUCTION
• Le mDNS résout les noms d'hôtes en adresses IP dans les
petits réseaux qui n'incluent pas de serveur DNS local.
• Il s'agit d'un service à configuration zéro,
• utilisant essentiellement les mêmes interfaces de
programmation, formats de paquets et sémantiques
d'exploitation que le système Unicast DNS.
Pourquoi?
• mieux adapté aux réseaux de petite taille
– Où il n'y a pas de serveur DNS
– Où le serveur DNS n'enregistre pas les noms locaux (par
exemple, le serveur DNS du fournisseur IAM)
• mDNS est particulièrement utile dans le domaine de
développement des réseaux sans fil ex(Ad hoc)
Principe -Name
• mDNS résout exclusivement les noms d'hôtes
se terminant par .local.
• Exemple :
Principe –Multicast Adresses
• le multicast utilise les adresses de classe D
– 224.0.0.1 -> 224.0.0.255 adresses multicast locales
– 224.0.1.1 -> 239.255.255.254 adresses multicast
publiques (routables sur Internet)
Principe –Requette
• Il existe différents types de requêtes Multicast DNS
– "One-shot multicast DNS queries" : le client DNS ayant émis ce
message prendra en compte la première réponse qu'il reçoit. Il
ignorera donc les autres réponses.
– "One-shot queries, accumulating multiple responses" : Le client
Multicast DNS attendra une certaine période de temps afin
de recevoir plusieurs réponses à sa requête et ainsi choisir la
meilleure.
– "Continuous multicast DNS queries" : le client DNS envoi d’une
manière continue des requêtes pour permettre une découverte
Exemple
Les utilisateurs d'iTunes sont habitués à voir une liste de la
bibliothèques de musique en réseau partagé dans la barre
latérale de la fenêtre iTunes rafraichie d’une manière
automatique
Principe –réponses
• il existe différents types de réponses.
– "réponses négatives" : un répondeur mDNS peut générer des
réponses négatives concernant une requête .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)
– "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.
Principe -duplications
• Afin de réduire les réponses redondantes sur le réseau :
– "suppression de réponses connues" : quand un client mDNS envoie une
requête dont il connaît plusieurs réponses, il les place dans la partie "Answer
Section" du message DNS. Ainsi, si un répondeur mDNS a la réponse à la
question, il peut regarder si sa réponse est déjà connue par le demandeur et
n'a donc pas besoin de l'envoyer.
– "paquets multiples de réponses connues" : le principe est le même que
précédemment. La seule différence est que le client peut parfois connaître un
nombre important de réponses à sa question et ne peut pas les placer dans
un seul message DNS. Il doit donc envoyer plusieurs paquets en mettant le bit
TC à 1.
– "suppression de questions dupliquées" : en utilisant le principe du multicast,
les différents clients voient les différentes questions envoyées sur le lien local.
Ainsi, s'ils repèrent une de leur question, ils n'ont pas besoin de
l'envoyer une nouvelle fois puisqu'ils recevront la réponse via le multicast.
– "suppression de réponses dupliquées" : même principe que pour la
suppression de questions dupliquées mais appliqué pour les réponses.
Principe Format
• Taille des messages :
– La RFC 1035 limite la taille des messages DNS
portés par UDP à un maximum de 512 octets
• Format des messages :
ID (L'identifiant): 2 octets
QR: Query/Response (1 bit)
OPCODE (4 bits)
AA Authoritative Answer (1 bit)
TC Truncated (1 bit)
RD Recursion Desired (1 Bit)
RA (Recursion Available) 1 Bit
Z (Zero) 1 Bit
AD (Authentic Data) 1 Bit
CD (Checking Disabled) 1 Bit
RCODE (Respons Code) 1 Bit
Bit de poid fort de qclass dans la section Question
Bit de poid fort de rrclass dans la section Réponse
Compression de nom
Principe Format
Il est à 0 lors des requêtes et
des réponses multicast, il est
utilisé lors des réponses
Unicast générées par des
requêtes spéciales et doit
correspondre à l'ID de la
requête.
IDENTIFIANT (2 octets)
QR: Query/Response (1 bit)
OPCODE (4 bits)
AA Authoritative Answer (1 bit)
TC Truncated (1 bit)
RD Recursion Desired (1 Bit)
RA (Recursion Available) 1 Bit
Z (Zero) 1 Bit
AD (Authentic Data) 1 Bit
CD (Checking Disabled) 1 Bit
RCODE (Respons Code) 1 Bit
Bit de poid fort de qclass dans la section Question
Bit de poid fort de rrclass dans la section Réponse
Compression de nom
Principe Format
0 si le message est une
requête, 1 si c'est une
réponse)
IDENTIFIANT (2 octets)
QR: Query/Response (1 bit)
OPCODE (4 bits)
AA Authoritative Answer (1 bit)
TC Truncated (1 bit)
RD Recursion Desired (1 Bit)
RA (Recursion Available) 1 Bit
Z (Zero) 1 Bit
AD (Authentic Data) 1 Bit
CD (Checking Disabled) 1 Bit
RCODE (Respons Code) 1 Bit
Bit de poid fort de qclass dans la section Question
Bit de poid fort de rrclass dans la section Réponse
Compression de nom
Principe Format
4 Bits (pas utilisé, doit
être à 0)
IDENTIFIANT (2 octets)
QR: Query/Response (1 bit)
OPCODE (4 bits)
AA Authoritative Answer (1 bit)
TC Truncated (1 bit)
RD Recursion Desired (1 Bit)
RA (Recursion Available) 1 Bit
Z (Zero) 1 Bit
AD (Authentic Data) 1 Bit
CD (Checking Disabled) 1 Bit
RCODE (Respons Code) 1 Bit
Bit de poid fort de qclass dans la section Question
Bit de poid fort de rrclass dans la section Réponse
Compression de nom
Principe Format
*doit être positionné à 0 lors
d'une requête et ignoré à la
réception.
*doit être positionné à 1 lors
d'une réponse pour signaler
que l'information est la meilleure
IDENTIFIANT (2 octets)
QR: Query/Response (1 bit)
OPCODE (4 bits)
AA Authoritative Answer (1 bit)
TC Truncated (1 bit)
RD Recursion Desired (1 Bit)
RA (Recursion Available) 1 Bit
Z (Zero) 1 Bit
AD (Authentic Data) 1 Bit
CD (Checking Disabled) 1 Bit
RCODE (Respons Code) 1 Bit
Bit de poid fort de qclass dans la section Question
Bit de poid fort de rrclass dans la section Réponse
Compression de nom
Principe Format
*lors d'une requête s'il est à 1 le destinataire
doit attendre avant de répondre car d'autre
"réponses connues" peuvent suivre ce message.
*S'il est à 0 le demandeur n'a pas d'autre
"réponse connue".
lors d'une réponse multicast, le bit TC doit être à
0 et être ignoré à réception.
IDENTIFIANT (2 octets)
QR: Query/Response (1 bit)
OPCODE (4 bits)
AA Authoritative Answer (1 bit)
TC Truncated (1 bit)
RD Recursion Desired (1 Bit)
RA (Recursion Available) 1 Bit
Z (Zero) 1 Bit
AD (Authentic Data) 1 Bit
CD (Checking Disabled) 1 Bit
RCODE (Respons Code) 1 Bit
Bit de poid fort de qclass dans la section Question
Bit de poid fort de rrclass dans la section Réponse
Compression de nom
Principe Format
Il doit être positionné à 0 lors de la
transmission et être ignoré à la réception.
IDENTIFIANT (2 octets)
QR: Query/Response (1 bit)
OPCODE (4 bits)
AA Authoritative Answer (1 bit)
TC Truncated (1 bit)
RD Recursion Desired (1 Bit)
RA (Recursion Available) 1 Bit
Z (Zero) 1 Bit
AD (Authentic Data) 1 Bit
CD (Checking Disabled) 1 Bit
RCODE (Respons Code) 1 Bit
Bit de poid fort de qclass dans la section Question
Bit de poid fort de rrclass dans la section Réponse
Compression de nom
Principe Format
Il doit être positionné à 0 lors de la transmission
et être ignoré à la réception.
IDENTIFIANT (2 octets)
QR: Query/Response (1 bit)
OPCODE (4 bits)
AA Authoritative Answer (1 bit)
TC Truncated (1 bit)
RD Recursion Desired (1 Bit)
RA (Recursion Available) 1 Bit
Z (Zero) 1 Bit
AD (Authentic Data) 1 Bit
CD (Checking Disabled) 1 Bit
RCODE (Respons Code) 1 Bit
Bit de poid fort de qclass dans la section Question
Bit de poid fort de rrclass dans la section Réponse
Compression de nom
Principe Format
Bit Comme pour RD et RA, doit être à 0 et ignoré.
IDENTIFIANT (2 octets)
QR: Query/Response (1 bit)
OPCODE (4 bits)
AA Authoritative Answer (1 bit)
TC Truncated (1 bit)
RD Recursion Desired (1 Bit)
RA (Recursion Available) 1 Bit
Z (Zero) 1 Bit
AD (Authentic Data) 1 Bit
CD (Checking Disabled) 1 Bit
RCODE (Respons Code) 1 Bit
Bit de poid fort de qclass dans la section Question
Bit de poid fort de rrclass dans la section Réponse
Compression de nom
Principe Format
1 Bit Comme pour RD..., doit être à 0 et ignoré.
IDENTIFIANT (2 octets)
QR: Query/Response (1 bit)
OPCODE (4 bits)
AA Authoritative Answer (1 bit)
TC Truncated (1 bit)
RD Recursion Desired (1 Bit)
RA (Recursion Available) 1 Bit
Z (Zero) 1 Bit
AD (Authentic Data) 1 Bit
CD (Checking Disabled) 1 Bit
RCODE (Respons Code) 1 Bit
Bit de poid fort de qclass dans la section Question
Bit de poid fort de rrclass dans la section Réponse
Compression de nom
Principe Format
1 Bit Comme pour RD..., doit être à 0 et ignoré.
IDENTIFIANT (2 octets)
QR: Query/Response (1 bit)
OPCODE (4 bits)
AA Authoritative Answer (1 bit)
TC Truncated (1 bit)
RD Recursion Desired (1 Bit)
RA (Recursion Available) 1 Bit
Z (Zero) 1 Bit
AD (Authentic Data) 1 Bit
CD (Checking Disabled) 1 Bit
RCODE (Respons Code) 1 Bit
Bit de poid fort de qclass dans la section Question
Bit de poid fort de rrclass dans la section Réponse
Compression de nom
Principe Format
1 Bit Pour les requêtes et réponses mDNS, le bit RCODE
doit être à 0, les messages reçus avec un RCODE
différent de 0 doivent être ignorés en "silence".
IDENTIFIANT (2 octets)
QR: Query/Response (1 bit)
OPCODE (4 bits)
AA Authoritative Answer (1 bit)
TC Truncated (1 bit)
RD Recursion Desired (1 Bit)
RA (Recursion Available) 1 Bit
Z (Zero) 1 Bit
AD (Authentic Data) 1 Bit
CD (Checking Disabled) 1 Bit
RCODE (Respons Code) 1 Bit
Bit de poid fort de qclass dans la section Question
Bit de poid fort de rrclass dans la section Réponse
Compression de nom
Principe Format
utilisé pour indiquer qu'une réponse unicast est
préférée pour cette question.
IDENTIFIANT (2 octets)
QR: Query/Response (1 bit)
OPCODE (4 bits)
AA Authoritative Answer (1 bit)
TC Truncated (1 bit)
RD Recursion Desired (1 Bit)
RA (Recursion Available) 1 Bit
Z (Zero) 1 Bit
AD (Authentic Data) 1 Bit
CD (Checking Disabled) 1 Bit
RCODE (Respons Code) 1 Bit
Bit de poid fort de qclass dans la section Question
Bit de poid fort de rrclass dans la section Réponse
Compression de nom
Principe Format
Dans la partie réponse d'une réponse mDNS, le bit de
poid fort du champ rrclass est utilisé pour indiquer que
l'enregistrement est membre d'un unique RRSet, et que
le RRSet entier a été envoyé avec (dans le même paquet
ou consécutivement s'il y a trop d'enregistrements pour
un paquet).
IDENTIFIANT (2 octets)
QR: Query/Response (1 bit)
OPCODE (4 bits)
AA Authoritative Answer (1 bit)
TC Truncated (1 bit)
RD Recursion Desired (1 Bit)
RA (Recursion Available) 1 Bit
Z (Zero) 1 Bit
AD (Authentic Data) 1 Bit
CD (Checking Disabled) 1 Bit
RCODE (Respons Code) 1 Bit
Bit de poid fort de qclass dans la section Question
Bit de poid fort de rrclass dans la section Réponse
Compression de nom
Principe Format
applications
• Apple Bonjour :
– réalisée par Apple et implémentant la norme Zeroconf de
l'IETF
• Cette technologie permet donc aux utilisateurs de :
– s'affranchir de toute configuration
– Il leur suffit de brancher les périphériques les uns aux
autres
• les imprimantes réseau via Wi-Fi ou Ethernet ;
• les imprimantes USB partagées à partir d’un Mac.
applications
Limitation
• Le fait d’utilisé le multicast encombre le réseau ce qui a un
impact négatif sur la band passante sur tout lorsque le
nombre d’utilisateur devient plus intéressant
• Security : vulnérabilité d’être dans le même réseau MDNS
Conclusion
• Cette présentation a permis de découvrir le
protocole Multicast DNS.
• nous avons pu voir que le protocole mDNS allie
l'utilité des messages DNS à l'adressage multicast
afin de résoudre les noms de machines et de services
sur un même lien local.
• Il faut néanmoins savoir que ce protocole n'est
qu'une base pour des protocoles et des applications
situés sur les couches supérieures du modèle OSI -
TCP/IP.

Contenu connexe

Dernier

Conseils pour mieux Sécuriser votre système Linux
Conseils pour mieux Sécuriser votre système LinuxConseils pour mieux Sécuriser votre système Linux
Conseils pour mieux Sécuriser votre système Linux
Asher256
 
Riding motorbikes in country side 15
Riding motorbikes in country side 15Riding motorbikes in country side 15
Riding motorbikes in country side 15
RDM-ROW history
 
Stratégies pour accroître la visibilité et l'engagement de votre blog
Stratégies pour accroître la visibilité et l'engagement de votre blogStratégies pour accroître la visibilité et l'engagement de votre blog
Stratégies pour accroître la visibilité et l'engagement de votre blog
Asher256
 
Netflix, OCS et Disney avec ou sans engagement
Netflix, OCS et Disney avec ou sans engagementNetflix, OCS et Disney avec ou sans engagement
Netflix, OCS et Disney avec ou sans engagement
ABO IPTV PREMIUM
 
Les logiciels libres : une opportunite pour votre entreprise?
Les logiciels libres : une opportunite pour votre entreprise?Les logiciels libres : une opportunite pour votre entreprise?
Les logiciels libres : une opportunite pour votre entreprise?
Asher256
 
Riding motorbikes in country side 20
Riding motorbikes in country side 20Riding motorbikes in country side 20
Riding motorbikes in country side 20
RDM-ROW history
 

Dernier (6)

Conseils pour mieux Sécuriser votre système Linux
Conseils pour mieux Sécuriser votre système LinuxConseils pour mieux Sécuriser votre système Linux
Conseils pour mieux Sécuriser votre système Linux
 
Riding motorbikes in country side 15
Riding motorbikes in country side 15Riding motorbikes in country side 15
Riding motorbikes in country side 15
 
Stratégies pour accroître la visibilité et l'engagement de votre blog
Stratégies pour accroître la visibilité et l'engagement de votre blogStratégies pour accroître la visibilité et l'engagement de votre blog
Stratégies pour accroître la visibilité et l'engagement de votre blog
 
Netflix, OCS et Disney avec ou sans engagement
Netflix, OCS et Disney avec ou sans engagementNetflix, OCS et Disney avec ou sans engagement
Netflix, OCS et Disney avec ou sans engagement
 
Les logiciels libres : une opportunite pour votre entreprise?
Les logiciels libres : une opportunite pour votre entreprise?Les logiciels libres : une opportunite pour votre entreprise?
Les logiciels libres : une opportunite pour votre entreprise?
 
Riding motorbikes in country side 20
Riding motorbikes in country side 20Riding motorbikes in country side 20
Riding motorbikes in country side 20
 

En vedette

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
Christy Abraham Joy
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
Vit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
MindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
GetSmarter
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
Alireza Esmikhani
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
Project for Public Spaces & National Center for Biking and Walking
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
Erica Santiago
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Saba Software
 

En vedette (20)

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 

Mdns

  • 2. PLAN I. INTRODUCTION II. Pourquoi ? III. Principe 1. Name 2. Multicast Adresses 3. Requêtes 4. Réponses 5. duplication 6. Format IV. Application V. Limitation VI. conclusion
  • 3. INTRODUCTION • Le mDNS résout les noms d'hôtes en adresses IP dans les petits réseaux qui n'incluent pas de serveur DNS local. • Il s'agit d'un service à configuration zéro, • utilisant essentiellement les mêmes interfaces de programmation, formats de paquets et sémantiques d'exploitation que le système Unicast DNS.
  • 4. Pourquoi? • mieux adapté aux réseaux de petite taille – Où il n'y a pas de serveur DNS – Où le serveur DNS n'enregistre pas les noms locaux (par exemple, le serveur DNS du fournisseur IAM) • mDNS est particulièrement utile dans le domaine de développement des réseaux sans fil ex(Ad hoc)
  • 5. Principe -Name • mDNS résout exclusivement les noms d'hôtes se terminant par .local. • Exemple :
  • 6. Principe –Multicast Adresses • le multicast utilise les adresses de classe D – 224.0.0.1 -> 224.0.0.255 adresses multicast locales – 224.0.1.1 -> 239.255.255.254 adresses multicast publiques (routables sur Internet)
  • 7. Principe –Requette • Il existe différents types de requêtes Multicast DNS – "One-shot multicast DNS queries" : le client DNS ayant émis ce message prendra en compte la première réponse qu'il reçoit. Il ignorera donc les autres réponses. – "One-shot queries, accumulating multiple responses" : Le client Multicast DNS attendra une certaine période de temps afin de recevoir plusieurs réponses à sa requête et ainsi choisir la meilleure. – "Continuous multicast DNS queries" : le client DNS envoi d’une manière continue des requêtes pour permettre une découverte Exemple Les utilisateurs d'iTunes sont habitués à voir une liste de la bibliothèques de musique en réseau partagé dans la barre latérale de la fenêtre iTunes rafraichie d’une manière automatique
  • 8. Principe –réponses • il existe différents types de réponses. – "réponses négatives" : un répondeur mDNS peut générer des réponses négatives concernant une requête .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) – "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.
  • 9. Principe -duplications • Afin de réduire les réponses redondantes sur le réseau : – "suppression de réponses connues" : quand un client mDNS envoie une requête dont il connaît plusieurs réponses, il les place dans la partie "Answer Section" du message DNS. Ainsi, si un répondeur mDNS a la réponse à la question, il peut regarder si sa réponse est déjà connue par le demandeur et n'a donc pas besoin de l'envoyer. – "paquets multiples de réponses connues" : le principe est le même que précédemment. La seule différence est que le client peut parfois connaître un nombre important de réponses à sa question et ne peut pas les placer dans un seul message DNS. Il doit donc envoyer plusieurs paquets en mettant le bit TC à 1. – "suppression de questions dupliquées" : en utilisant le principe du multicast, les différents clients voient les différentes questions envoyées sur le lien local. Ainsi, s'ils repèrent une de leur question, ils n'ont pas besoin de l'envoyer une nouvelle fois puisqu'ils recevront la réponse via le multicast. – "suppression de réponses dupliquées" : même principe que pour la suppression de questions dupliquées mais appliqué pour les réponses.
  • 10. Principe Format • Taille des messages : – La RFC 1035 limite la taille des messages DNS portés par UDP à un maximum de 512 octets • Format des messages :
  • 11. ID (L'identifiant): 2 octets QR: Query/Response (1 bit) OPCODE (4 bits) AA Authoritative Answer (1 bit) TC Truncated (1 bit) RD Recursion Desired (1 Bit) RA (Recursion Available) 1 Bit Z (Zero) 1 Bit AD (Authentic Data) 1 Bit CD (Checking Disabled) 1 Bit RCODE (Respons Code) 1 Bit Bit de poid fort de qclass dans la section Question Bit de poid fort de rrclass dans la section Réponse Compression de nom Principe Format Il est à 0 lors des requêtes et des réponses multicast, il est utilisé lors des réponses Unicast générées par des requêtes spéciales et doit correspondre à l'ID de la requête.
  • 12. IDENTIFIANT (2 octets) QR: Query/Response (1 bit) OPCODE (4 bits) AA Authoritative Answer (1 bit) TC Truncated (1 bit) RD Recursion Desired (1 Bit) RA (Recursion Available) 1 Bit Z (Zero) 1 Bit AD (Authentic Data) 1 Bit CD (Checking Disabled) 1 Bit RCODE (Respons Code) 1 Bit Bit de poid fort de qclass dans la section Question Bit de poid fort de rrclass dans la section Réponse Compression de nom Principe Format 0 si le message est une requête, 1 si c'est une réponse)
  • 13. IDENTIFIANT (2 octets) QR: Query/Response (1 bit) OPCODE (4 bits) AA Authoritative Answer (1 bit) TC Truncated (1 bit) RD Recursion Desired (1 Bit) RA (Recursion Available) 1 Bit Z (Zero) 1 Bit AD (Authentic Data) 1 Bit CD (Checking Disabled) 1 Bit RCODE (Respons Code) 1 Bit Bit de poid fort de qclass dans la section Question Bit de poid fort de rrclass dans la section Réponse Compression de nom Principe Format 4 Bits (pas utilisé, doit être à 0)
  • 14. IDENTIFIANT (2 octets) QR: Query/Response (1 bit) OPCODE (4 bits) AA Authoritative Answer (1 bit) TC Truncated (1 bit) RD Recursion Desired (1 Bit) RA (Recursion Available) 1 Bit Z (Zero) 1 Bit AD (Authentic Data) 1 Bit CD (Checking Disabled) 1 Bit RCODE (Respons Code) 1 Bit Bit de poid fort de qclass dans la section Question Bit de poid fort de rrclass dans la section Réponse Compression de nom Principe Format *doit être positionné à 0 lors d'une requête et ignoré à la réception. *doit être positionné à 1 lors d'une réponse pour signaler que l'information est la meilleure
  • 15. IDENTIFIANT (2 octets) QR: Query/Response (1 bit) OPCODE (4 bits) AA Authoritative Answer (1 bit) TC Truncated (1 bit) RD Recursion Desired (1 Bit) RA (Recursion Available) 1 Bit Z (Zero) 1 Bit AD (Authentic Data) 1 Bit CD (Checking Disabled) 1 Bit RCODE (Respons Code) 1 Bit Bit de poid fort de qclass dans la section Question Bit de poid fort de rrclass dans la section Réponse Compression de nom Principe Format *lors d'une requête s'il est à 1 le destinataire doit attendre avant de répondre car d'autre "réponses connues" peuvent suivre ce message. *S'il est à 0 le demandeur n'a pas d'autre "réponse connue". lors d'une réponse multicast, le bit TC doit être à 0 et être ignoré à réception.
  • 16. IDENTIFIANT (2 octets) QR: Query/Response (1 bit) OPCODE (4 bits) AA Authoritative Answer (1 bit) TC Truncated (1 bit) RD Recursion Desired (1 Bit) RA (Recursion Available) 1 Bit Z (Zero) 1 Bit AD (Authentic Data) 1 Bit CD (Checking Disabled) 1 Bit RCODE (Respons Code) 1 Bit Bit de poid fort de qclass dans la section Question Bit de poid fort de rrclass dans la section Réponse Compression de nom Principe Format Il doit être positionné à 0 lors de la transmission et être ignoré à la réception.
  • 17. IDENTIFIANT (2 octets) QR: Query/Response (1 bit) OPCODE (4 bits) AA Authoritative Answer (1 bit) TC Truncated (1 bit) RD Recursion Desired (1 Bit) RA (Recursion Available) 1 Bit Z (Zero) 1 Bit AD (Authentic Data) 1 Bit CD (Checking Disabled) 1 Bit RCODE (Respons Code) 1 Bit Bit de poid fort de qclass dans la section Question Bit de poid fort de rrclass dans la section Réponse Compression de nom Principe Format Il doit être positionné à 0 lors de la transmission et être ignoré à la réception.
  • 18. IDENTIFIANT (2 octets) QR: Query/Response (1 bit) OPCODE (4 bits) AA Authoritative Answer (1 bit) TC Truncated (1 bit) RD Recursion Desired (1 Bit) RA (Recursion Available) 1 Bit Z (Zero) 1 Bit AD (Authentic Data) 1 Bit CD (Checking Disabled) 1 Bit RCODE (Respons Code) 1 Bit Bit de poid fort de qclass dans la section Question Bit de poid fort de rrclass dans la section Réponse Compression de nom Principe Format Bit Comme pour RD et RA, doit être à 0 et ignoré.
  • 19. IDENTIFIANT (2 octets) QR: Query/Response (1 bit) OPCODE (4 bits) AA Authoritative Answer (1 bit) TC Truncated (1 bit) RD Recursion Desired (1 Bit) RA (Recursion Available) 1 Bit Z (Zero) 1 Bit AD (Authentic Data) 1 Bit CD (Checking Disabled) 1 Bit RCODE (Respons Code) 1 Bit Bit de poid fort de qclass dans la section Question Bit de poid fort de rrclass dans la section Réponse Compression de nom Principe Format 1 Bit Comme pour RD..., doit être à 0 et ignoré.
  • 20. IDENTIFIANT (2 octets) QR: Query/Response (1 bit) OPCODE (4 bits) AA Authoritative Answer (1 bit) TC Truncated (1 bit) RD Recursion Desired (1 Bit) RA (Recursion Available) 1 Bit Z (Zero) 1 Bit AD (Authentic Data) 1 Bit CD (Checking Disabled) 1 Bit RCODE (Respons Code) 1 Bit Bit de poid fort de qclass dans la section Question Bit de poid fort de rrclass dans la section Réponse Compression de nom Principe Format 1 Bit Comme pour RD..., doit être à 0 et ignoré.
  • 21. IDENTIFIANT (2 octets) QR: Query/Response (1 bit) OPCODE (4 bits) AA Authoritative Answer (1 bit) TC Truncated (1 bit) RD Recursion Desired (1 Bit) RA (Recursion Available) 1 Bit Z (Zero) 1 Bit AD (Authentic Data) 1 Bit CD (Checking Disabled) 1 Bit RCODE (Respons Code) 1 Bit Bit de poid fort de qclass dans la section Question Bit de poid fort de rrclass dans la section Réponse Compression de nom Principe Format 1 Bit Pour les requêtes et réponses mDNS, le bit RCODE doit être à 0, les messages reçus avec un RCODE différent de 0 doivent être ignorés en "silence".
  • 22. IDENTIFIANT (2 octets) QR: Query/Response (1 bit) OPCODE (4 bits) AA Authoritative Answer (1 bit) TC Truncated (1 bit) RD Recursion Desired (1 Bit) RA (Recursion Available) 1 Bit Z (Zero) 1 Bit AD (Authentic Data) 1 Bit CD (Checking Disabled) 1 Bit RCODE (Respons Code) 1 Bit Bit de poid fort de qclass dans la section Question Bit de poid fort de rrclass dans la section Réponse Compression de nom Principe Format utilisé pour indiquer qu'une réponse unicast est préférée pour cette question.
  • 23. IDENTIFIANT (2 octets) QR: Query/Response (1 bit) OPCODE (4 bits) AA Authoritative Answer (1 bit) TC Truncated (1 bit) RD Recursion Desired (1 Bit) RA (Recursion Available) 1 Bit Z (Zero) 1 Bit AD (Authentic Data) 1 Bit CD (Checking Disabled) 1 Bit RCODE (Respons Code) 1 Bit Bit de poid fort de qclass dans la section Question Bit de poid fort de rrclass dans la section Réponse Compression de nom Principe Format Dans la partie réponse d'une réponse mDNS, le bit de poid fort du champ rrclass est utilisé pour indiquer que l'enregistrement est membre d'un unique RRSet, et que le RRSet entier a été envoyé avec (dans le même paquet ou consécutivement s'il y a trop d'enregistrements pour un paquet).
  • 24. IDENTIFIANT (2 octets) QR: Query/Response (1 bit) OPCODE (4 bits) AA Authoritative Answer (1 bit) TC Truncated (1 bit) RD Recursion Desired (1 Bit) RA (Recursion Available) 1 Bit Z (Zero) 1 Bit AD (Authentic Data) 1 Bit CD (Checking Disabled) 1 Bit RCODE (Respons Code) 1 Bit Bit de poid fort de qclass dans la section Question Bit de poid fort de rrclass dans la section Réponse Compression de nom Principe Format
  • 25. applications • Apple Bonjour : – réalisée par Apple et implémentant la norme Zeroconf de l'IETF • Cette technologie permet donc aux utilisateurs de : – s'affranchir de toute configuration – Il leur suffit de brancher les périphériques les uns aux autres • les imprimantes réseau via Wi-Fi ou Ethernet ; • les imprimantes USB partagées à partir d’un Mac.
  • 27. Limitation • Le fait d’utilisé le multicast encombre le réseau ce qui a un impact négatif sur la band passante sur tout lorsque le nombre d’utilisateur devient plus intéressant • Security : vulnérabilité d’être dans le même réseau MDNS
  • 28. Conclusion • Cette présentation a permis de découvrir le protocole Multicast DNS. • nous avons pu voir que le protocole mDNS allie l'utilité des messages DNS à l'adressage multicast afin de résoudre les noms de machines et de services sur un même lien local. • Il faut néanmoins savoir que ce protocole n'est qu'une base pour des protocoles et des applications situés sur les couches supérieures du modèle OSI - TCP/IP.