Il Domain Name System (DNS) può essere pensato come un grande elenco te­le­fo­ni­co: il servizio consente agli utenti di inserire gli indirizzi web nel loro browser, dopodiché il sistema determina l’indirizzo IP corretto. Questa ri­so­lu­zio­ne del nome funziona tramite richieste dal proprio computer a un server DNS cor­ri­spon­den­te. Qui viene me­mo­riz­za­to un elenco in cui viene assegnato l’indirizzo IP corretto per ogni nome host (cioè l’indirizzo web). Il Multicast DNS adotta, tuttavia, un approccio diverso. Come funziona questa al­ter­na­ti­va al DNS tra­di­zio­na­le?

Come funziona il DNS Multicast?

Il DNS Multicast (mDNS) è un servizio che mira a risolvere la ri­so­lu­zio­ne dei nomi in reti più piccole. Esso adotta un approccio diverso rispetto al noto DNS: invece di inviare richieste a un server di nomi, i par­te­ci­pan­ti della rete sono tutti con­tat­ta­ti di­ret­ta­men­te. Il relativo client invia un multicast nella rete e chiede a quale par­te­ci­pan­te della rete cor­ri­spon­de il nome host. Un multicast è una forma speciale di co­mu­ni­ca­zio­ne in cui un singolo messaggio è in­di­riz­za­to a un gruppo di de­sti­na­ta­ri. Il gruppo può essere co­sti­tui­to, ad esempio, dall’intera rete o sottorete.

In questo modo, la richiesta arriva anche al membro del gruppo che ha il nome host ricercato. Questo risponde a tutta la rete, sempre tramite multicast. In questo modo tutti i par­te­ci­pan­ti vengono informati sul col­le­ga­men­to del nome e dell’indirizzo IP e possono ef­fet­tua­re una re­gi­stra­zio­ne cor­ri­spon­den­te nella loro cache mDNS. Quindi, finché questa voce rimane valida, nessuno all’interno della rete avrà bisogno di chiedere nuo­va­men­te questo nome host.

Il DNS Multicast causa un traffico re­la­ti­va­men­te elevato, ma cerca at­ti­va­men­te di ri­spar­mia­re le risorse di rete: a tal fine, il client ri­chie­den­te invia la risposta corretta secondo il suo parere (cioè secondo l’attuale voce della cache). Solo se questa non è più corretta, o se l’iscri­zio­ne sta per scadere, il de­sti­na­ta­rio deve ri­spon­de­re. Anche gli altri par­te­ci­pan­ti della rete ne vengono informati prima di inviare una risposta. Il traffico all’interno della rete può quindi essere ridotto grazie a questo metodo.

In generale, con il Multicast DNS possono essere uti­liz­za­ti solo i nomi host che terminano con .local. Ciò limita questa forma di ri­so­lu­zio­ne dei nomi alle reti locali. I nomi host con altri Top Level Domains (TLD), come .it o .com, non vengono elaborati dal mDNS; quindi, gli indirizzi web non possono essere risolti in questo modo.

N.B.

Il Multicast DNS è stato svi­lup­pa­to nei primi anni '20 ed è descritto nel RFC 6762.

Il mDNS è stato svi­lup­pa­to nel contesto del Zeroconf (Zero Con­fi­gu­ra­tion Net­wor­king). L’idea alla base del Zero Con­fi­gu­ra­tion Net­wor­king è quella di per­met­te­re ai computer di co­mu­ni­ca­re tra loro senza la necessità di una con­fi­gu­ra­zio­ne pre­li­mi­na­re. Il Multicast DNS soddisfa questi requisiti: la procedura Multicast fa parte di TCP/IP e può quindi fun­zio­na­re senza alcuna con­fi­gu­ra­zio­ne.

Vantaggi del mDNS

Il Multicast DNS è pro­get­ta­to per piccole reti e dovrebbe aumentare la facilità d’uso, con­sen­ten­do agli utenti di collegare i di­spo­si­ti­vi nella loro LAN domestica senza problemi. Poiché tutti i di­spo­si­ti­vi con­di­vi­do­no i loro indirizzi IP, non è ne­ces­sa­rio con­fi­gu­ra­re un server o una directory. In questo modo è possibile ag­giun­ge­re ulteriori di­spo­si­ti­vi in modo molto dinamico e veloce.

Un’im­ple­men­ta­zio­ne popolare del mDNS è Bonjour di Apple. Il servizio è pro­get­ta­to prin­ci­pal­men­te per collegare fa­cil­men­te le stampanti di rete al PC o al Mac. Poiché gli ap­pa­rec­chi si informano re­ci­pro­ca­men­te sui loro indirizzi IP, l’utente non deve prima con­fi­gu­ra­re la con­nes­sio­ne. Oltre al servizio di Apple, anche il software open source Avahi può ora essere uti­liz­za­to come servizio mDNS. Anche in questo caso è possibile collegare tra loro diversi di­spo­si­ti­vi senza dover eseguire prima un lavoro di con­fi­gu­ra­zio­ne. A partire da Windows 10, il mDNS è di­spo­ni­bi­le anche nel sistema operativo di Microsoft.

Svantaggi e rischi del Multicast DNS

Tuttavia, alla facilità d’uso si af­fian­ca­no alcuni svantaggi. Un problema risiede nella procedura Multicast stessa. Sebbene il pro­to­col­lo cerchi di mantenere basso il traffico della rete, i computer par­te­ci­pan­ti devono mo­ni­to­ra­re co­stan­te­men­te la rete ed elaborare i messaggi in arrivo. Questo richiede potenza di calcolo.

Inoltre, l’as­se­gna­zio­ne dei nomi host è pro­ble­ma­ti­ca: dal momento che è possibile scegliere li­be­ra­men­te un nome per ogni di­spo­si­ti­vo, a con­di­zio­ne che termini in .local., questo può portare (almeno teo­ri­ca­men­te) a due di­spo­si­ti­vi di rete con lo stesso nome host. Gli svi­lup­pa­to­ri del mDNS non hanno vo­lu­ta­men­te proposto una soluzione a questo problema. Da un lato, si presume che il caso si verifichi di rado, dall’altro la doppia de­no­mi­na­zio­ne può essere in­ten­zio­na­le.

Esiste inoltre un vero e proprio pericolo. In alcuni casi il mDNS è aperto. Ciò significa che risponde anche alle richieste pro­ve­nien­ti dall’esterno (via Internet). I criminali in­for­ma­ti­ci possono trovare tali servizi aperti e uti­liz­zar­li per attacchi DDoS, usando i di­spo­si­ti­vi di rete in modo improprio e prendendo di mira un server. Inoltre, in un DNS Multicast anche i dati sensibili possono essere rilevati. In questo modo gli hacker possono ad esempio leggere gli indirizzi MAC degli ap­pa­rec­chi collegati e uti­liz­za­re queste in­for­ma­zio­ni per ulteriori attacchi.

Vai al menu prin­ci­pa­le