AppleTalk - AppleTalk

AppleTalk
Protokollstack
AppleTalk-Logo von Control Panel.gif
Entwickler Apple Inc.
Eingeführt 1985 ; Vor 36 Jahren ( 1985 )
Hardware LocalTalk , andere

AppleTalk ist eine eingestellte proprietäre Suite von Netzwerkprotokollen, die von Apple Inc. für ihre Macintosh-Computer entwickelt wurde . AppleTalk enthält eine Reihe von Funktionen, die es ermöglichen, lokale Netzwerke ohne vorherige Einrichtung oder die Notwendigkeit eines zentralisierten Routers oder Servers jeglicher Art zu verbinden. Verbundene mit AppleTalk ausgestattete Systeme weisen automatisch Adressen zu, aktualisieren den verteilten Namensraum und konfigurieren jedes erforderliche Routing zwischen Netzwerken.

AppleTalk wurde 1985 veröffentlicht und war das primäre Protokoll, das von Apple-Geräten in den 1980er und 1990er Jahren verwendet wurde. Es wurden auch Versionen für den IBM PC und Kompatible und den Apple IIGS veröffentlicht . AppleTalk-Unterstützung war auch in den meisten Netzwerkdruckern (insbesondere Laserdruckern ), einigen Dateiservern und einer Reihe von Routern verfügbar .

Der Aufstieg von TCP/IP in den 1990er Jahren führte zu einer Neuimplementierung der meisten dieser Arten von Unterstützung für dieses Protokoll, und AppleTalk wurde mit der Veröffentlichung von Mac OS X 10.6 im Jahr 2009 nicht mehr unterstützt. Viele der fortschrittlicheren Autokonfigurationsfunktionen von AppleTalk haben wurde seither in Bonjour eingeführt , während Universal Plug and Play ähnliche Anforderungen erfüllt.

Geschichte

AppleNet

Nach der Veröffentlichung des Apple-Lisa- Computers im Januar 1983 investierte Apple erhebliche Anstrengungen in die Entwicklung eines Local Area Networking (LAN)-Systems für die Maschinen. Bekannt als AppleNet , basierte es auf dem bahnbrechenden Xerox XNS- Protokollstack , lief jedoch auf einem benutzerdefinierten 1-Mbit/s- Koaxialkabelsystem und nicht auf dem 2,94-Mbit/s- Ethernet von Xerox . AppleNet wurde Anfang 1983 mit einer vollständigen Einführung zum Zielpreis von 500 US-Dollar für AppleNet-Plug-in-Karten für Lisa und Apple II angekündigt .

Zu dieser Zeit kamen gerade frühe LAN-Systeme auf den Markt, darunter Ethernet , Token Ring , Econet und ARCNET . Dies war damals ein Thema großer kommerzieller Bemühungen und dominierte Shows wie die National Computer Conference (NCC) in Anaheim im Mai 1983. Alle Systeme kämpften um ihre Position auf dem Markt, aber selbst zu dieser Zeit deutete die breite Akzeptanz von Ethernet darauf hin sollte zum De-facto- Standard werden. Bei dieser Show stellte Steve Jobs Gursharan Sidhu eine scheinbar harmlose Frage: "Warum hat sich Networking nicht durchgesetzt?"

Vier Monate später, im Oktober, wurde AppleNet abgesagt. Damals gaben sie bekannt, dass "Apple erkannt hat, dass es nicht in der Branche liegt, ein Netzwerksystem zu entwickeln. Wir haben AppleNet intern entwickelt und verwendet, aber uns wurde klar, dass wir, wenn wir es ausgeliefert hätten, neue Standards gesehen hätten. " Im Januar kündigte Jobs an, stattdessen IBMs Token Ring zu unterstützen, den er in "einigen Monaten" erwartete.

AppleBus

Während dieser Zeit war Apple tief in der Entwicklung des Macintosh-Computers. Während der Entwicklung hatten die Ingenieure die Entscheidung getroffen, den Zilog 8530 Serial Controller Chip (SCC) anstelle des kostengünstigeren und gebräuchlicheren UART zu verwenden, um serielle Portverbindungen bereitzustellen . Der SCC kostete etwa 5 US-Dollar mehr als ein UART, bot jedoch viel höhere Geschwindigkeiten von bis zu 250 Kilobit pro Sekunde (oder höher mit zusätzlicher Hardware) und unterstützte intern eine Reihe grundlegender netzwerkähnlicher Protokolle wie IBMs Bisync .

Der SCC wurde gewählt, weil er den Anschluss mehrerer Geräte an den Port ermöglicht. Peripheriegeräte, die mit ähnlichen SCCs ausgestattet sind, könnten unter Verwendung der eingebauten Protokolle kommunizieren und ihre Daten mit anderen Peripheriegeräten auf demselben Bus verschachteln. Dies würde die Notwendigkeit von mehr Ports auf der Rückseite des Geräts beseitigen und ermöglicht den Wegfall von Erweiterungssteckplätzen zur Unterstützung komplexerer Geräte. Das ursprüngliche Konzept war als AppleBus bekannt und stellte sich ein System vor, das vom Host-Macintosh gesteuert wird, der "dumme" Geräte abfragt , ähnlich dem modernen Universal Serial Bus .

AppleBus-Netzwerk

Das Macintosh-Team hatte bereits mit der Arbeit an dem späteren LaserWriter begonnen und eine Reihe anderer Optionen in Betracht gezogen, um die Frage zu beantworten, wie diese teuren Maschinen und andere Ressourcen gemeinsam genutzt werden können. Eine Reihe von Memos von Bob Belleville verdeutlichten diese Konzepte und skizzierten den Mac, LaserWriter und ein Dateiserversystem , aus dem das Macintosh Office werden sollte . Ende 1983 war klar, dass IBMs Token Ring nicht rechtzeitig zum Start des Mac fertig sein würde und möglicherweise auch die Einführung dieser anderen Produkte verpassen würde. Am Ende wurde Token Ring erst im Oktober 1985 ausgeliefert.

