AppleTalk
AppleTalk patří mezi síťové protokoly vyvinuté firmou Apple pro počítačové sítě, byl součástí původních počítačů Macintosh (1984), ale nyní se upřednostňuje protokol TCP/IP.
Design
editovatDesign přísně následuje model ISO/OSI. Na rozdíl od ostatních raných systémů pro LAN, AppleTalk nebyl postavený jako typický systém Xerox XNS. Nicméně mnoho částí systému AppleTalk mělo přímou obdobu v XNS. Podstatným rozdílem systému AppleTalk byly dva protokoly, vytvořené s cílem zajistit úplné samonastavení. Protokol AARP (AppleTalk address resolution protocol) umožňoval připojeným počítačům automaticky generovat své síťové adresy, Protokol NBP (Name Binding Protocol) byl v podstatě DNS systém. I když protokoly podobné AARP existovaly i v jiných systémech, nic podobného protokolu NBP do té doby neexistovalo.
Oba protokoly stanovily způsoby dovolující řídícím zařízením potlačit původní mechanismy. Všechny tyto informace měly dodávat směrovače. U větších sítí, kde mohl AARP způsobit problémy, mohlo přidání směrovače razantně snížit síťový „provoz“.
Dohromady dělaly protokoly AARP a NBP z AppleTalk pravděpodobně nejsnadněji použivatelný síťový systém, který byl do té doby vyvinut. Nové stanice byly do sítě přidány jednoduše jejich připojením a případně pojmenováním. Seznam vytvořený pomocí NBP byl prohledáván a zobrazován programem Chooser (původně sloužil k výběru základní tiskárny), který zobrazoval seznam stanic na lokální síti, rozdělené do tříd. Toto vše bylo kompletně automatizované.
Jeden z problémů systému AppleTalk bylo, že byl původně zamýšlen jako část projektu Macintosh Office, který sestával ze stanice poskytující směrování, sdílení tiskárny a souborů. Nicméně tento projekt byl roku 1986 zrušen. Firma Apple později vydala souborový a tiskový server AppleShare.
U větších sítí a sítí WAN způsoboval NBP značný přebytečný provoz, to bylo významně omezeno u verze AppleTalk Phase 2, obsahující System 7.
Dnes je základním síťovým protokolem TCP/IP, ale AppleTalk je stále podporován kvůli zpětné kompatibilitě mnoha dalších produktů. Počínaje Mac OS X 10.2, poskytuje Bonjour (původně pojmenovaný Rendezvous) podobné možnosti v sítích založených na TCP/IP. Bonjour je implementace ZeroConf (Zero Configuration Networking), který se snaží dostat snadnost použití NBP do světa TCP/IP.
Adresace
editovatAdresa u protokolu AppleTalk byla 4 B. 2 B na číslo sítě, 1 B číslo uzlu a 1 B číslo soketu, z nich pouze číslo sítě potřebovalo nějakou konfiguraci, získávanou ze směrovače. Každý uzel si sám dynamicky zvolil vlastní číslo. Některá čísla soketů byla rezervována pro zvláštní účely. Předpokládalo se, že ostatní protokoly na úrovni aplikací budou používat dynamicky přiřazené číslo soketu u klienta i serveru.
Kvůli této dynamičnosti nemohli uživatelé předpokládat přístup k službám na základě adresy. Namísto toho měly všechny služby jména, vybraná lidmi, u kterých se předpokládalo, že budou dávat smysl uživatelům a zároveň budou dostatečně dlouhá, aby nedocházelo ke konfliktům.
Protože se jméno překládalo na adresu, která obsahovala číslo zásuvky i číslo uzlu, mapovalo se jméno v protokolu AppleTalk přímo na službu poskytovanou strojem, která byla zcela oddělená od jména samotného stroje. Díky tomu mohly být služby stěhovány na jiné stanice, aniž by uživatelé museli měnit způsob přístupu k nim. A na jedné stanici mohlo být spouštěno jakékoli množství stejných služeb bez konfliktů síťového připojení.
Naopak u DNS se jméno překládá pouze na adresu stanice bez čísla portu, který službu poskytuje. Proto pokud jsou uživatelé zvyklí používat určitou stanici, jejich přístup bude přerušen, přesune-li se služba na jinou stanici. Toho se lze vyvarovat, pokud budeme používat pro označení služeb záznam CNAME, místo jména aktuální stanice, ale není žádná záruka, že to budou uživatelé dodržovat. (Některé nové protokoly, jako např. Kerberos a Active Directory, používají záznamy DNS SRV aby identifikovaly službu podle jména podobně jako u modelu AppleTalk.)
Protokoly
editovatAppleTalk Address Resolution Protocol
editovatAARP dává adrese fyzické vrstvy (obvykle MAC) adresu AppleTalk. Funguje podobně jako ARP.
AARP má docela jednoduchý systém. Při spuštění pošle stanice broadcastem průzkumný paket, kterým žádá o síťovou adresu, kterou mu pošlou řídící prvky jako je směrovač. Pokud není dodána žádná adresa, je adresa vybrána náhodně z podsítě. Poté vyšle paket říkající „vybral jsem si tuto adresu“, a počká se zda nebude někdo proti. Pokud je daná adresa obsazena, vybere se další, a pokračuje se dokud nenarazí na volnou adresu. V sítích s mnoha stanicemi to může chvíli trvat, proto se úspěšná adresa zapíše do NVRAM a na příště je používána jako výchozí. V reálných situacích, kdy jsou stanice přidávány jednou za čas, to znamená pouze jeden až dva pokusy, než se adresa stane konstantní.
AppleTalk Data Stream Protocol
editovatDo souboru protokolů AppleTalk byl ADSP přidán poměrně pozdě, když bylo zřejmé že bude potřeba spolehlivý transportní protokol typu TCP. Významné změny proti TCP byly:
- Pokus o spojení může být zamítnut
- Nebyly žádné „napůl otevřené“ spojení; jakmile dojde k přerušení spojení na jedné straně, je celé spojení zrušenu (ADSP je úplný duplex)
Reference
editovatV tomto článku byl použit překlad textu z článku AppleTalk na anglické Wikipedii.