AppleTalk - AppleTalk

AppleTalk
Стек протоколов
Логотип AppleTalk на панели управления.gif
Разработчики) Apple Inc.
Введено 1985 ; 36 лет назад ( 1985 )
Аппаратное обеспечение LocalTalk , другие

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

AppleTalk был выпущен в 1985 году и был основным протоколом, используемым устройствами Apple в 1980-х и 1990-х годах. Также были выпущены версии для IBM PC и совместимых устройств и Apple IIGS . Поддержка AppleTalk также была доступна в большинстве сетевых принтеров (особенно лазерных ), некоторых файловых серверах и ряде маршрутизаторов .

Рост TCP / IP в 1990-х годах привел к повторной реализации большей части этих типов поддержки для этого протокола, и AppleTalk перестала поддерживаться с момента выпуска Mac OS X v10.6 в 2009 году. Многие из более продвинутых функций автоконфигурации AppleTalk были с тех пор был представлен в Bonjour , в то время как Universal Plug and Play обслуживает аналогичные потребности.

История

AppleNet

После выпуска компьютера Apple Lisa в январе 1983 года Apple вложила значительные усилия в разработку системы локальной сети (LAN) для компьютеров. Известный как AppleNet , он был основан на оригинальном стеке протоколов Xerox XNS , но работал на специальной системе коаксиального кабеля 1 Мбит / с , а не на Ethernet 2,94 Мбит / с от Xerox . AppleNet была анонсирована в начале 1983 года с полным внедрением по целевой цене 500 долларов за подключаемые карты AppleNet для Lisa и Apple II .

В то время первые системы LAN только выходили на рынок, включая Ethernet , Token Ring , Econet и ARCNET . В то время это было темой крупных коммерческих усилий, доминирующих на таких выставках, как Национальная компьютерная конференция (NCC) в Анахайме в мае 1983 года. Все системы боролись за положение на рынке, но даже в то время широкое признание Ethernet подсказывало это. должен был стать стандартом де-факто . Именно на этом шоу Стив Джобс задал Гуршарану Сидху, казалось бы, безобидный вопрос: «Почему нетворкинг не прижился?»

Четыре месяца спустя, в октябре, AppleNet закрыли. В то время они объявили, что «Apple осознала, что создание сетевой системы - не бизнес. Мы построили и использовали AppleNet внутри компании, но мы поняли, что если бы мы ее поставили, то увидели бы появление новых стандартов. " В январе Джобс объявил, что вместо этого они будут поддерживать Token Ring IBM , которое, как он ожидал, выйдет через «несколько месяцев».

AppleBus

В этот период Apple глубоко погрузилась в разработку компьютера Macintosh. Во время разработки инженеры приняли решение использовать микросхему последовательного контроллера Zilog 8530 (SCC) вместо более дешевого и более распространенного UART для обеспечения соединений через последовательный порт . SCC стоил примерно на 5 долларов больше, чем UART, но предлагал гораздо более высокие скорости до 250 килобит в секунду (или выше с дополнительным оборудованием) и внутренне поддерживал ряд базовых сетевых протоколов, таких как IBM Bisync .

SCC был выбран потому, что он позволяет подключать к порту несколько устройств. Периферийные устройства, оснащенные аналогичными SCC, могут обмениваться данными с использованием встроенных протоколов, чередуя свои данные с другими периферийными устройствами на той же шине. Это устранило бы необходимость в большем количестве портов на задней панели машины и позволило бы исключить слоты расширения для поддержки более сложных устройств. Первоначальная концепция была известна как AppleBus и предполагала, что система, управляемая хостом Macintosh, будет опрашивать «немые» устройства аналогично современной универсальной последовательной шине .

Сеть AppleBus

Команда Macintosh уже начала работу над тем, что станет LaserWriter , и рассмотрела ряд других вариантов, чтобы ответить на вопрос о том, как совместно использовать эти дорогие машины и другие ресурсы. В серии заметок Боба Бельвилля эти концепции разъясняются, в частности, описываются Mac, LaserWriter и файловая серверная система, которая впоследствии станет Macintosh Office . К концу 1983 года стало ясно, что IBM Token Ring не будет готова к запуску Mac, а также может пропустить запуск других продуктов. В конце концов, Token Ring не будет поставляться до октября 1985 года.

