AppleTalk

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 15:13, 29 мая 2018.
AppleTalk
Protocol stack
AppleTalk logo from Control Panel.gif
Developer(s) Apple Inc.
Introduced 1985; 34 years ago (1985)
Hardware LocalTalk, others

AppleTalk — стек протоколов, разработанных Apple Computer для компьютерной сети. Он был изначально включён в Macintosh (1984), но потом компания отказалась от него в пользу TCP/IP.

Протокол AppleTalk является собственностью компании Apple Computer. Он был разработан для установки связи между компьютерами Macintosh. Как и TCP/IP, AppleTalk представляет собой набор протоколов, каждый из которых отвечает за работу определенного уровня модели ISO/OSI. В отличие от протоколов TCP/IP и IPX/SPX, стек протокола AppleTalk использует собственную реализацию физического и канального уровней, а не протоколы модели ISO/OSI.

История

В начале 1980 гг. Apple Computer готовилась к выпуску компьютера Macintosh. Инженеры компании знали, что в скором времени сети станут насущной необходимостью, а не просто интересной новинкой. Они хотели также добиться того, чтобы базирующаяся на компьютерах Macintosh сеть была бесшовным расширением интерфейса пользователя Macintosh, совершившим подлинную революцию в этой области. Имея в виду эти два фактора, Apple решила встроить сетевой интерфейс в каждый Macintosh и интегрировать этот интерфейс в окружение настольной вычислительной машины. Новая сетевая архитектура Apple получила название Apple Talk.

Хотя Apple Talk является патентованной сетью, Apple опубликовала характеристики Apple Talk, пытаясь поощрить разработку при участии третьей стороны. В настоящее время большое число компаний успешно сбывают на рынке базирующиеся на Apple Talk изделия; в их числе Novell, Inc. и Мicrosoft Corparation.

Оригинальную реализацию Apple Talk, разработанную для локальных рабочих групп, в настоящее время обычно называют Apple Talk Phase I. Однако после установки свыше 1.5 мил. компьютеров Macintosh в течение первых пяти лет существования этого изделия, Apple обнаружила, что некоторые крупные корпорации превышают встроенные возможности Apple Talk Phase I, поэтому протокол был модернизирован. Расширенные протоколы стали известны под названием Apple Talk Phase II. Oни расширили возможности маршрутизации Apple Talk, обеспечив их успешное применение в более крупных сетях.[Источник 1]


Протоколы стека AppleTalk

Сеансовый уровень

Yuio.gif
  • DDP (Datagram Delivery Protocol) - отвечает за работу сетевого уровня. Его основное предназначение - организация и обслуживание процесса передачи данных без предварительной установки связи между компьютерами.
  • NBP (Name Binding Protocol) - отвечает за адресацию, которая сводится к привязке логического имени компьютера к физическому адресу в сети. Кроме процесса привязки имени, он отвечает за регистрацию, подтверждение, стирание и поиск этого имени.
  • ZIP (Zone Information Protocol) - работает в паре с протоколом NBP, помогая ему производить поиск имени в рабочих группах, или зонах. Для этого он использует информацию ближайшего маршрутизатора, который создает запрос по всей сети, где могут находиться входящие в заданную рабочую группу компьютеры.
