Avahi, Bonjour, Zeroconf - UPnP, ssdp - Accenni

Spesso mi sono trovato, in alcume macchine linux, tonnellate di log di questo tipo:

Mar 28 18:43:52 server avahi-daemon[3720]: Recieved repsonse with invalidsource port 2439 on interface 'eth0.0'

Mi sono quindi chiesto a cosa serva avahi-daemon e se si possa disabilitare/disinstallare senza problemi.

Lo scopo dei protocolli/specifiche del titolo è quello di permettere a delle periferiche con interfaccia di rete (wireless o wired)  di autoconfigurarsi, scambiarsi messaggi, annunciare alle altre di essere presente e di dichiarare quali servizi vengono offerti.
La parte di autoconfigurazione di rete e risoluzione automatica dei nomi poco mi importa: ho sempre avuto a che fare con dispositivi/computer  già connessi in rete "manualmente". L'elemento interessante a mio avviso è la localizzazione/notifica  dei servizi esposti su un host configurato e connesso.
Per far questo si usano protocolli come bonjour/avahi che implementano le specifiche zeroconf e utilizzano pacchetti mdns (multicast dns) / dns-sd (dns service discovery) per la parte di localizzazione/notifica dei servizi esposti.

Questa la porta utilizzata

 

Volendo invece utilizzare i protocolli UPnP il service dicovery avverrà tramite il protocollo ssdp (simple service discovery protocol) che utilizza pacchetti udp.

Questa la porta utilizzata

 

Per avere un'idea di che tipo di pacchetti girino su una rete possiamo utilizzare wireshark per intercettare questo tipo di traffico.
Capture Filter: udp port 5353 and net 192.168.0.0/24

 

mDNS_wire_1_hp_printer

Questa per esempio è una multifunzione hp con abilitati i vari web service che si annunciano con mDNS.

Di seguito degli esempi di cattura del protocollo ssdp
Capture Filter: udp port 1900 and net 192.168.0.0/24
Display Filter: udp.dstport == 1900 and http

 

ssdp_wire_1_wd_disk

Qui un nas western digital

 

ssdp_wire_2_win_nt

Qui una vecchia macchina windows xp con attivo il servizio ssdp.

 

avahi-daemon

Per capire perchè è stato installato (probabilmente come dipendenza) avahi-daemon o minissdp si può procedere coi tradizionali strumenti della propria distribuzione

Il pacchetto hplip che generalmente installo insieme a cups suggerisce (per il discovery delle stampanti condivise) di aver installato avahi

Il server bittorent transmission (di cui si potrebbe anche fare a meno) raccomanda la presenza di minissdpd immagino per comunicare con gli altri server bittorrent sulla stessa rete.

Su un'altra macchina in cui ho installato mumble (tipo teamspeak) viene richiesta la presenza di avahi.

Oppure

Su una terza macchina con fedora avahi-daemon non è richiesto da nessuno.

Un servizio "importante" che potrebbe richiedere avahi è cups per effettuare la notifica delle stampanti che vengono condivise dal server sulla rete. In realtà ciò che serve a cups sono le librerie di avahi e non il demone in se per cui, dal mio punto di vista,  è sempre possibile disabilitare questo tipo di protocolli.

 

FASTWEB - Port forward

Una piccola nota riguarda i router forniti da fastweb e configurabili tramite l'interfaccia online della myfastpage. Volendo fare un port-forward su una periferica connessa alla rete interna e volendo assegnare un indirizzo ip fisso alla stessa senza faerglielo assegnare dinamicamente dal router,  è indispensabile attivare uno di questi servizi (tipicamente UPnP)  che comunicherà al router di fastweb che la periferica esiste ed è attiva. In assenza di questi servizi attivi sulla periferica,  il router "intelligentemente" penserà che essa sia spenta e non effettuerà il port forwarding configurato.

 

 

Print Friendly, PDF & Email