Предыдущий вопрос Джобса Сидху уже породил ряд идей. Когда в октябре закрыли AppleNet, Сидху возглавил усилия по разработке новой сетевой системы на базе оборудования AppleBus. Эта новая система не должна была соответствовать никаким существующим предубеждениям и была разработана, чтобы быть достойной Mac - системы, устанавливаемой пользователем, с нулевой конфигурацией и без фиксированных сетевых адресов - короче говоря, настоящая подключаемая и -игровая сеть. Потребовались значительные усилия, но к тому времени, когда был выпущен Mac, основные концепции были изложены, и некоторые из низкоуровневых протоколов находились на стадии завершения. Сидху рассказал о работе Бельвиллю всего через два часа после анонса Mac.

«Новый» AppleBus был анонсирован в начале 1984 года, позволяя напрямую подключаться к Mac или Lisa через небольшую коробку, которая подключается к последовательному порту и подключается через кабели к следующему компьютеру в восходящем и нисходящем направлениях. Также были анонсированы адаптеры для Apple II и Apple III . Apple также объявила, что сети AppleBus могут быть присоединены к системе Token Ring и будут выглядеть как единственный узел внутри нее. Подробности того, как это будет работать, были отрывочными.

Персональная сеть AppleTalk

Незадолго до своего выпуска в начале 1985 года AppleBus был переименован в AppleTalk . Первоначально продаваемая как AppleTalk Personal Network , она включала семейство сетевых протоколов и физический уровень.

Физический уровень имел ряд ограничений, включая скорость всего 230,4 кбит / с, максимальное расстояние 1000 футов (300 м) от конца до конца и всего 32 узла на LAN. Но поскольку базовое оборудование было встроено в Mac, добавление узлов стоило всего около 50 долларов за блок адаптера. Для сравнения, карты Ethernet или Token Ring стоят сотни или тысячи долларов. Кроме того, для всего сетевого стека требовалось всего около 6 КБ ОЗУ, что позволяло запускать его на любом Mac.

Относительно низкая скорость AppleTalk позволила еще больше снизить стоимость. Вместо использования сбалансированных цепей передачи и приема RS-422 в кабелях AppleTalk использовалось одно общее электрическое заземление , которое ограничивало скорость примерно до 500 кбит / с, но позволяло удалить один провод. Это означало, что для проводки можно было использовать обычные трехжильные кабели. Кроме того, адаптеры были спроектированы так, чтобы быть «самоограничивающимися», что означает, что узлы в конце сети могли просто оставить свой последний разъем неподключенным. Не было необходимости снова соединять провода в петлю, не было необходимости в концентраторах или других устройствах.

Система была разработана для будущего расширения; система адресации позволяла расширяться до 255 узлов в локальной сети (хотя в то время можно было использовать только 32), а с помощью «мостов» (которые стали известны как «маршрутизаторы», хотя технически не то же самое) можно было соединить LAN в более крупные коллекции. «Зоны» позволяли адресовать устройства в подключенном по мосту Интернету. Кроме того, AppleTalk с самого начала разрабатывался так, чтобы разрешить использование с любым потенциальным базовым физическим каналом, и через несколько лет физический уровень будет переименован в LocalTalk , чтобы отличать его от протоколов AppleTalk.

Основным преимуществом AppleTalk было то, что он не требовал обслуживания. Чтобы подключить устройство к сети, пользователь просто подключил адаптер к машине, а затем подключил кабель от него к любому свободному порту на любом другом адаптере. Сетевой стек AppleTalk согласовал сетевой адрес, присвоил компьютеру удобочитаемое имя и составил список имен и типов других машин в сети, чтобы пользователь мог просматривать устройства через Chooser . AppleTalk был настолько прост в использовании, что специальные сети, как правило, появлялись всякий раз, когда несколько компьютеров Mac находились в одной комнате. Позже Apple будет использовать это в рекламе, показывающей сеть, создаваемую между двумя сиденьями в самолете.