Jobs' frühere Frage an Sidhu hatte bereits eine Reihe von Ideen geweckt. Als AppleNet im Oktober abgesagt wurde, bemühte sich Sidhu um die Entwicklung eines neuen Netzwerksystems auf Basis der AppleBus-Hardware. Dieses neue System muss sich nicht an bestehende Vorurteile halten und ist dem Mac würdig – ein System, das vom Benutzer installierbar ist, keine Konfiguration hat und keine festen Netzwerkadressen hat – kurz gesagt, ein echtes Plug-and- -Netzwerk spielen. Es war beträchtlicher Aufwand erforderlich, aber als der Mac veröffentlicht wurde, waren die grundlegenden Konzepte umrissen und einige der Low-Level-Protokolle waren auf dem Weg zur Fertigstellung. Sidhu erwähnte die Arbeit gegenüber Belleville nur zwei Stunden nach der Ankündigung des Mac.

Der "neue" AppleBus wurde Anfang 1984 angekündigt und ermöglichte eine direkte Verbindung vom Mac oder Lisa durch eine kleine Box, die in den seriellen Port eingesteckt und über Kabel mit dem nächsten vor- und nachgelagerten Computer verbunden wurde. Auch Adapter für Apple II und Apple III wurden angekündigt. Apple kündigte auch an, dass AppleBus-Netzwerke an ein Token-Ring-System angeschlossen werden könnten und als einzelner Knoten innerhalb eines Token-Ring-Systems erscheinen würden. Details, wie dies funktionieren würde, waren skizzenhaft.

AppleTalk Persönliches Netzwerk

Kurz vor seiner Veröffentlichung Anfang 1985 wurde AppleBus in AppleTalk umbenannt . Ursprünglich als AppleTalk Personal Network vermarktet , umfasste es eine Familie von Netzwerkprotokollen und eine physikalische Schicht.

Die Bitübertragungsschicht hatte eine Reihe von Einschränkungen, darunter eine Geschwindigkeit von nur 230,4 kbit/s, eine maximale Entfernung von 300 m von Ende zu Ende und nur 32 Knoten pro LAN. Da jedoch die Basishardware in den Mac eingebaut war, kostete das Hinzufügen von Knoten nur etwa 50 US-Dollar für die Adapterbox. Im Vergleich dazu kosten Ethernet- oder Token-Ring-Karten Hunderte oder Tausende von Dollar. Darüber hinaus benötigte der gesamte Netzwerk-Stack nur etwa 6 kB RAM, sodass er auf jedem Mac ausgeführt werden konnte.

Die relativ langsame Geschwindigkeit von AppleTalk ermöglichte weitere Kostensenkungen. Anstatt die symmetrischen Sende- und Empfangsschaltungen von RS-422 zu verwenden, verwendete die AppleTalk-Verkabelung eine einzige gemeinsame elektrische Masse , die die Geschwindigkeit auf etwa 500 kbit/s begrenzte, aber es ermöglichte, einen Leiter zu entfernen. Damit konnten gängige Dreileiterkabel für die Verdrahtung verwendet werden. Darüber hinaus wurden die Adapter so konzipiert, dass sie "selbstterminierend" sind, was bedeutet, dass Knoten am Ende des Netzwerks ihren letzten Anschluss einfach unverbunden lassen können. Es war nicht erforderlich, die Drähte wieder zu einer Schleife zusammenzuschließen, noch waren Hubs oder andere Geräte erforderlich.