Polk.gif
  • ATP (AppleTalk Transaction Protocol) - один из протоколов транспортного уровня, который отвечает за транзакции. Транзакция - это набор из запроса, ответа на этот запрос и идентификационного номера, который присваивается данному набору. Примером транзакции может быть сообщение о доставке данных от одного компьютера другому. Кроме того, ATP умеет делать разбивку больших пакетов на более мелкие с последующей их сборкой после подтверждения о приеме или доставке.
  • ADSP (AppleTalk Data Stream Protocol) - протокол, аналогичный ATP. Он отвечает за доставку пакетов. Однако в данном случае осуществляется не одна транзакция, а гарантированная доставка, которая может повлечь за собой несколько транзакций. Кроме того, протокол гарантирует, что данные при доставке не будут утеряны или продублированы. Первый протокол сеансового уровня называется протоколом потоков данных (AppleTalk Data Stream Protocol — ADSP). Протокол ADSP предоставляет полностью дуплексные услуги, ориентированные на установление соединения и характеризующиеся высокой степенью надёжности. Такая надёжность достигается путём установления логического соединения (сеанса) между двумя взаимодействующими процессами на клиентских машинах. Протокол ADSP позволяет управлять этим соединением, обеспечивая контроль потока данных, переупорядочение пакетов и рассылку подтверждений о приёме пакетов. Для установления логического соединения между процессами используются номера сокетов. После установления соединения две системы могут начать обмен данными. [Источник 2]
  • ASP (AppleTalk Session Protocol). Следующим протоколом сеансового уровня AppleTalk является собственно сеансовый протокол (AppleTalk Session Protocol — ASP). Протокол ASP обеспечивает надёжную доставку данных, используя для этого ориентированное на корректность принятых последовательностей управление сеансом (sequence-oriented session management), и предоставляет доступ к транспортным услугам протокола транспортного уровня AppleTalk Transport Protocol (ATP)
  • AURP (AppleTalk Update-Based Routing Protocol) Протокол маршрутизации с обновлением среды AppleTalk (AppleTalk Update-Based Routing Protocol — AURP) используется в больших сетях AppleTalk и применяется в основном для маршрутизации и поддержки обмена информацией между маршрутизирующими устройствами, в частности, между маршрутизаторами Exterior Gateway.
  • PAP(Printer Access Protocol) Кроме того, в состав сеансового уровня AppleTalk входит протокол доступа к принтеру (Printer Access Protocol — PAP). Несмотря на то что первоначально протокол РАР был разработан для управления доступом к сетевым принтерам, он может использоваться для обеспечения обмена данными между разнообразными устройствами. Между устройствами устанавливается двунаправленное соединение и одновременно осуществляется управление потоком данных и контроль последовательности пакетов.
  • RTMP (Routing Table Maintenance Protocol) - работает с маршрутными таблицами AppleTalk. Любая такая таблица содержит информацию о каждом сегменте, куда возможна доставка сообщений. Таблица состоит из номеров маршрутизаторов (порта), которые могут доставить сообщение к выбранному компьютеру, количества маошрутизаторов, параметров выбранных сегментов сети (скорости, загруженности и т. п).
Routing Table Maintenance Protocol

Сетевые объекты

Erty.gif

AppleTalk идентифицирует несколько сетевых объектов. Самым простым является узел (node), который является просто любым устройством, соединенным с сетью AppleTalk. Наиболее распространенными узлами являются компьютеры Macintosh и лазерные принтеры, однако многие другие компьютеры также способны осуществлять связь AppleTalk, в том числе компьютеры IBM PC, Digital Equipment Corparation VAX и различные АРМ. Следующим объектом, определяемым AppleTalk, является сеть. Сеть AppleTalk представляет собой просто отдельный логический кабель. Хотя этот логический кабель часто является отдельным физическим кабелем, некоторые вычислительные центры используют мосты для об'единения нескольких физических кабелей. И наконец, зона (zone) АppleTalk является логической группой из нескольких сетей (возможно находящихся далеко друг от друга).

Транспортный уровень

Для преобразования названия зон в номера сетей и узлов ZIP использует протокол связывания имён (Name Binding Protocol — NBP), принадлежащий транспортному уровню. Для рассылки данных об изменении конфигурации зоны используется протокол АТР.



Сетевая модель

Модель OSI Соответствующие уровни AppleTalk
Прикладной уровень Apple Filing Protocol (AFP)
Уровень представления Apple Filing Protocol (AFP)
Сеансовый уровень Zone Information Protocol (ZIP)
AppleTalk Session Protocol (ASP)
AppleTalk Data Stream Protocol (ADSP)
Транспортный уровень AppleTalk Transaction Protocol (ATP)
AppleTalk Echo Protocol (AEP)
Name Binding Protocol (NBP)
Routing Table Maintenance Protocol (RTMP)
Сетевой уровень Datagram Delivery Protocol (DDP)
Канальный уровень EtherTalk Link Access Protocol (ELAP)
LocalTalk Link Access Protocol (LLAP)
TokenTalk Link Access Protocol (TLAP)
Fiber Distributed Data Interface (FDDI)
Физический уровень LocalTalk driver
Ethernet driver
Token Ring driver
FDDI driver

[Источник 3]

Общие сведения

Взаимодействие протоколов стека AppleTalk согласно базовой модели OSI.

Для обеспечения работы компьютеров Macintosh и принтеров в сети компанией Apple Computer было разработано семейство протоколов AppleTalk. Первоначально функциональное назначение протокола AppleTalk ограничивалось сферой совместного использования принтеров. Позже он был расширен и стал включать в себя полный набор средств поддержки сетей. Этот протокол встроен в операционную систему Macintosh (Mac OS), а также во многие принтеры.