PhoneNet и другие адаптеры

В течение следующих нескольких лет развивался процветающий сторонний рынок устройств AppleTalk. Одним особенно примечательным примером был альтернативный адаптер, разработанный BMUG и коммерциализированный Farallon как PhoneNet в 1987 году. По сути, он был заменой разъема Apple, который имел обычные телефонные разъемы вместо круглых разъемов Apple. PhoneNet позволял соединять сети AppleTalk с помощью обычных телефонных проводов, и с минимальными дополнительными усилиями можно было использовать аналоговые телефоны и AppleTalk по одному четырехжильному телефонному кабелю.

Другие компании воспользовались возможностью SCC считывать внешние часы, чтобы поддерживать более высокие скорости передачи, до 1 Мбит / с. В этих системах внешний адаптер также имел свои собственные часы и использовал их для подачи сигналов на входные контакты синхронизации SCC. Самой известной такой системой была Centram FlashTalk , которая работала со скоростью 768 кбит / с и предназначалась для использования с их сетевой системой TOPS . Похожим решением был DaynaTalk со скоростью 850 кбит / с , в котором использовался отдельный блок, который вставлялся между компьютером и обычным блоком LocalTalk / PhoneNet. Dayna также предлагала карту расширения для ПК, которая работала со скоростью до 1,7 Мбит / с при разговоре с другими картами Dayna для ПК. Существовало также несколько других систем с еще более высокой производительностью, но для них часто требовались специальные кабели, несовместимые с LocalTalk / PhoneNet, а также требовались исправления для сетевого стека, которые часто вызывали проблемы.

AppleTalk через Ethernet

По мере того, как Apple расширялась на коммерческие и образовательные рынки, им требовалось интегрировать AppleTalk в существующие сетевые установки. Многие из этих организаций уже вложили средства в очень дорогую инфраструктуру Ethernet, и не было прямого способа подключить Macintosh к Ethernet. AppleTalk включал структуру протокола для соединения подсетей AppleTalk, и поэтому в качестве решения EtherTalk изначально создавался для использования Ethernet в качестве магистрали между подсетями LocalTalk. Для этого организациям потребуется приобрести мост LocalTalk-to-Ethernet, и Apple предоставила третьим сторонам право производить эти продукты. Ответили несколько компаний, в том числе Hayes и несколько недавно созданных компаний, таких как Kinetics.

LocalTalk, EtherTalk, TokenTalk и AppleShare

К 1987 году Ethernet явно выигрывал битву стандартов над Token Ring, и в середине того же года Apple представила EtherTalk 1.0 , реализацию протокола AppleTalk на физическом уровне Ethernet. Представленная для недавно выпущенного компьютера Macintosh II , первого Macintosh от Apple со слотами расширения, операционная система включала новую панель управления сетью, которая позволяла пользователю выбирать, какое физическое соединение использовать для работы в сети (из «встроенного» или «EtherTalk»). . На момент внедрения карты интерфейса Ethernet были доступны от 3Com и Kinetics, которые вставлялись в слот Nubus в машине. Новый сетевой стек также расширил систему до 255 узлов в каждой локальной сети. С выпуском EtherTalk персональная сеть AppleTalk была переименована в LocalTalk , под этим именем она будет известна большую часть своей жизни. Позже Token Ring будет поддерживаться аналогичным продуктом TokenTalk , который использует ту же панель управления сетью и соответствующее программное обеспечение. Со временем многие сторонние компании представят совместимые карты Ethernet и Token Ring, использующие те же драйверы.

Появление Macintosh с прямым подключением Ethernet также усугубило проблему совместимости Ethernet и LocalTalk: сети с новыми и старыми Mac нуждались в каком-либо способе связи друг с другом. Это может быть так же просто, как сеть Ethernet Mac II, пытающаяся поговорить с LaserWriter, который подключен только к LocalTalk. Первоначально Apple полагалась на вышеупомянутые мостовые продукты LocalTalk-to-Ethernet, но вопреки убеждению Apple, что это будут продукты малого объема, к концу 1987 года уже использовалось 130 000 таких сетей. В то время AppleTalk была самой используемой сетевой системой в мире, ее количество было установлено более чем в три раза по сравнению с другими поставщиками.

