Einleitung
In einer Zeit, als man in unserem Land von einem Computer überhaupt nur träumen konnte, geschweige denn jemanden zu kennen, der auch einen hat und es strafbar war Drucker überhaupt zu besitzen oder ein Netzwerk aufzubauen, hatte in den USA ein Hersteller bereits Probleme gelöst, die viele Menschen bis heute haben. Wie finde ich in einem Netzwerk Geräte auf, kann sie identifizieren und ansprechen?
Apple hatte für diese Frage mit dem ersten Macintosh bereits die Antwort geliefert. Mit einem einfachen, zwei-adrigen Klingeldraht konnte man zwei Macs verbinden, die sich auf Anhieb miteinander verstanden und Daten austauschen konnten. Später kamen Drucker hinzu, richtiges Netzwerk und als Apple sein Betriebssystem auf die Unix-Plattform stellte, waren plötzlich alle Erungenschaften der guten alten Welt verloren? Das konnte nicht sein!
Als 1984 der erste Macintosh auf den Markt kam, hatte er bereits serielle Schnittstellen für Drucker und Modem eingebaut. Mit Hilfe dieser Schnittstellen konnte er mit anderen Macs und Druckern interagieren. Mit dem System 2.0 integrierte man bereits Appletalk in das Betriebssystem. Außerdem kam der Apple LaserWriter auf den Markt (April 1985).
Appletalk
Ursprünglich wurde Appletalk als Teil des Macintosh Office Projektes entwickelt. Das Projekt wurde 1986 eingestellt, aber Apple Talk überlebte im LaserWriter und nachfolgenden Betriebssystemgenerationen.
Appletalk folgte bereits dem OSI Modell und hatte im wesentlichen zwei Protokolle integriert. Das AARP (Appletalk Address Resolution Protocol) sorgte dafür, einer Schnittstelle automatisch eine Adresse zuzuweisen. Ein Gerät meldet sich im Netzwerk an, beobachtet den Verkehr und sucht sich selbstständig eine freie Adresse. Außerdem beinhaltete es das NBP (Name Binding Protocol). Dieses Protokoll sorgte als eine art DNS dafür Adressen in Namen aufzulösen.
In Kombination führten diese beiden Protokolle dazu, dass Appletalk ohne Konfiguration in Betrieb genommen werden konnte und damit dem Ruf Apples “es funktioniert einfach” gerecht wurde. Mit Hilfe eines Programms im Betriebssystem mit dem Namen “Chooser” konnte der Benutzer ganz einfach alle Geräte im Netzwerk sehen und deren Typ und Standort feststellen.
Name Binding Protocol
Das Name Binding Protocol sorgt dafür, dass jede Entität in einem Netzwerk einen Namen in der Form “Name:Typ@Zone”. Jede Entität ist dafür zuständig selbst zu wissen, wie sie mit verschiedenen Entitätentypen umzugehen hat. Es gab da zum Beispiel den Typen “LaserWriter” und jeder Mac wusste, dass er dieses Gerät über das PAP (Printer Access Protocol) ansprechen kann.
Das heißt, dass NBP integriert nicht nur eine Namens, sondern auch eine Typenauflösung. Ähnlich der Bluetooth-Technologie gibt jedes Gerät direkt Preis welche Dienste es anbietet. Der Chooser zeigte die Geräte im Netz unterteilt in Zonen und Typen an.
Das Protocol unterstützte auch den Ethernet Multicast, mit dessen Hilfe man mit einem Paket alle Rechner erreichen konnte, um zu fragen “Wer hat denn einen LaserWriter?” und der Chooser präsentierte alle antwortenden Geräte.
Und nun Bonjour
Mit dem Wechsel Apples zu Mac OS X und damit dem Plattformwechsel zu Unix verlor Apple viele Features, die in den alten Mac OS Versionen jahrelang viele Nutzer glücklich machten. Appletalk ging unter, da Mac OS X nun, wie alle anderen Betriebssysteme am Markt, komplett auf IP-Netze baute.
IPv4, die auch im Moment noch weit verbreitete Version des Internet Protokolls, hatte zwar die Fähigkeit, sicher Pakete zu übertragen und einen großen Adressraum zur Verfügung. Aber viele andere Probleme, darunter Namensauflösung und eigenständige Adressgebung, konnte es nicht lösen. Dazu sind in IP-Netzen eigene Services auf anderen Layern implementiert, bekannt als DNS und DHCP.
Die Konfiguration eines IP-Netzes – oder gar der Kommunikation zwischen mehreren – ist ungleich aufwändiger als die Konfiguration eines Appletalk Netzes, dass sich ganz von alleine – nämlich ohne Zutun des Nutzers –einrichtet. Dieser Missstand wurde von Benutzern des neues Apple Betriebssystems erkannt und bemängelt weshalb sich Apple daran machte das Problem zu lösen.
Apple implementierte eine Version des Zeroconf Service, die den Namen “Bonjour” bekam und über sogenannten multicast DNS dafür sorgte Geräte im Netzwerk zu finden, Namen aufzulösen, Services zu finden und so ein Null-konfigurations-Netzwerk zu ermöglichen.
Dazu kommt eine Technologie namens DNS-Service Discovery. Im DNS Eintrag einer IP findet sich also neben dem Hostnamen noch weitere Informationen über Services und benötigte Parameter dazu. Eine vollständige Liste aller Services wird von dns-sd.org verwaltet.
Die beiden Dienste mDNS und DNS-SD bilden den Grundstock für ein Netzwerk, dass wie Appletalk keine Konfiguration benötigt, selbstständig ein Netzwerk aufbaut und Services und den Umgang mit diesen impliziert. Es wurde von Stuart Cheshire entwickelt. Der Person, die die Debatte um den Untergang von Appletalk angestiftet hatte und später zur Lösung des Problems bei Apple eingestellt wurde.
Das Ergebnis dieser Technik sieht jeder Apple User heute, wenn er seinen mobilen Mac in ein Netzwerk hängt und innerhalb weniger Sekunden alle erreichbaren Windows und Mac-Freigaben auffindet, sich über iTunes mit den Musikbibliotheken anderer Verbindet und sogar mit völlig fremden Personen im gleichen Netzwerk chatten kann.
Bonjour ist ein Dienst, wie viele unter Mac OS X, der hauptsächlich im Hintergrund seine Arbeit verrichtet und sich lediglich durch sein erfolgreiches Funktionieren bemerkbar macht, wenn man weiß wie IP-Netze eigentlich funktionieren.
Der Bonjour Dienst steht unter einer eingeschränkten Lizenz, die es anderen erlaubt Bonjour als Freeware in eigene Programme zu integrieren. Für den mDNSResponder ist der Quellcode unter der Apache Lizenz zugänglich. Damit hat Apple eine Technologie entwickelt, die heute auch unter Windows und Linux einsatzfähig ist und von mehreren anderen Herstellern verwendet wird.
Hauptsächlich Drucker werden mit diesem Service versehen, der sich vor allem dadurch von anderen unterscheidet, als dass er auf einem sehr niedrigen – einfach zu implementierenden – OSI Layer stattfindet.
Quellen:
- http://en.wikipedia.org/wiki/LaserWriter
- http://de.wikibooks.org/wiki/Computerhardware_f%C3%BCr_Anf%C3%A4nger#Laserdrucker
- http://en.wikipedia.org/wiki/Mac_OS_history
- http://www.stuartcheshire.org/rants/NBP.html
- http://www.stuartcheshire.org/rants/NBPIP.html
- http://de.wikipedia.org/wiki/Bonjour_(Apple)
- http://en.wikipedia.org/wiki/Bonjour_(software)
- http://en.wikipedia.org/wiki/Zeroconf
- http://en.wikipedia.org/wiki/DE-9
- http://en.wikipedia.org/wiki/Macintosh_128K