AppleTalk работает в различных сетях. Реализация AppleTalk для Ethernet носит название EtherTalk, а для Token Ring - TokenTalk. Тем не менее когда говорят о семействе в целом, то используют термин "AppleTalk".

Сам AppleTalk за свою историю претерпел ряд изменений. Первый вариант AppleTalk (AppleTalk Phase 1) годился лишь для небольших сетей. Приверженность Phase 1 к широковещательному режиму и невысокая производительность (особенно в крупных сетях) - это два его основных недостатка. В 1989 г. Apple представила новую версию своего сетевого протокола - AppleTalk Phase 2. За счет создания зон AppleTalk здесь был реализован принцип групповой адресации, а с помощью установки сетевого диапазона (network range) снято ограничение на количество узлов в сети. Phase 2 использует более эффективные методы маршрутизации, что способствует увеличению производительности и снижению нагрузки на сеть. При этом обратная совместимость с AppleTalk Phase 1 сохранена: устройства, работающие по протоколу Phase 1, могут подключаться к сети Phase 2, если в последней не применяется расширенная адресная схема (т. е. зоны и сетевые диапазоны). Кроме того, сети Phase 1 и Phase 2 могут быть связаны с помощью маршрутизаторов.

Семейство протоколов AppleTalk предназначено, в первую очередь, для обеспечения совместного использования файлов и принтеров, хотя AppleTalk можно применять и для приложений типа клиент-сервер. На Рисунке 1 приведена логическая структура стека протокола AppleTalk Phase 2 в соответствии с семиуровневой моделью OSI. Доступ к сетевым принтерам осуществляется по протоколу доступа к принтеру (Printer Access Protocol, PAP), а к сетевым файловым системам - по файловому протоколу AppleTalk (AppleTalk Filing Protocol, AFP).

Взаимодействие протоколов стека AppleTalk согласно базовой модели OSI.

Несмотря на функциональную законченность и детальную проработку AppleTalk, за ним закрепилась репутация довольно медленного, слишком избыточного и плохо масштабируемого протокола. Его основное назначение - сервис печати и файлов на уровне локальных сетей.[Источник 4]

Lkj.gif

Apple Talk была разработана как система распределенной сети клиент- сервер. Другими словами, пользователи совместно пользуются сетевыми ресурсами (такими, как файлы и принтеры). Компьютеры, обеспечивающие эти ресурсы, называются служебными устройствами (servers); компьютеры, использующие сетевые ресурсы служебных устройств, называются клиентами (clients). Взаимодействие со служебными устройствами в значительной степени является прозрачным для пользователя, т.к. сам компьютер определяет местоположение запрашиваемого материала и обращается к нему без получения дальнейшей информации от пользователя. В дополнение к простоте использования, распределенные системы также имеют экономические преимущества по сравнению с системами, где все равны, т.к.важные материалы могут быть помещены в нескольких, а не во многих местоположениях.

Apple Talk относительно хорошо согласуется с эталонной моделью OSI. На Рис. 16-1 "Apple Talk и эталонная модель OSI" представлены протоколы Apple Talk, смежные с теми уровнями OSI, с которыми у них установлено соответствие. Этот рисунок отличается от других изображений связи пакета протоколов Apple Talk с моделью OSI тем, что на нем NBP, ZIP и RTMP размещены на Уровне 3, а АЕР-на Уровне 7. По мнению Cisco, NBP, ZIP и RТМP по своим функциональным возможностям стоят в ряду ближе к Уровню 3 модели OSI, хотя они и пользуются услугами DDP, другого протокола Уровня 3. Аналогично, Cisco полагает, что АРЕ следует включить в перечень протоколов прикладного уровня, т.к. он обычно используется для обеспечения функциональных возможностей прикладного уровня. В частности, АЕР помогает определить возможность отдаленных узлов принимать следующие соединения.

Доступ к среде

Apple разработала AppleTalk таким образом, чтобы он был независимым от канального уровня. Другими словами, теоретически он может работать в дополнение к любой реализации канального уровня. Apple обеспечивает различные реализации канального уровня, включая Ethernet, Token Ring, FDDI и LocalTalk. Apple ссылается на AppleTalk, работающий в Ethernet, как нa EtherTalk, в Тоkеn Ring-кaк на TokenTalk и в FDDI-как на FDDITalk. Информация о технических характеристиках Ethernet, TokenRing и FDDI приведена соответственно в главе 5 "Ethernet/IEEE 802.3", главе 6 "Token Ring/IEEE 802.5" и главе 7 "FDDI".