1987 год также ознаменовался выпуском продукта AppleShare , выделенного файлового сервера, который работал на любом Mac с 512 КБ ОЗУ или более. Обычной машиной AppleShare был Mac Plus с внешним жестким диском SCSI . AppleShare была сетевой операционной системой №3 в конце 1980-х годов после Novell NetWare и Microsoft MS-Net . AppleShare фактически заменила неудачные попытки Macintosh Office, которые основывались на выделенном устройстве файлового сервера.

AppleTalk Phase II и другие разработки

В 1989 году был выпущен значительный переработанный дизайн под названием AppleTalk Phase II . Во многих отношениях фазу II можно рассматривать как попытку сделать более раннюю версию (никогда не называемую фазой I) более общей. Теперь локальные сети могут поддерживать более 255 узлов, а зоны больше не связаны с физическими сетями, а представляют собой полностью виртуальные конструкции, используемые просто для организации узлов. Например, теперь можно создать зону «Принтеры», в которой будут перечислены все принтеры в организации, или можно разместить это же устройство в зоне «2-й этаж», чтобы указать его физическое местоположение. Фаза II также включала изменения в лежащие в основе межсетевые протоколы, чтобы сделать их менее «болтливыми», что ранее было серьезной проблемой для сетей, соединенных через глобальные сети.

К этому моменту Apple разрабатывала широкий спектр коммуникационных продуктов, и многие из них были анонсированы вместе с AppleTalk Phase II. К ним относятся обновления EtherTalk и TokenTalk, программного обеспечения AppleTalk и оборудования LocalTalk для IBM PC , EtherTalk для операционной системы Apple A / UX, позволяющей использовать LaserPrinters и другие сетевые ресурсы, а также продукты Mac X.25 и MacX .

К 1990 году Ethernet стал почти универсальным, и пришло время встроить Ethernet в Mac прямо с завода. Однако физическая проводка, используемая в этих сетях, еще не была полностью стандартизирована. Apple решила эту проблему, используя единственный порт на задней панели компьютера, к которому пользователь мог подключить адаптер для любой данной кабельной системы. Эта система FriendlyNet была основана на стандартном интерфейсе присоединяемых устройств или AUI, но сознательно выбрала нестандартный разъем, который был меньше и проще в использовании, который они назвали «Apple AUI» или AAUI . FriendlyNet был впервые представлен на компьютерах Quadra 700 и Quadra 900 и какое-то время использовался на большей части линейки Mac. Как и в случае с LocalTalk, быстро появился ряд сторонних адаптеров FriendlyNet.

Поскольку 10BASE-T стала де-факто кабельной системой для Ethernet, компьютеры Power Macintosh второго поколения добавили порт 10BASE-T в дополнение к AAUI. В PowerBook 3400C и нижний конец Силовые компьютеры Mac также добавили 10BASE-T. Power Macintosh 7 300 / +8600 / 9600 были последние Macs включать AAUI и 10BASE-T стал универсальным отправным с Power Macintosh G3 и PowerBook G3 .

Интернет с большой буквы

С самого начала AppleTalk пользователи хотели подключить Macintosh к сетевым средам TCP / IP. В 1984 году Билл Крофт из Стэнфордского университета первым начал разработку IP-пакетов, инкапсулированных в DDP, в рамках проекта SEAGATE (Stanford Ethernet - AppleTalk Gateway). SEAGATE был коммерциализирован Kinetics в их мосте LocalTalk-to-Ethernet в качестве дополнительной опции маршрутизации. Несколько лет спустя MacIP был отделен от кода SEAGATE и стал де-факто методом маршрутизации IP-пакетов по сетям LocalTalk. К 1986 году Колумбийский университет выпустил первую версию пакета Columbia AppleTalk Package (CAP), который обеспечил более высокую интеграцию сред Unix, TCP / IP и AppleTalk. В 1988 году Apple выпустила MacTCP , систему, которая позволяла Mac поддерживать TCP / IP на машинах с подходящим оборудованием Ethernet. Однако это оставило многие университеты перед проблемой поддержки IP на их многих Mac с LocalTalk. Вскоре стало обычным включать поддержку MacIP в мосты LocalTalk-to-Ethernet. MacTCP не стал стандартной частью классической Mac OS до 1994 года, к тому времени он также поддерживал SNMP и PPP .