Das System wurde für zukünftige Erweiterungen konzipiert; das Adressierungssystem ermöglichte eine Erweiterung auf 255 Knoten in einem LAN (obwohl zu dieser Zeit nur 32 verwendet werden konnten) und durch die Verwendung von "Bridges" (die als "Router" bekannt wurden", obwohl technisch nicht identisch) konnte man sich miteinander verbinden LANs in größere Sammlungen. "Zonen" ermöglichten die Adressierung von Geräten innerhalb eines über eine Bridge verbundenen Internets. Darüber hinaus wurde AppleTalk von Anfang an so konzipiert, dass es mit jeder möglichen zugrunde liegenden physischen Verbindung verwendet werden kann, und innerhalb weniger Jahre würde die physische Schicht in LocalTalk umbenannt , um sie von den AppleTalk-Protokollen zu unterscheiden.

Der Hauptvorteil von AppleTalk war, dass es völlig wartungsfrei war. Um ein Gerät mit einem Netzwerk zu verbinden, schloss ein Benutzer einfach den Adapter an das Gerät an und schloss dann ein Kabel davon an einen beliebigen freien Port eines anderen Adapters an. Der AppleTalk-Netzwerkstack hat eine Netzwerkadresse ausgehandelt, dem Computer einen lesbaren Namen zugewiesen und eine Liste der Namen und Typen anderer Computer im Netzwerk zusammengestellt, damit der Benutzer die Geräte durch die Auswahl durchsuchen kann . AppleTalk war so einfach zu bedienen, dass Ad-hoc-Netzwerke auftauchten, wenn sich mehrere Macs im selben Raum befanden. Apple würde dies später in einer Werbung verwenden, die ein Netzwerk zwischen zwei Sitzen in einem Flugzeug zeigt.

PhoneNet und andere Adapter

In den nächsten Jahren entwickelte sich ein florierender Drittanbietermarkt für AppleTalk-Geräte. Ein besonders bemerkenswertes Beispiel war ein alternativer Adapter, der von BMUG entwickelt und 1987 von Farallon als PhoneNet vermarktet wurde. Dies war im Wesentlichen ein Ersatz für den Anschluss von Apple , der herkömmliche Telefonbuchsen anstelle der runden Anschlüsse von Apple hatte. PhoneNet ermöglichte es, AppleTalk-Netzwerke über normale Telefonkabel miteinander zu verbinden und mit sehr wenig zusätzlichem Aufwand analoge Telefone und AppleTalk über ein einziges vieradriges Telefonkabel zu betreiben.

Andere Unternehmen nutzten die Fähigkeit des SCC, externe Uhren zu lesen, um höhere Übertragungsgeschwindigkeiten von bis zu 1 Mbit/s zu unterstützen. In diesen Systemen enthielt der externe Adapter auch seinen eigenen Taktgeber und benutzte diesen, um die Takteingangspins des SCC zu signalisieren. Das bekannteste System dieser Art war Centrams FlashTalk , das mit 768 kbit/s lief und mit dem TOPS- Netzwerksystem verwendet werden sollte. Eine ähnliche Lösung war DaynaTalk mit 850 kbit/s , das eine separate Box verwendet, die zwischen dem Computer und einer normalen LocalTalk/PhoneNet-Box eingesteckt wird. Dayna bot auch eine PC-Erweiterungskarte an, die im Gespräch mit anderen Dayna-PC-Karten bis zu 1,7 Mbit/s lief. Es gab auch mehrere andere Systeme mit noch höherer Leistung, aber diese erforderten oft eine spezielle Verkabelung, die mit LocalTalk/PhoneNet nicht kompatibel war, und erforderten auch Patches am Netzwerk-Stack, die oft Probleme verursachten.

AppleTalk über Ethernet

Als Apple in immer mehr kommerzielle und Bildungsmärkte expandierte, musste AppleTalk in bestehende Netzwerkinstallationen integriert werden. Viele dieser Unternehmen hatten bereits in eine sehr teure Ethernet-Infrastruktur investiert und es gab keine direkte Möglichkeit, einen Macintosh an Ethernet anzuschließen. AppleTalk enthielt eine Protokollstruktur zum Verbinden von AppleTalk-Subnetzen und als Lösung wurde EtherTalk ursprünglich entwickelt, um das Ethernet als Backbone zwischen LocalTalk-Subnetzen zu verwenden. Um dies zu erreichen, müssten Unternehmen eine LocalTalk-to-Ethernet-Bridge erwerben und Apple überließ es Dritten, diese Produkte herzustellen. Eine Reihe von Unternehmen antworteten, darunter Hayes und einige neu gegründete Unternehmen wie Kinetics.

LocalTalk, EtherTalk, TokenTalk und AppleShare

1987 gewann Ethernet den Kampf um die Standards um den Token Ring eindeutig, und Mitte des Jahres führte Apple EtherTalk 1.0 ein , eine Implementierung des AppleTalk-Protokolls über die Ethernet-Physical-Layer. Eingeführt für den neu veröffentlichten Macintosh II- Computer, Apples erster Macintosh mit Erweiterungssteckplätzen, enthielt das Betriebssystem ein neues Netzwerk- Bedienfeld , mit dem der Benutzer auswählen konnte, welche physische Verbindung für das Netzwerk verwendet werden soll (von "Integriert" oder "EtherTalk") . Bei der Einführung waren Ethernet-Schnittstellenkarten von 3Com und Kinetics erhältlich, die in einen Nubus- Steckplatz in der Maschine eingesteckt wurden. Der neue Netzwerk-Stack erweiterte das System auch auf volle 255 Knoten pro LAN. Mit der Veröffentlichung von EtherTalk wurde AppleTalk Personal Network in LocalTalk umbenannt , der Name, unter dem es die meiste Zeit seines Lebens bekannt sein würde. Token Ring wurde später mit dem ähnlichen TokenTalk- Produkt unterstützt, das das gleiche Netzwerk-Kontrollfeld und die zugrunde liegende Software verwendet. Im Laufe der Zeit führten viele Drittanbieter kompatible Ethernet- und Token Ring-Karten ein, die dieselben Treiber verwendeten.

Das Erscheinen eines Macintosh mit direkter Ethernet-Verbindung verschärfte auch das Kompatibilitätsproblem von Ethernet und LocalTalk: Netzwerke mit neuen und alten Macs brauchten eine Möglichkeit, miteinander zu kommunizieren. Dies könnte so einfach sein wie ein Netzwerk von Ethernet Mac II, das versucht, mit einem LaserWriter zu kommunizieren, der nur mit LocalTalk verbunden ist. Apple verließ sich zunächst auf die oben erwähnten LocalTalk-to-Ethernet-Bridge-Produkte, doch entgegen der Annahme von Apple, dass es sich um Produkte mit geringem Volumen handeln würde, waren Ende 1987 130.000 solcher Netzwerke im Einsatz. AppleTalk war zu dieser Zeit das meistgenutzte Netzwerksystem der Welt, mit mehr als dreimal so vielen Installationen wie bei jedem anderen Anbieter.

1987 wurde auch das Produkt AppleShare eingeführt , ein dedizierter Dateiserver , der auf jedem Mac mit 512 kB RAM oder mehr lief. Ein üblicher AppleShare-Rechner war der Mac Plus mit einer externen SCSI- Festplatte . AppleShare war Ende der 1980er Jahre das Netzwerkbetriebssystem Nr. 3 , hinter Novell NetWare und Microsofts MS-Net . AppleShare war effektiv der Ersatz für die gescheiterten Bemühungen von Macintosh Office, die auf einem dedizierten Dateiservergerät basierten.

AppleTalk Phase II und andere Entwicklungen

Eine bedeutende Neugestaltung wurde 1989 als AppleTalk Phase II veröffentlicht . In vielerlei Hinsicht kann Phase II als Versuch angesehen werden, die frühere Version (die nie als Phase I bezeichnet wurde) allgemeiner zu gestalten. LANs konnten jetzt mehr als 255 Knoten unterstützen, und Zonen waren nicht mehr mit physischen Netzwerken verbunden, sondern waren vollständig virtuelle Konstrukte, die einfach zur Organisation von Knoten verwendet wurden. Zum Beispiel könnte man jetzt eine "Drucker"-Zone erstellen, die alle Drucker in einer Organisation auflistet, oder man könnte dasselbe Gerät in der "2. Etage"-Zone platzieren, um seinen physischen Standort anzugeben. Phase II umfasste auch Änderungen an den zugrunde liegenden Inter-Networking-Protokollen, um sie weniger "geschwätzig" zu machen, was zuvor ein ernsthaftes Problem bei Netzwerken war, die über Weitverkehrsnetze überbrücken.

Zu diesem Zeitpunkt hatte Apple eine Vielzahl von Kommunikationsprodukten in der Entwicklung, und viele davon wurden zusammen mit AppleTalk Phase II angekündigt. Dazu gehörten Updates für EtherTalk und TokenTalk, AppleTalk-Software und LocalTalk-Hardware für den IBM PC , EtherTalk für Apples A/UX- Betriebssystem, das die Verwendung von LaserPrintern und anderen Netzwerkressourcen ermöglicht, sowie die Mac X.25- und MacX- Produkte.

Ethernet war 1990 fast universell geworden, und es war an der Zeit, Ethernet direkt ab Werk in Macs zu integrieren. Allerdings war die physikalische Verkabelung dieser Netzwerke noch nicht vollständig standardisiert. Apple löste dieses Problem mit einem einzigen Port auf der Rückseite des Computers, in den der Benutzer einen Adapter für ein beliebiges Verkabelungssystem einstecken konnte. Dieses FriendlyNet- System basierte auf dem branchenüblichen Attachment Unit Interface oder AUI, wählte jedoch bewusst einen nicht standardmäßigen Connector, der kleiner und einfacher zu verwenden war und den sie "Apple AUI" oder AAUI nannten . FriendlyNet wurde zuerst auf den Computern Quadra 700 und Quadra 900 eingeführt und für einige Zeit in einem Großteil der Mac-Reihe verwendet. Wie bei LocalTalk tauchten schnell eine Reihe von FriendlyNet-Adaptern von Drittanbietern auf.

Als 10BASE-T das De-facto-Verkabelungssystem für Ethernet wurde, fügten Power Macintosh- Maschinen der zweiten Generation zusätzlich zu AAUI einen 10BASE-T-Port hinzu. Das PowerBook 3400c und die unteren Power Macs haben auch 10BASE-T hinzugefügt. Die Power Macintosh 7300 / 8600 / 9600 waren die letzten Macs mit AAUI, und 10BASE-T wurde universell, beginnend mit dem Power Macintosh G3 und PowerBook G3 .

Das Kapital-I Internet

Seit den Anfängen von AppleTalk wollten die Benutzer den Macintosh mit den TCP/IP-Netzwerkumgebungen verbinden. 1984 leistete Bill Croft von der Stanford University Pionierarbeit bei der Entwicklung von in DDP gekapselten IP-Paketen im Rahmen des SEAGATE-Projekts (Stanford Ethernet - AppleTalk Gateway). SEAGATE wurde von Kinetics in ihrer LocalTalk-to-Ethernet-Bridge als zusätzliche Routing-Option kommerzialisiert. Einige Jahre später wurde MacIP vom SEAGATE-Code getrennt und wurde zur De-facto-Methode für die Weiterleitung von IP-Paketen über LocalTalk-Netzwerke. 1986 veröffentlichte die Columbia University die erste Version des Columbia AppleTalk Package (CAP), die eine höhere Integration von Unix-, TCP/IP- und AppleTalk-Umgebungen ermöglichte. 1988 veröffentlichte Apple MacTCP , ein System, das es dem Mac ermöglichte, TCP/IP auf Maschinen mit geeigneter Ethernet-Hardware zu unterstützen. Dies stellte jedoch viele Universitäten vor das Problem, IP auf ihren vielen mit LocalTalk ausgestatteten Macs zu unterstützen. Es war bald üblich, MacIP-Unterstützung in LocalTalk-to-Ethernet-Bridges zu integrieren. MacTCP wurde erst 1994 zum Standardbestandteil des Classic Mac OS , zu dem es auch SNMP und PPP unterstützte .

Anfang der 1990er Jahre war der Mac für einige Zeit ein Hauptclient im schnell expandierenden Internet. Zu den bekannteren Programmen, die weit verbreitet sind, gehören Fetch, Eudora, eXodus, NewsWatcher und die NCSA-Pakete, insbesondere NCSA Mosaic und sein Nachkomme Netscape Navigator . Darüber hinaus erschien eine Reihe von Serverprodukten, die es dem Mac ermöglichten, Internetinhalte zu hosten. Während dieser Zeit hatten Macs trotz des relativ geringen Gesamtmarktanteils von Mikrocomputern etwa 2 bis 3 Mal so viele Clients, die mit dem Internet verbunden waren wie jede andere Plattform.

Als die Welt sowohl für LAN- als auch WAN-Anwendungen schnell auf IP umstellte, sah sich Apple mit der Pflege zweier zunehmend veralteter Codebasen auf einer immer breiter werdenden Gruppe von Maschinen sowie der Einführung der PowerPC- basierten Maschinen konfrontiert . Dies führte zu den Bemühungen um Open Transport , die sowohl MacTCP als auch AppleTalk auf einer völlig neuen Codebasis neu implementierten, die vom Unix-Standard STREAMS übernommen wurde . Frühe Versionen hatten Probleme und wurden für einige Zeit nicht stabil. Zu diesem Zeitpunkt steckte Apple tief in seinen letztlich zum Scheitern verurteilten Copland- Bemühungen.

Vermächtnis und Aufgabe

Mit dem Kauf von NeXT und der anschließenden Entwicklung von Mac OS X war AppleTalk ein reines Legacy-System. OS X wurde unterstützt, um die große Anzahl vorhandener AppleTalk-Geräte, insbesondere Laserdrucker und Dateifreigaben, zu unterstützen, aber alternative Verbindungslösungen, die in dieser Zeit üblich waren, insbesondere USB für Drucker, begrenzten ihre Nachfrage. Da Apple viele dieser Produktkategorien aufgab und alle neuen Systeme auf IP basierten, wurde AppleTalk immer seltener. Die AppleTalk-Unterstützung wurde 2009 endgültig von MacOS in Mac OS X 10.6 entfernt .

Der Verlust von AppleTalk hat jedoch nicht den Wunsch nach Netzwerklösungen verringert, die Benutzerfreundlichkeit mit IP-Routing kombinieren. Apple hat die Entwicklung vieler solcher Bemühungen geleitet, von der Einführung des AirPort- Routers bis zur Entwicklung des Zero-Configuration-Netzwerksystems und dessen Implementierung, Bonjour .

Ab 2020 wurde die AppleTalk-Unterstützung vollständig aus der Legacy-Unterstützung mit macOS 11 Big Sur entfernt.

Entwurf

Das AppleTalk-Design folgte konsequent dem OSI-Modell der Protokollschichtung. Im Gegensatz zu den meisten frühen LAN- Systemen wurde AppleTalk nicht mit dem archetypischen Xerox XNS- System erstellt. Das beabsichtigte Ziel war nicht Ethernet, und es hatte keine 48-Bit-Adressen zum Routen. Trotzdem haben viele Teile des AppleTalk-Systems direkte Analoga in XNS.

Ein wichtiger Unterschied für AppleTalk bestand darin, dass es zwei Protokolle enthielt, die darauf abzielten, das System vollständig selbst zu konfigurieren. Das AppleTalk Address Resolution Protocol ( AARP ) ermöglichte es AppleTalk-Hosts, automatisch ihre eigenen Netzwerkadressen zu generieren, und das Name Binding Protocol ( NBP ) war ein dynamisches System zum Zuordnen von Netzwerkadressen zu benutzerlesbaren Namen. Obwohl AARP ähnliche Systeme in anderen Systemen existierten, beispielsweise Banyan VINES , gab es bis vor kurzem nichts wie NBP.

Sowohl AARP als auch NBP hatten definierte Möglichkeiten, um es "Controller"-Geräten zu ermöglichen, die Standardmechanismen zu überschreiben. Das Konzept bestand darin, Routern zu ermöglichen, die Informationen bereitzustellen oder das System an bekannte Adressen und Namen "festzuverdrahten". In größeren Netzwerken, in denen AARP Probleme verursachen könnte, wenn neue Knoten nach freien Adressen suchen, könnte das Hinzufügen eines Routers die "Geschwätzigkeit" reduzieren. Gemeinsam haben AARP und NBP AppleTalk zu einem benutzerfreundlichen Netzwerksystem gemacht. Neue Maschinen wurden dem Netzwerk hinzugefügt, indem sie angeschlossen und optional mit einem Namen versehen wurden. Die NBP-Listen wurden von einem Programm namens Chooser untersucht und angezeigt, das eine Liste von Maschinen im lokalen Netzwerk anzeigte , die in Klassen wie Dateiserver und Drucker unterteilt waren.

Adressierung

Eine AppleTalk-Adresse war eine Vier-Byte-Größe. Diese bestand aus einer Zwei-Byte-Netzwerknummer, einer Ein-Byte-Knotennummer und einer Ein-Byte-Socket-Nummer. Von diesen erforderte nur die Netzwerknummer eine Konfiguration, die von einem Router bezogen wurde. Jeder Knoten wählte dynamisch seine eigene Knotennummer gemäß einem Protokoll (ursprünglich das LocalTalk Link Access Protocol LLAP und später für Ethernet/EtherTalk das AppleTalk Address Resolution Protocol, AARP), das Konflikte zwischen verschiedenen Knoten behandelte, die versehentlich dieselbe Nummer wählten. Für Socket-Nummern wurden einige bekannte Nummern für spezielle Zwecke reserviert, die speziell für das AppleTalk-Protokoll selbst gelten. Abgesehen davon wurde erwartet, dass alle Protokolle auf Anwendungsebene dynamisch zugewiesene Socket-Nummern sowohl auf der Client- als auch auf der Serverseite verwenden.

Aufgrund dieser Dynamik konnte von Benutzern nicht erwartet werden, dass sie auf Dienste zugreifen, indem sie ihre Adresse angeben. Stattdessen hatten alle Dienste Namen , von denen erwartet werden konnte, dass sie von Menschen gewählt wurden, und die auch lang genug sein konnten, um die Wahrscheinlichkeit von Konflikten zu minimieren.

Als NBP-Namen, die in eine Adresse übersetzt wurden, die sowohl eine Socket- als auch eine Knotennummer enthielt, wurde ein Name in AppleTalk direkt einem von einer Maschine bereitgestellten Dienst zugeordnet , der vollständig vom Namen der Maschine selbst getrennt war. So konnten Dienste auf eine andere Maschine verschoben werden, und solange sie denselben Dienstnamen beibehielten, mussten die Benutzer nichts anderes tun, um weiterhin auf den Dienst zuzugreifen. Und derselbe Computer könnte eine beliebige Anzahl von Instanzen von Diensten desselben Typs hosten, ohne dass Netzwerkverbindungskonflikte auftreten.

Vergleichen Sie dies mit A-Einträgen im DNS , in denen ein Name in die Adresse eines Computers übersetzt wird, ohne die Portnummer, die einen Dienst bereitstellen könnte. Wenn also Personen daran gewöhnt sind, einen bestimmten Maschinennamen zu verwenden, um auf einen bestimmten Dienst zuzugreifen, wird ihr Zugriff unterbrochen, wenn der Dienst auf eine andere Maschine verschoben wird. Dies kann etwas abgemildert werden, indem darauf bestanden wird, CNAME-Einträge zu verwenden , die den Dienst anstelle der tatsächlichen Maschinennamen angeben, um auf den Dienst zu verweisen, aber es gibt keine Möglichkeit, zu garantieren, dass Benutzer einer solchen Konvention folgen. Einige neuere Protokolle wie Kerberos und Active Directory verwenden DNS- SRV-Einträge , um Dienste anhand des Namens zu identifizieren, was dem AppleTalk-Modell viel näher kommt.

Protokolle

AppleTalk-Adressauflösungsprotokoll

AARP löst AppleTalk-Adressen in Link-Layer- , normalerweise MAC- Adressen auf. Es ist funktionell äquivalent zu ARP und erreicht die Adressauflösung durch eine Methode, die ARP sehr ähnlich ist.

AARP ist ein ziemlich einfaches System. Beim Einschalten sendet ein AppleTalk-Rechner ein AARP-Prüfpaket , das nach einer Netzwerkadresse fragt, um von Controllern wie Routern zu hören. Wenn keine Adresse angegeben wird, wird zufällig eine aus dem "Basis-Subnetz" 0 ausgewählt. Es sendet dann ein weiteres Paket mit der Meldung "Ich wähle diese Adresse aus" und wartet dann, ob sich jemand im Netzwerk beschwert. Wenn ein anderer Computer diese Adresse hat, wählt er eine andere Adresse aus und versucht es so lange, bis er eine freie findet. In einem Netzwerk mit vielen Computern kann es mehrere Versuche dauern, bis eine freie Adresse gefunden wird, daher wird die erfolgreiche Adresse aus Leistungsgründen im NVRAM "aufgeschrieben" und in Zukunft als Standardadresse verwendet. Dies bedeutet, dass in den meisten realen Setups, in denen mehrere Maschinen gleichzeitig hinzugefügt werden, nur ein oder zwei Versuche erforderlich sind, bevor die Adresse effektiv konstant wird.

AppleTalk Data Stream Protocol

Dies war eine vergleichsweise späte Ergänzung der AppleTalk-Protokollsuite, als klar wurde, dass ein zuverlässiger verbindungsorientierter Transport im TCP- Stil benötigt wird. Wesentliche Unterschiede zu TCP waren:

  • ein Verbindungsversuch könnte abgewiesen werden
  • es gab keine "halboffenen" Verbindungen; sobald ein Ende einen Abbau der Verbindung initiiert hat, wird die gesamte Verbindung geschlossen ( dh ADSP ist Vollduplex , nicht Dual Simplex ).
  • AppleTalk verfügte über ein integriertes Aufmerksamkeitsnachrichtensystem, das das Senden von Kurznachrichten ermöglichte, die den normalen Datenstrom umgehen würden. Diese wurden zwar zuverlässig, aber strömungstechnisch nicht in Ordnung geliefert. Jede Aufmerksamkeitsnachricht würde so schnell wie möglich geliefert, anstatt darauf zu warten, dass der aktuelle Stream-Byte-Sequenzpunkt aktuell wird.

Apple-Einreichungsprotokoll

Das Apple Filing Protocol (AFP), ehemals AppleTalk Filing Protocol, ist das Protokoll für die Kommunikation mit AppleShare- Dateiservern. Aufbauend auf dem AppleTalk Session Protocol (für Legacy-AFP über DDP) oder dem Data Stream Interface (für AFP über TCP) bietet es Dienste zur Authentifizierung von Benutzern (erweiterbar auf verschiedene Authentifizierungsmethoden, einschließlich bidirektionalem Zufallszahlenaustausch) und zur Durchführung von Operationen, die für das Macintosh HFS- Dateisystem spezifisch sind . AFP wird in macOS immer noch verwendet, obwohl die meisten anderen AppleTalk-Protokolle veraltet sind.

AppleTalk-Sitzungsprotokoll

ASP war ein Zwischenprotokoll, das auf ATP aufbaute, das wiederum die Grundlage von AFP war. Es stellte grundlegende Dienste zur Verfügung, um Antworten auf beliebige Befehle anzufordern d d Durchführen von Out-of-Band-Statusabfragen. Es ermöglichte dem Server auch, asynchrone Aufmerksamkeitsnachrichten an den Client zu senden .

Datagram Delivery Protocol

DDP war das datenverbindungsunabhängige Transportprotokoll der niedrigsten Ebene. Es stellte einen Datagramm- Dienst ohne Liefergarantie bereit . Alle Protokolle auf Anwendungsebene, einschließlich der Infrastrukturprotokolle NBP, RTMP und ZIP, wurden auf DDP aufgebaut. DDP von AppleTalk entspricht weitgehend der Netzwerkschicht des Kommunikationsmodells der Open Systems Interconnection ( OSI ).

Namensbindungsprotokoll

Name Binding Protocol war ein dynamisches, verteiltes System zur Verwaltung von AppleTalk-Namen. Wenn ein Dienst auf einem Computer gestartet wurde, registrierte er einen Namen für sich selbst, der von einem menschlichen Administrator ausgewählt wurde. Zu diesem Zeitpunkt stellte NBP ein System zur Verfügung, um zu überprüfen, ob noch kein anderer Computer denselben Namen registriert hatte. Als ein Client später auf diesen Dienst zugreifen wollte, verwendete er NBP, um Maschinen abzufragen, um diesen Dienst zu finden. NBP bietet Durchsuchbarkeit ("Wie heißen alle verfügbaren Dienste?") sowie die Möglichkeit, einen Dienst mit einem bestimmten Namen zu finden. Die Namen waren für Menschen lesbar, enthielten Leerzeichen, Groß- und Kleinbuchstaben und unterstützten die Suche.

AppleTalk Echo-Protokoll

AEP (AppleTalk Echo Protocol) ist ein Protokoll der Transportschicht, das entwickelt wurde, um die Erreichbarkeit von Netzwerkknoten zu testen. AEP erzeugt an den Netzknoten zu sendende Pakete und wird im Feld Typ eines Pakets als AEP-Paket identifiziert. Das Paket wird zuerst an den Quell-DDP weitergeleitet. Nachdem es als AEP-Paket identifiziert wurde, wird es an den Knoten weitergeleitet, wo das Paket vom DDP am Ziel untersucht wird. Nachdem das Paket als ein AEP-Paket identifiziert wurde, wird das Paket dann kopiert und ein Feld im Paket wird geändert, um ein AEP-Antwortpaket zu erzeugen, und wird dann an den Quellknoten zurückgegeben.

Druckerzugriffsprotokoll

PAP war die Standardmethode für die Kommunikation mit PostScript- Druckern. Es wurde auf ATP aufgebaut. Wenn eine PAP-Verbindung geöffnet wurde, schickte jedes Ende dem anderen eine ATP-Anfrage, was im Grunde bedeutete "schick mir mehr Daten". Die Antwort des Clients an den Server bestand darin, einen Block von PostScript-Code zu senden, während der Server mit allen Diagnosenachrichten antworten konnte, die als Ergebnis generiert werden könnten, woraufhin eine weitere "Sende-mehr-Daten"-Anforderung gesendet wurde. Diese Verwendung von ATP ermöglichte eine automatische Flusskontrolle ; jedes Ende konnte nur dann Daten an das andere Ende senden, wenn eine ausstehende ATP-Anforderung zu beantworten war.

PAP bietet auch Out-of-Band-Statusabfragen, die von separaten ATP-Transaktionen verarbeitet werden. Selbst während er einen Druckauftrag von einem Client aus bearbeitete, konnte ein PAP-Server weiterhin auf Statusanfragen von einer beliebigen Anzahl anderer Clients antworten. Dadurch konnten andere Macintosh-Computer im LAN, die auf den Druck warteten, Statusmeldungen anzeigen, die darauf hindeuteten, dass der Drucker beschäftigt war und mit welchem ​​Auftrag er beschäftigt war.

Routing-Tabellen-Wartungsprotokoll

RTMP war das Protokoll, mit dem sich Router gegenseitig über die Topologie des Netzwerks informierten. Dies war der einzige Teil von AppleTalk, der regelmäßige unaufgeforderte Broadcasts erforderte: Alle 10 Sekunden musste jeder Router eine Liste aller ihm bekannten Netzwerknummern und deren Entfernung aussenden.

Zoneninformationsprotokoll

ZIP war das Protokoll, mit dem AppleTalk-Netzwerknummern mit Zonennamen verknüpft wurden. Eine Zone war eine Unterteilung des Netzwerks, die für Menschen sinnvoll war (z. B. "Buchhaltungsabteilung"); aber während eine Netznummer einem topologisch zusammenhängenden Abschnitt des Netzes zugewiesen werden musste, könnte eine Zone mehrere verschiedene nicht zusammenhängende Abschnitte des Netzes umfassen.

Physische Umsetzung

Lokales Kabel und Innenplatine, Port-Seitenansicht
Rückansicht des automatischen Terminierungsschalters mit entfernter Staubschutzabdeckung
Innenraum der Apple LocalTalk-Schnittstellenbox. 1989 kosteten diese Boxen normalerweise 90 US-Dollar pro Stück. Die Steckverbinder verfügen über eine automatische elektrische Terminierung des LocalTalk-Signalbusses; Beim Einstecken eines LocalTalk-Buskabels wird ein normalerweise geschlossener Schalter hinter dem Anschluss gedrückt , wodurch die Terminierung für diesen Anschluss deaktiviert wird.
Farallon PhoneNET-Adapter

Die anfängliche Standard-Hardwareimplementierung für AppleTalk war ein serielles Hochgeschwindigkeitsprotokoll, bekannt als LocalTalk , das die eingebauten RS-422- Ports des Macintosh mit 230,4 kbit/s nutzte . LocalTalk verwendete eine Splitterbox im RS-422-Port, um ein Upstream- und Downstream-Kabel von einem einzigen Port bereitzustellen. Die Topologie war ein Bus : Kabel wurden von jeder angeschlossenen Maschine zur nächsten verkettet, bis zu maximal 32 in jedem LocalTalk- Segment zulässig . Das System war nach heutigen Standards langsam, aber zu dieser Zeit waren die zusätzlichen Kosten und die Komplexität der Vernetzung auf PC-Rechnern so groß, dass Macs die einzigen vernetzten PCs in einem Büro waren. Andere größere Computer, wie UNIX- oder VAX-Workstations, werden normalerweise über Ethernet vernetzt.

Andere physische Implementierungen waren ebenfalls verfügbar. Ein sehr beliebter Ersatz für LocalTalk war PhoneNet , eine Drittanbieterlösung von Farallon Computing, Inc. (umbenannt in Netopia , 2007 von Motorola übernommen), die ebenfalls den RS-422-Port verwendet und von LocalTalk nicht zu unterscheiden war, soweit Apples LocalTalk-Port-Treiber waren betroffen, sondern lief über die beiden ungenutzten Adern in einer Standard-Vierdraht-Telefonverkabelung. Als Vorbote der heutigen Netzwerk-Hubs und Switches lieferte Farallon Lösungen für PhoneNet, die sowohl in "Stern"- als auch in Buskonfigurationen verwendet werden können, sowohl mit "passiven" Sternverbindungen (bei denen die Telefonleitungen einfach an einem zentralen Punkt miteinander gebrückt werden) als auch " active" star mit "PhoneNet Star Controller"-Hub-Hardware. Die LocalTalk-Anschlüsse von Apple hatten keine Verriegelungsfunktion, sodass sich die Anschlüsse leicht lösen konnten, und die Buskonfiguration führte dazu, dass jeder lockere Anschluss das gesamte Netzwerk zum Erliegen brachte und schwer aufzuspüren war. PhoneNet RJ-11-Anschlüsse hingegen rasteten ein, und in einer Sternkonfiguration betraf jedes Verkabelungsproblem nur ein Gerät, und Probleme waren leicht zu lokalisieren. Die geringen Kosten, die Flexibilität und die einfache Fehlerbehebung führten dazu, dass PhoneNet bis in die frühen 1990er Jahre die dominierende Wahl für Mac-Netzwerke war.

AppleTalk-Protokolle wurden auch über Ethernet (zuerst koaxial und dann verdrillt) und Token Ring- Physical-Layer ausgeführt, die von Apple als EtherTalk bzw. TokenTalk bezeichnet werden. EtherTalk wurde allmählich zur dominierenden Implementierungsmethode für AppleTalk, da Ethernet in den 1990er Jahren in der PC-Industrie allgemein populär wurde. Neben AppleTalk und TCP/IP könnte jedes Ethernet-Netzwerk gleichzeitig auch andere Protokolle wie DECnet und IPX tragen .

Vernetzungsmodell

OSI-Modell Entsprechende AppleTalk-Ebenen
Anwendung Apple-Einreichungsprotokoll (AFP)
Präsentation Apple-Einreichungsprotokoll (AFP)
Sitzung Zone Information Protocol ( ZIP )
AppleTalk Session Protocol (ASP)
AppleTalk Data Stream Protocol (ADSP)
Transport AppleTalk Transaction Protocol (ATP)
AppleTalk Echo Protocol (AEP)
Name Binding Protocol ( NBP )
Routing Table Maintenance Protocol (RTMP)
Netzwerk Datagram Delivery Protocol ( DDP )
Datenverbindung EtherTalk Link Access Protocol (ELAP)
LocalTalk Link Access Protocol (LLAP)
TokenTalk Link Access Protocol (TLAP)
Fiber Distributed Data Interface ( FDDI )
Physisch LocalTalk- Treiber
Ethernet-Treiber
Token Ring- Treiber
FDDI- Treiber

Versionen

AppleTalk-Version Apple-Einreichungsprotokoll Entspricht Anmerkungen
56 System 7.0
57.0.4 System 7.12
58.1.1 System 7.1.2
58.1.3 System 7,5
60,3 Mac OS 7.6.1 Offener Transport 1.3
60.0a6 MacOS 8.6 Open Transport 2.0.3
3.0 Mac OS X 10.0.3
2.1, 2.0 und sogar 1.1 Mac OS X v10.2
2.2, 3.0 und 3.1 Mac OS X v10.3
3.2 Mac OS X v10.4

Plattformübergreifende Lösungen

Als AppleTalk zum ersten Mal eingeführt wurde, war die dominierende Office-Computing-Plattform der PC, der mit MS-DOS kompatibel war. Apple führte Anfang 1987 die AppleTalk PC Card ein, die es PCs ermöglicht, AppleTalk-Netzwerken beizutreten und auf LaserWriter-Druckern zu drucken. Ein Jahr später wurde AppleShare PC veröffentlicht, mit dem PCs auf AppleShare-Dateiserver zugreifen können.

Das "TOPS Teleconnector" MS-DOS-Netzwerksystem über das AppleTalk-System ermöglichte es MS-DOS-PCs, über AppleTalk-Netzwerkhardware zu kommunizieren; Es umfasste eine AppleTalk-Schnittstellenkarte für den PC und eine Reihe von Netzwerksoftware, die Funktionen wie die gemeinsame Nutzung von Dateien, Laufwerken und Druckern ermöglichte. Es ermöglichte nicht nur den Aufbau eines reinen PC-AppleTalk-Netzwerks, sondern ermöglichte auch die Kommunikation zwischen PCs und Macs mit installierter TOPS-Software. (Macs, auf denen TOPS nicht installiert war, konnten dasselbe Netzwerk verwenden, aber nur, um mit anderen Apple-Rechnern zu kommunizieren.) Die Mac TOPS-Software erreichte weder in der Benutzerfreundlichkeit noch in der Robustheit und Absturzfreiheit die Qualität von Apples eigener Software, aber die DOS-Software war relativ einfach in DOS-Begriffen zu verwenden und war robust.

Die Betriebssysteme BSD und Linux unterstützen AppleTalk durch ein Open-Source-Projekt namens Netatalk , das die komplette Protokollsuite implementiert und es ihnen ermöglicht, sowohl als native Datei- oder Druckserver für Macintosh-Computer zu fungieren als auch über das Netzwerk auf LocalTalk-Druckern zu drucken.

Die Windows Server-Betriebssysteme unterstützten AppleTalk, beginnend mit Windows NT und endend nach Windows Server 2003 . Miramar hat AppleTalk in sein PC-MacLAN-Produkt aufgenommen, das 2007 von CA eingestellt wurde. GroupLogic bündelt weiterhin sein AppleTalk-Protokoll mit seiner ExtremeZ-IP- Serversoftware für die Macintosh-Windows-Integration, die Windows Server 2008 und Windows Vista sowie frühere Versionen unterstützt. Die HELIOS Software GmbH bietet als Teil ihres HELIOS UB2-Servers eine proprietäre Implementierung des AppleTalk-Protokollstapels an. Dies ist im Wesentlichen eine Datei- und Druckserver-Suite, die auf einer ganzen Reihe verschiedener Plattformen läuft.

Darüber hinaus hat die Columbia University das Columbia AppleTalk Package (CAP) veröffentlicht, das die Protokollsuite für verschiedene Unix-Varianten einschließlich Ultrix , SunOS , * BSD und IRIX implementiert . Dieses Paket wird nicht mehr aktiv gepflegt.

Siehe auch

Anmerkungen

Verweise

Zitate

Literaturverzeichnis