LocalTalk - это запатентованная компанией Apple система доступа к носителю. Он базируется на конкуренции на получение доступа, топологии об'единения с помощью шины и передаче сигналов базовой полосы (baseband signaling) и работает на носителе, представляющим собой экранированную витую пару, со скоростью 230.4 Kb/сек. Физическим интерфейсом является RS-422; это сбалансированный интерфейс для передачи электрических сигналов, поддерживаемый интерфейсом RS-449. Сегменты LocalTalk могут переноситься на расстояния до 300 метров и обеспечивать до 32 узлов.

Адресация

Адрес AppleTalk был 4-байтовым. Он состоял из двухбайтового номера сети, однобайтового номера узла и однобайтового номера сокета. Из них только номер сети требовал любой конфигурации, будучи полученным от маршрутизатора. Каждый узел динамически выбрал свой собственный номер узла, в соответствии с протоколом (первоначально протокол LLAP LocalTalk Link Access Protocol, а затем протокол разрешения адресов AppleTalk, AARP)[33], который обрабатывал конфликты между различными узлами, случайно выбирая один и тот же номер. Для номеров сокетов несколько известных номеров были зарезервированы для специальных целей, специфичных для самого протокола AppleTalk. Кроме того, все протоколы уровня приложений должны были использовать динамически назначаемые номера сокетов как на стороне клиента, так и на стороне сервера.

Из-за такой динамики нельзя ожидать, что пользователи получат доступ к службам, указав свой адрес. Вместо этого все службы имеют имена, которые, будучи выбранными людьми, могут быть значимыми для пользователей, а также могут быть достаточно длинными, чтобы свести к минимуму вероятность конфликтов.

Поскольку имена NBP переводятся на адрес, который включал номер сокета, а также номер узла, имя в AppleTalk сопоставляется непосредственно с сервисом, предоставляемым машиной, которая была полностью отделена от имени самой машины. Таким образом, службы могут быть перемещены на другую машину, и до тех пор, пока они сохраняют одно и то же имя службы, пользователям не нужно делать что-либо другое, чтобы продолжить доступ к службе. И одна и та же машина может разместить любое количество экземпляров служб одного типа, без каких-либо конфликтов сетевых подключений.

Сравните это с записями в DNS, где имя преобразуется в адрес машины, не включая номер порта, который может предоставлять службу. Таким образом, если люди привыкли использовать определенное имя компьютера для доступа к определенной службе, их доступ будет нарушен при перемещении службы на другую машину. Это можно несколько уменьшить, настаивая на использовании записей CNAME, указывающих на службу, а не на фактических именах компьютеров для ссылки на службу, но нет способа гарантировать, что пользователи будут следовать такому соглашению. Некоторые новые протоколы, такие как Kerberos и Active Directory, используют записи SRV DNS для идентификации служб по имени, что намного ближе к режиму AppleTalk.

Физическая реализация

1280px-Apple LocalTalk box interior 1.jpg
1024px-Apple LocalTalk box interior 2 - auto termination switch.jpg

Начальной аппаратной реализацией по умолчанию для сетей AppleTalk был высокоскоростной последовательный протокол, известный как LocalTalk, который используется на Macintosh, как встроенный интерфейс RS-422 с портом на 230.4 Кбит/сек. LocalTalk использует коробку сплиттеров с RS-422 портом, чтобы обеспечить на входе и выходе кабеля из одного порта. Топология была шиной: кабели были соединены последовательно от каждой подключенной машины к следующей, до максимума 32 разрешенных на любом сегменте LocalTalk. Система была медленной по сегодняшним стандартам, но в то время дополнительные затраты и сложность сетей на ПК были такими, что было распространено, что Mac были единственными сетевыми персональными компьютерами в офисе. Другие более крупные компьютеры, такие как рабочие станции UNIX или VAX, обычно объединяются в сеть через Ethernet.

Другие физические реализации также были доступны. Одна из распространенных замена LocalTalk был PhoneNet, 3-й партии решение (от компании Фараллон, которая сейчас называется Netopia, приобретенной компанией Motorola в 2007 году), что также используется RS-422 порт и был неотличим от LocalTalk так далеко, как Apple LocalTalk порт водители были обеспокоены, но наехал на двух неиспользуемые провода в стандартный четырехпроводный телефонный кабель. PhoneNet был значительно дешевле в установке и обслуживании. Ethernet и Token Ring также поддерживались, известные как EtherTalk и TokenTalk соответственно. EtherTalk, в частности, постепенно стал доминирующим методом реализации AppleTalk, поскольку Ethernet стал широко популярным в индустрии ПК на протяжении 1990-х годов. Кроме AppleTalk и TCP / IP, любая сеть Ethernet может также одновременно нести другие протоколы, такие как DECnet и IPX.[Источник 5]