Некоторое время в начале 1990-х Mac был основным клиентом в быстро расширяющемся Интернете. Среди наиболее известных широко используемых программ были Fetch, Eudora, eXodus, NewsWatcher и пакеты NCSA, особенно NCSA Mosaic и его дочерний продукт , Netscape Navigator . Кроме того, появился ряд серверных продуктов, которые позволили Mac размещать Интернет-контент. За этот период у компьютеров Mac было в 2-3 раза больше клиентов, подключенных к Интернету, чем у любой другой платформы, несмотря на относительно небольшую общую долю рынка микрокомпьютеров.

По мере того, как мир быстро перешел на IP для использования как в LAN, так и в WAN, Apple столкнулась с необходимостью поддерживать две все более устаревшие кодовые базы на все более широкой группе машин, а также с внедрением компьютеров на базе PowerPC . Это привело к усилиям Open Transport , которые повторно реализовали MacTCP и AppleTalk на совершенно новой кодовой базе, адаптированной из стандартных STREAMS Unix . В ранних версиях были проблемы, и они некоторое время не работали стабильно. К тому моменту Apple была полностью поглощена своими в конечном итоге обреченными усилиями Copland .

Наследие и заброшенность

После покупки NeXT и последующего развития Mac OS X AppleTalk стал строго устаревшей системой. Поддержка была добавлена ​​в OS X для обеспечения поддержки большого количества существующих устройств AppleTalk, особенно лазерных принтеров и общих файловых ресурсов, но альтернативные решения для подключения, распространенные в эту эпоху, особенно USB для принтеров, ограничивали их спрос. Поскольку Apple отказалась от многих из этих категорий продуктов, и все новые системы были основаны на IP, AppleTalk становился все менее и менее распространенным. Поддержка AppleTalk была окончательно удалена из MacOS в Mac OS X v10.6 в 2009 году.

Однако потеря AppleTalk не уменьшила потребность в сетевых решениях, сочетающих простоту использования с IP-маршрутизацией. Apple руководила разработкой многих подобных проектов, от внедрения маршрутизатора AirPort до разработки сетевой системы с нулевой конфигурацией и ее реализации, Bonjour .

С 2020 года поддержка AppleTalk была полностью удалена из устаревшей поддержки в macOS 11 Big Sur.

Дизайн

Дизайн AppleTalk строго следовал модели многоуровневого протокола OSI . В отличие от большинства ранних систем LAN , AppleTalk не был построен с использованием архетипической системы Xerox XNS . Предполагаемой целью был не Ethernet, и у него не было 48-битных адресов для маршрутизации. Тем не менее, многие части системы AppleTalk имеют прямые аналоги в XNS.

Одним из ключевых отличий AppleTalk было то, что он содержал два протокола, предназначенных для полной самоконфигурации системы. Протокол разрешения адресов AppleTalk ( AARP ) позволял хостам AppleTalk автоматически генерировать свои собственные сетевые адреса, а протокол привязки имен ( NBP ) был динамической системой для сопоставления сетевых адресов с именами, читаемыми пользователем. Хотя системы, подобные AARP, существовали в других системах, например, Banyan VINES , ничего подобного NBP не существовало до недавнего времени.

И AARP, и NBP определили способы, позволяющие «контроллерам» отменять механизмы по умолчанию. Идея заключалась в том, чтобы позволить маршрутизаторам предоставлять информацию или «подключать» систему к известным адресам и именам. В более крупных сетях, где AARP может вызвать проблемы, поскольку новые узлы ищут свободные адреса, добавление маршрутизатора может уменьшить «болтливость». Вместе AARP и NBP сделали AppleTalk простой в использовании сетевой системой. Новые машины добавлялись в сеть путем их подключения и, при необходимости, присвоения им имени. Списки NBP проверялись и отображались программой, известной как Chooser, которая отображала список машин в локальной сети, разделенных на классы, такие как файловые серверы и принтеры.

