Architetture per la riservatezza, integrità e disponibilità dei dati nei sist...
zeroconf
1. ZEROCONF
Zero Configuration Network
a cura di Victor Portarescu e Vittorio Merito
Seminario per il corso di Protocolli di Rete del Docente Francesco Dalla Libera
Corso di Laurea in Informatica
Anno accademico 2008 / 2009
Dipartimento di Informatica
Università Ca' Foscari, Venezia
2. Sommario
Rete: possibili scenari
Zeroconf: introduzione
Panoramica dei servizi offerti
Dettagli dei servizi
Implementazioni più significative
Conclusioni
Protocolli di Rete '09 ZEROCONF 2 / 12
4. Zeroconf: introduzione
1997: IETF (Internet Engineering Task Force) Zeroconf Working Group
1999: primi sviluppi
Zeroconf (Zero Configuration Network): configurazione automatica di rete, senza interventi dell'utente
Soprattutto per piccole reti “local link” e “ad hoc”
Piena compatibilità con sistemi pre-esistenti
2009: nessuno standard rilasciato, per ora
Protocolli di Rete '09 ZEROCONF 4 / 12
5. Panoramica dei servizi offerti
IP Address configuration
DNS configuration
Service Discovery:
SLP (Service Location Protocol)
DNS-SD (DNS based Service Discovery)
SSDP (Simple Service Discovery Protocol)
Protocolli di Rete '09 ZEROCONF 5 / 12
6. IP Address configuration
DHCP, se presente
Link-Local Address Autoconfiguration:
Scelta di un valore random da parte dell'host
Utilizzo di tale valore per la creazione di un indirizzo in 169.254.0.0 / 16
(non tutti disponibili: i primi e gli ultimi 256 destinati ad usi futuri)
ARP Request per l'indirizzo scelto
(se già in uso, riformulazione dell'indirizzo)
Autoassegnazione dell'indirizzo
Ascolto del canale per difendere il proprio indirizzo da successive ARP Request
Protocolli di Rete '09 ZEROCONF 6 / 12
7. DNS configuration
DNS, se presente
MDNS (multicast DNS) della Apple:
Scelta di un nome in .local
Interrogazione della rete per scoprire se già in uso
Comunicazione agli altri host (multicast su 224.0.0.251)
IETF perplessità: problemi di semantica
LLMNR (Link-Local Multicast Name Resolution) di Microsoft:
Libera scelta da parte dell'host
Eventuale nuova scelta se già in uso
IETF perplessità: problemi di sicurezza
Protocolli di Rete '09 ZEROCONF 7 / 12
8. Service Discovery (1): SLP (Service Location Protocol)
Sviluppato da IETF; copyright della Internet Society
UA (User Agent): richiede un servizio
SA (Service Agent): fornisce il servizio
DA (Direcory Agent): cache dei servizi / fornitori
Multicast Service Request
User Agent Service Agent
Unicast Service Reply
Unicast Service Request Unicast Service Acknowledge
User Agent Directory Agent Service Agent
Unicast Service Reply Unicast Service Registry
Multicast DA
User / Service
Multicast “DA” Service Request Directory Agent
Agent
Unicast “DA” Service Reply
Ottimo sistema di ricerca VS rischio di sovraccarico della rete
Protocolli di Rete '09 ZEROCONF 8 / 12
9. Service Discovery (2): DNS-SD (DNS based Service Discovery)
Sviluppato da Apple
Servizi generici: SRV Resource Record
SRV RR: <Service> <Domain>
esempio: _http._tcp . pippo.com
Servizi specifici: PTR Record (liste di SIN)
SIN (Service Instance Name): <Instance> <Service> <Domain>
esempio: _penelope . _ipp._tcp . pluto.it
Servizi con più opzioni specifiche: TXT Record con più campi
Service Record Request
“Client” DNS
Service Provider IP / Port
Poco carico di rete VS DNS necessario, nessun sistema di ricerca
Protocolli di Rete '09 ZEROCONF 9 / 12
10. Service Discovery (3): SSDP (Simple Service Discovery Protocol)
Sviluppato da IETF, utilizzato da UPnP (Universal Plung and Play) di Microsoft
Identificazione di un servizio: URI – USN
URI (Uniform Resource Name): particolare servizio esempio: stampante
USN (Unique Service Name): particolare istanza del servizio esempio: penelope
Comunicazione tramite DCP (Device Control Protocol) per mezzo di messaggi HTTP
Multicast HTTP Discovery Request
“Client” “Server”
Unicast HTTP Response
cache
“Client” Multicast HTTP Self-Advertising “Server”
cache
Semplicità di utilizzo e implementazione VS lentezza di sviluppo (approvazione nuovi DCP)
Protocolli di Rete '09 ZEROCONF 10 / 12
11. Implementazioni più significative
Bonjour (ex Rendezvous) prodotta da Apple
Utilizza mDNS e DNS-SD
Distribuita per Mac OS X, Sistemi BSD, Posix, Linux, Windows
Avahi
Utilizza IPv4LL, mDNS e DNS-SD
Presente in tutte (quasi) le distribuzioni Linux
Windows CE 5.0
Basata su UPnP, utillizza una versione proprietaria Microsoft di LLMNR
Non compatibile con altre piattaforme
Protocolli di Rete '09 ZEROCONF 11 / 12
12. Conclusioni
Acerbo: nessuno standard
Molto utile in “piccole” reti
Reti con centinaia o migliaia di unità: meglio DHCP
Discreto rischio di sovraccarico di reti, in seguito a “cadute” o malfunzionamenti
(soprattutto Service Discovery)
Nessuna implementazione per la sicurezza
FINE
“Si ringrazia per la cortese attenzione”
V. P. & V. M.
Protocolli di Rete '09 ZEROCONF 12 / 12