Версии

AppleTalk версии Протокол подачи Apple Соответствует Примечание
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 Open Transport 1.3
60.0a6 Mac OS 8.6 Open Transport 2.0.3
3.0 Mac OS X 10.0.3
2.1, 2.0 and even 1.1 Mac OS X v10.2
2.2, 3.0 and 3.1 Mac OS X v10.3
3.2 Mac OS X v10.4

Кросс-платформенные решения

Когда AppleTalk был впервые представлен, доминирующей офисной вычислительной платформы был компьютер, совместимый под управлением MS-DOS. Apple представила PC Card AppleTalk в начале 1987 года, что позволило ПК присоединиться к сети AppleTalk и печатать на принтерах LaserWriter. Год спустя был выпущен AppleShare PC, позволяющий ПК получить доступ к файловым серверам AppleShare.

Операционные системы BSD и Linux поддерживают AppleTalk через проект с открытым исходным кодом под названием Netatalk, который реализует полный набор протоколов и позволяет им выступать в качестве собственных файловых серверов или серверов печати для компьютеров Macintosh, а также печатать на принтерах LocalTalk по сети.

Операционные системы Windows Server поддерживали AppleTalk, начиная с Windows NT и заканчивая после Windows Server 2003. Miramar включило AppleTalk в своем продукте MacLAN ПК который был прерыван CA в 2007. GroupLogic продолжает связывать свой протокол AppleTalk с его Серверным программным обеспечением ExtremeZ-IP для интеграции Macintosh-Windows, который поддерживает Windows 2008 Server и Windows Vista, а также предыдущие версии. HELIOS Software GmbH предлагает запатентованную реализацию стека протоколов AppleTalk в составе своего сервера HELIOS UB2. Это, по сути, набор файлов и серверов печати, который работает на целом ряде различных платформ.

Кроме того, колумбийский Университет выпустил пакет Columbia AppleTalk (CAP), который реализовал набор протоколов для различных Unix-вкусов, включая Ultrix, SunOS, *BSD и IRIX. Этот пакет больше не поддерживается.

Источники

1. Internetworking Technology Overview//opennet[1996-2018]. Дата изменения: 10 февраля 2012.URL:https://www.opennet.ru/docs/RUS/Cisco_ITO/16.html(Дата обращения: 16.05.2018)

2.protokol_appletalk//.it-servis.[2005-2013]. Дата изменения: 10 февраля 2012.URL:http://www.it-servis.ru/dokum/lan/protokol_appletalk.php(Дата обращения: 16.05.2018)

3.Macintosh в сети//osp[2001–2018]. Дата изменения: 25 апреля 2016.URL:https://www.osp.ru/lan/1997/06/132868/(Дата обращения: 16.05.2018)

4.AppleTalk//en.wikipedia[2001–2018]. Дата изменения: 5 апреля 2018.URL:https://en.wikipedia.org/wiki/AppleTalk#AppleNet(Дата обращения: 16.05.2018)

Примечание

  1. Internetworking Technology Overview//opennet[1996-2018]. Дата изменения: 10 февраля 2012.URL:https://www.opennet.ru/docs/RUS/Cisco_ITO/16.html(Дата обращения: 16.05.2018).
  2. protokol_appletalk//.it-servis.[2005-2013]. Дата изменения: 10 февраля 2012.URL:http://www.it-servis.ru/dokum/lan/protokol_appletalk.php(Дата обращения: 16.05.2018).
  3. AppleTalk//wikipedia[2001–2018]. Дата изменения: 16 мая 2015.URL:https://ru.wikipedia.org/wiki/AppleTalk(Дата обращения: 16.05.2018).
  4. Macintosh в сети//osp[2001–2018]. Дата изменения: 25 апреля 2016.URL:https://www.osp.ru/lan/1997/06/132868/(Дата обращения: 16.05.2018).
  5. AppleTalk//en.wikipedia[2001–2018]. Дата изменения: 5 апреля 2018.URL:https://en.wikipedia.org/wiki/AppleTalk#AppleNet(Дата обращения: 16.05.2018).