Обращение

Адрес AppleTalk был четырехбайтовым числом. Он состоял из двухбайтового номера сети, однобайтового номера узла и однобайтового номера сокета. Из них только сетевой номер требовал какой-либо конфигурации, полученной от маршрутизатора. Каждый узел динамически выбирал свой собственный номер узла в соответствии с протоколом (первоначально LLAP, протокол доступа к каналу LocalTalk, а позже для Ethernet / EtherTalk, протокол разрешения адресов AppleTalk, AARP), который обрабатывал конфликты между разными узлами, случайно выбирающими один и тот же номер. Для номеров сокетов несколько хорошо известных номеров были зарезервированы для специальных целей, специфичных для самого протокола AppleTalk. Помимо этого, все протоколы уровня приложений должны были использовать динамически назначаемые номера сокетов как на стороне клиента, так и на стороне сервера.

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

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

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

Протоколы

Протокол разрешения адресов AppleTalk

AARP преобразует адреса AppleTalk в адреса канального уровня , обычно MAC . Он функционально эквивалентен ARP и обеспечивает разрешение адресов методом, очень похожим на ARP.

AARP - довольно простая система. При включении машина AppleTalk передает тестовый пакет AARP с запросом сетевого адреса, намереваясь получить ответ от контроллеров, таких как маршрутизаторы. Если адрес не указан, он выбирается случайным образом из «базовой подсети», 0. Затем он транслирует другой пакет с сообщением «Я выбираю этот адрес», а затем ждет, чтобы увидеть, не пожалуется ли кто-нибудь еще в сети. Если другой компьютер имеет этот адрес, он выберет другой адрес и будет продолжать попытки, пока не найдет свободный. В сети с большим количеством машин может потребоваться несколько попыток, прежде чем будет найден свободный адрес, поэтому в целях повышения производительности успешный адрес «записывается» в NVRAM и используется как адрес по умолчанию в будущем. Это означает, что в большинстве реальных установок, где машины добавляются по несколько за раз, требуется только одна или две попытки, прежде чем адрес станет фактически постоянным.

Протокол потока данных AppleTalk

Это было сравнительно позднее добавление к набору протоколов AppleTalk, сделанное, когда стало ясно, что необходим надежный транспорт, ориентированный на соединение в стиле TCP . Существенные отличия от TCP заключались в следующем:

  • попытка подключения может быть отклонена
  • не было «полуоткрытых» соединений; как только один конец инициирует разрыв соединения, все соединение будет закрыто ( т. е. ADSP является полнодуплексным , а не двойным симплексом ).
  • В AppleTalk была встроенная система сообщений о внимании, которая позволяла отправлять короткие сообщения в обход обычного потока данных. Они были доставлены надежно, но вышли из строя по отношению к потоку. Любое предупреждающее сообщение будет доставлено как можно скорее вместо того, чтобы ждать, пока текущая точка последовательности байтов потока станет текущей.

Протокол хранения Apple

Протокол Apple Filing Protocol (AFP), ранее называвшийся протоколом AppleTalk Filing Protocol, представляет собой протокол для связи с файловыми серверами AppleShare . Построенный на основе протокола сеанса AppleTalk (для устаревшего AFP через DDP) или интерфейса потока данных (для AFP через TCP), он предоставляет услуги для аутентификации пользователей (с возможностью расширения до различных методов аутентификации, включая двусторонний обмен случайными числами) и для выполнения операции, специфичные для файловой системы Macintosh HFS . AFP все еще используется в macOS, хотя большинство других протоколов AppleTalk устарели.

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

ASP был промежуточным протоколом, построенным на основе ATP, который, в свою очередь, был основой AFP. Он предоставлял базовые услуги для запроса ответов на произвольные команды d выполнения внеполосных запросов состояния. Это также позволило серверу посылать клиенту асинхронные предупреждающие сообщения.

