Documente Academic
Documente Profesional
Documente Cultură
Laborator 5
mDNS şi DNS-SD
(anul universitar 2021-2022)
Listă tabele
Listă figuri
Fig. 1 Exemplu de interacţiune mDNS 1
1
1. Scopul laboratorului
2. mDNS
Multicast DNS este un protocol de comunicaţie care are ca scop principal identificarea
adreselor IP asociate numelor de domeniu interogate. Tipurile de resurse vehiculate sunt
aceleaşi ca ı̂n cazul infrastructurii DNS standard, ı̂nsă comunicaţia se realizează descen-
tralizat prin intermediul grupului multicast 224.0.0.251 (ff02::fb pentru IPv6).
Mai exact, un echipament dintr-o reţea locală se asociază grupului multicast indicat mai
sus şi porneşte un server mDNS (resolver) la nivelul căruia va configura un nume. Ulterior,
serverul va răspunde la interogări recepţionate la nivelul grupului multicast pentru resursa
nume.local (.local este domeniul implicit folosit de către mDNS, convenţional având
vizibilitatea limitată la nivelul reţelei locale). Răspunsurile sunt trimise ı̂n mod implicit
la nivelul grupului multicast, existând şi posibilitatea de trimitere unicast (alegerea se real-
izează ı̂n vederea reducerii numărului de pachete generate de mDNS ı̂n funcţie de specificul
sistemelor - dacă au capacitatea de stocare a unui cache se foloseşte varianta multicast, dacă
nu, se foloseşte varianta unicast).
1
3. DNS-SD
Implementarea mDNS poate fi folosită şi pentru descoperirea unor servicii expuse la nivel
de reţea locală. De exemplu, o imprimantă de reţea poate răspunde la interogări pentru
servicii de tip printer şi poate oferi detalii referitoare la ce nume/adresă IP are configurată,
setări implicite, cale de acces (ex. interfaţă web) etc.
Numele de servicii sunt stocate prin intermediul ı̂nregistrărilor de tip PTR. Cheia folosită
are forumatul tip serviciu. protocol, unde tip serviciu este un nume de serviciu
proprietar sau ı̂nregistrat de către IANA (lista aici), iar protocol este tipul protocolului
de nivel transport folosit ( tcp sau udp). Înregistrarea PTR include şi un nume de instanţă
pe lângă tipul serviciului şi protocol pentru a putea interoga ulterior şi celelalte ı̂nregistrări
ale serviciului.
• SRV - conţine informaţii despre locaţia serviciului (nume gazdă şi număr de port)
• TXT - conţine informaţii suplimentare care sunt necesare accesării serviciului (ex.
cale implicită, dimensiuni buffere, valori temporizare)
Info
Pentru descoperirea tuturor serviciilor disponibile ı̂n domeniul local poate fi realizată
o interogare pentru ı̂nregistrarea PTR cu cheia services. dns-sd. udp.local.
Toate serverele mDNS care expun servicii vor răspunde ı̂n mod automat.
4. Sarcini de lucru
2
2. Creaţi un proiect nou, importaţi din laboratoarele trecute codul folosit pentru conectarea
la AP-ul din laborator. Configuraţi numele platformei (mdns hostame set()) pe
baza numelul vostru de familie ı̂n formatul esp32-numedefamilie.local. Descoperiţi
adresele IP configurate pe platformele colegilor folosind funcţia mdns query a() şi
afişaţi-le sub formă de listă.
4. Creaţi un proiect nou şi importaţi codul scris pentru sarcina de lucru 2 din laboratorul
3 (controlul LED-ului de pe o altă platformă ESP32 prin trimiterea de datagrame
UDP).
În cazul respectivei aplicaţii o limitare era reprezentată de cunoaşterea anterioară a
adresei IP a platformei către care se trimiteau datagrame. De aceea, codul va fi extins
ı̂n următorul mod:
Pentru recepţie:
Astfel, nu mai este necesară cunoaşterea adresei IP a plăcii şi a portului folosit la
nivelul socket-ului pentru controlul LED-ului la distanţă.
Pentru transmisie:
3
Materiale de studiu
Erată
Descrierea problemei: Platforma răspunde foarte rar la interogări mDNS, astfel făcând
dificilă descoperirea numelui sau a serviciilor expuse.
Analiza problemei: În urma depanării s-a observat că recepţia cadrelor multicast se re-
alizează foarte rar. Imposibilitatea de recepţie a tuturor cadrelor multicast/broadcast este
normală ı̂n reţelele Wi-Fi (dar nu la scara observată) deoarece:
• aceste cadre sunt trimise cu confirmare de la o staţie către AP, dar sunt trimise necon-
firmat de la AP către restul staţiilor
• ı̂n cazul ı̂n care există staţii conectate care folosesc mecanismului de management
al consumului (IEEE 802.11 Power Management Protocol), AP-ul stochează ı̂ntr-un
buffer cadrele multicast/broadcast pe perioada DTIM şi le livrează la cerere staţiilor
la sfârşitul perioadei
Corelând informaţiile de mai sus cu faptul că ı̂n mod implicit interfaţa Wi-Fi a platformei
este configurată să folosească modul de management al consumului (PS), experimental s-au
observat următoarele: