Appleblog.cz

Appleblog.cz

Mar 13 / 2:27am

Technologie Apple Bonjour

Pořídil jsem si zařízení Airport Express a byl jsem velice příjemně překvapen, jak jednoduše a bezproblémově tato krabička funguje co se týká připojení ostatních zařízení v síti. Za vším stojí Apple Bonjour, což je tzv. Zero Conf technologie pro bezúdržbovou správu zařízení v rámci počítačové sítě. 

V praxi to vypadá následovně - do počítačové sítě připojíte novou síťovou tiskárnu (třeba obyčejnou černobílou laserovku pomocí routeru Airport Extreme). Na všech počítačích v síti se tiskárna nabídne pro tisk, aniž by bylo potřeba zadávat její IP adresu, nastavovat cestu atd. Druhý den dojde k resetu routeru, který přiděluje IP adresy a tiskárna dostane novou IP adresu. Nic se neděje, všechny počítače se pomocí Bonjour dozví o této změně a uživatelé nemusí nic nastavovat. Připojíte se s počítačem místo kabelem do WiFi která je na jiné podsíti. Opět nevadí, Bonjour si svojí cestičku najde.

Co vše funguje pomocí Bonjour? Ve světe Apple téměř vše. Bonjour dokáže zastoupit DHCP server a přidělovat IP adresy, provádět překlady jmenných názvů hostitelů bez DNS serveru a nabízet síťové služby bez použití adresářových technologií jako Active Directory nebo Open Directory. Bonjour najdete v iPhone Remote, iTunes sdílení hudby, Airtunes, iChatu, Skype atd. Možnosti Bonjour jsou ale mnohem širší, než pouhé inzerování služeb na TCP a UDP portech. Bonjour umí nabízet přímo určitou webovou stránku, umí nabídnout černobílý tisk na barevné tiskárně atd. 

Bonjour pracuje pomocí dvou technologií - mDNS a DNS-SD. U obou technologií se jedná o rozšíření standardu DNS (Domain Name System), který zajišťuje přidělování názvů domén v internetu a jeho hlavními výhodami jsou hierarchická organizace a decentralizace záznamů (informace se ukládají do cache na ostatních serverech, takže se výrazně zrychlují opakované dotazy).

Technologie mDNS neboli Multicast-DNS je služba pracující obdobně jako DNS server, ale multicast metodou. Každé Bonjour zařízení v sobě obsahuje mDNS server. Pokud chce zařízení zjistit adresu jiného zařízení  v síti, vyšle dotaz na multicast IP adresu (v IPv4 je to 224.0.0.251). Tento dotaz obdrží všechny zařízení v síti a to, které je hledáno, odpoví. 

Druhá technologie DNS-SD (DNS Service Discovery) zajišťuje inzerování služeb zařízení. U služby se definuje port, typ portu (UDP, TCP), název služby a seznam TXT záznamů, které obsahují doplňující informace ke službě.

Služby mDNS a DNS-SD serveru zajišťuje daemon mDNSResponder na UDP portu 5353. Pro zjištění zařízení a registraci služeb lze použít klienta pro příkazovou řádku mDNS. Tento příkaz slouží ke zjišťování aktivních Bonjour služeb (např. mDNS -B _http._tcp vypíše všechny webové stránky nabízené přes Bonjour, mDNS -B _airport._tcp zobrazí nalezené Airport routery). Dále lze s jeho pomocí registrovat nové služby - např. mDNS -R "Uvitaci stranka" _http._tcp . 80 path=/welcome.php vytvoří záložku pro Bonjour kompatibilní prohlížeče (např. Safari). Seznam typů služeb je na http://www.dns-sd.org/ServiceTypes.html.

Zkuste si v příkazové řádce zadat příkaz ping 224.0.0.251. Uvidíte odezvy od všech zařízení s aktivním mDNSResponder serverem (v mém případě Airport Express, MacBook a pokud spustím na iPhonu aplikaci Remote, tak i iPhone).

Bonjour klient existuje kromě verze pro Mac OS X také pro Windows. Zdrojový kód pro mDNSResponder je uvolněn pod Apache licencí, existují verze i pro Linux, Solaris, FreeBSD aj.

V galerii je screenshot příkazové řádky s aktivní instancí mDNS nabízející službu http a ukázka zobrazení této služby v prohlížeči Safari.

Další informace:

   
Click here to download:
Technologie_Apple_Bonjour.zip (138 KB)

1 comment

Mar 15, 2010
root said...
U apple ma uz nic prekvapit nemoze, je to jednoducho 1, co sa tyka uzivatelskeho komfortu. [Hodnotim to ako 15 rocny pouzivatel Windows, ktory nakoniec pochopil, ze jedine Apple je to prave :)]

Leave a comment...