Протокол доставки дейтаграмм

DDP был транспортным протоколом нижнего уровня, независимым от канала передачи данных. Он предоставлял дейтаграммы без каких-либо гарантий доставки. Все протоколы уровня приложений, включая протоколы инфраструктуры NBP, RTMP и ZIP, были построены на основе DDP. DDP AppleTalk близко соответствует сетевому уровню модели взаимодействия открытых систем ( OSI ).

Протокол привязки имени

Протокол привязки имен был динамической распределенной системой для управления именами AppleTalk. Когда служба запускается на машине, она регистрирует для себя имя, выбранное администратором-человеком. На этом этапе NBP предоставила систему для проверки того, что никакая другая машина уже не зарегистрировала то же имя. Позже, когда клиент хотел получить доступ к этой службе, он использовал NBP для запроса компьютеров, чтобы найти эту службу. NBP обеспечивал возможность просмотра («как называются все доступные службы?»), А также возможность найти службу с определенным именем. Имена были удобочитаемы, содержали пробелы, прописные и строчные буквы и включали поддержку поиска.

Протокол AppleTalk Echo

AEP (AppleTalk Echo Protocol) - это протокол транспортного уровня, предназначенный для проверки доступности сетевых узлов. AEP генерирует пакеты для отправки на сетевой узел и идентифицируется в поле Type пакета как пакет AEP. Пакет сначала передается исходному DDP. После того, как он идентифицирован как пакет AEP, он пересылается на узел, где пакет проверяется DDP в пункте назначения. После того, как пакет идентифицируется как пакет AEP, пакет затем копируется, и поле в пакете изменяется для создания пакета ответа AEP, а затем возвращается на узел источника.

Протокол доступа к принтеру

PAP был стандартным способом связи с принтерами PostScript . Он был построен на основе ATP. Когда было открыто соединение PAP, каждая сторона отправляла другой запрос ATP, что в основном означало «отправить мне больше данных». Ответ клиента серверу состоял в том, чтобы отправить блок кода PostScript, в то время как сервер мог ответить любыми диагностическими сообщениями, которые могли быть сгенерированы в результате, после чего был отправлен другой запрос «отправить больше данных». Такое использование АТФ обеспечивало автоматический контроль потока ; каждый конец мог отправлять данные на другой конец только в том случае, если имелся ожидающий ответа запрос ATP.

PAP также обеспечивает внеполосные запросы статуса, обрабатываемые отдельными транзакциями ATP. Даже когда он был занят обслуживанием задания на печать от одного клиента, PAP-сервер мог продолжать отвечать на запросы состояния от любого количества других клиентов. Это позволяло другим Macintosh в локальной сети, которые ожидали печати, отображать сообщения о состоянии, указывающие, что принтер занят, и что это за задание, которым он был занят.

Протокол обслуживания таблицы маршрутизации

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

Протокол информации о зоне

ZIP был протоколом, по которому номера сетей AppleTalk были связаны с именами зон. Зона была подразделением сети , что имело смысл для человека (например, «Бухгалтерия»); но в то время как номер сети должен был быть назначен топологически непрерывной части сети, зона могла включать в себя несколько различных несмежных частей сети.

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

Местный кабель и внутренняя печатная плата, вид со стороны портов
Выключатель автоматического завершения со снятой пылезащитной крышкой, вид сзади
Интерьер интерфейсного блока Apple LocalTalk. В 1989 году эти коробки обычно стоили 90 долларов США каждая. Разъемы имеют автоматическое электрическое завершение сигнальной шины LocalTalk; при вставке кабеля шины LocalTalk нажимается нормально замкнутый переключатель за разъемом, что приводит к отключению оконечной нагрузки для этого разъема.
Адаптер Farallon PhoneNET

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

Также были доступны другие физические реализации. Очень популярной заменой LocalTalk была PhoneNet , стороннее решение от Farallon Computing, Inc. (переименованное в Netopia , приобретенное Motorola в 2007 году), которое также использовало порт RS-422 и было неотличимо от LocalTalk, поскольку драйверы порта Apple LocalTalk были обеспокоен, но пробежал по двум неиспользуемым проводам в стандартном четырехжильном телефонном кабеле. Предвосхищая современные сетевые концентраторы и коммутаторы, Farallon предоставил решения для PhoneNet, которые можно использовать как в конфигурации «звезда», так и в конфигурации шины, как с «пассивными» соединениями звездой (с телефонными проводами, просто соединенными мостом друг с другом в центральной точке), так и с « активная «звезда» с оборудованием концентратора «PhoneNet Star Controller». Разъемы Apple LocalTalk не имели функции блокировки, поэтому разъемы могли легко отсоединиться, а конфигурация шины приводила к тому, что любой свободный разъем приводил к выходу из строя всей сети, и их было трудно отследить. Разъемы PhoneNet RJ-11, с другой стороны, защелкивались, и в звездообразной конфигурации любая проблема с проводкой затрагивала только одно устройство, и проблемы было легко определить. Низкая стоимость, гибкость и простота устранения неполадок PhoneNet сделали его доминирующим выбором для сетей Mac в начале 1990-х годов.

Протоколы AppleTalk также стали работать через Ethernet (сначала коаксиальный, а затем по витой паре) и физические уровни Token Ring , обозначенные Apple как EtherTalk и TokenTalk соответственно. EtherTalk постепенно стал доминирующим методом реализации AppleTalk, поскольку Ethernet стал широко популярным в индустрии ПК на протяжении 1990-х годов. Помимо AppleTalk и TCP / IP , любая сеть Ethernet может одновременно передавать другие протоколы, такие как DECnet и IPX .

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

Модель OSI Соответствующие уровни AppleTalk
заявка Протокол Apple Filing Protocol (AFP)
Презентация Протокол Apple Filing Protocol (AFP)
Сессия Протокол информации о зоне ( ZIP )
Протокол сеанса AppleTalk (ASP)
Протокол потока данных AppleTalk (ADSP)
Транспорт Протокол транзакций AppleTalk (ATP)
Протокол AppleTalk Echo (AEP) Протокол привязки
имен ( NBP )
Протокол обслуживания таблицы маршрутизации (RTMP)
Сеть Протокол доставки дейтаграмм ( DDP )
Канал передачи данных Протокол доступа к каналу EtherTalk (ELAP) Протокол доступа к каналу
LocalTalk (LLAP)
Протокол доступа к каналу TokenTalk (TLAP)
Оптоволоконный распределенный интерфейс данных ( FDDI )
Физический LocalTalk драйвер
драйвер Ethernet
Token Ring драйвер
FDDI драйвер

Версии

Версия AppleTalk Протокол хранения Apple Соответствует Примечания
56 Система 7.0
57.0.4 Система 7.12
58.1.1 Система 7.1.2
58.1.3 Система 7.5
60,3 Mac OS 7.6.1 Открытый транспорт 1.3
60.0a6 Mac OS 8.6 Открытый транспорт 2.0.3
3.0 Mac OS X 10.0.3
2.1, 2.0 и даже 1.1 Mac OS X v10.2
2.2, 3.0 и 3.1 Mac OS X v10.3
3.2 Mac OS X v10.4

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

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

Сетевая система MS-DOS «TOPS Teleconnector» через систему AppleTalk позволила ПК с MS-DOS обмениваться данными через сетевое оборудование AppleTalk; он состоял из интерфейсной карты AppleTalk для ПК и набора сетевого программного обеспечения, обеспечивающего такие функции, как совместное использование файлов, дисков и принтеров. Помимо создания сети AppleTalk только для ПК, он позволял осуществлять связь между ПК и Mac с установленным программным обеспечением TOPS. (Mac без установленного TOPS могли использовать ту же сеть, но только для связи с другими машинами Apple.) Программное обеспечение Mac TOPS не соответствовало качеству собственного Apple ни по простоте использования, ни по надежности и отсутствию сбоев, но программное обеспечение DOS было относительно прост в использовании в терминах DOS и был надежен.

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

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

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

Смотрите также

Примечания

использованная литература

Цитаты

Библиография