AppleTalk
Стек протоколов | |
Разработчик(и) | Apple Компьютер |
---|---|
Введение | 1985 год |
Аппаратное обеспечение | LocalTalk и другие |
AppleTalk — это проприетарный набор сетевых протоколов, выпуск которого прекращен, разработанный Apple Computer для компьютеров 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] но работает на специальной коаксиальной кабельной Xerox со скоростью 2,94 Мбит/с системе со скоростью 1 Мбит/с, а не на Ethernet . AppleNet была анонсирована в начале 1983 года с полным выпуском сменных карт AppleNet для Lisa и Apple II по целевой цене 500 долларов . [2]
В то время первые системы локальных сетей только появлялись на рынке, включая Ethernet , Token Ring , Econet и ARCNET . В то время это была тема крупных коммерческих усилий, доминировавшая на таких выставках, как Национальная компьютерная конференция (NCC) в Анахайме в мае 1983 года. Все системы боролись за позиции на рынке, но даже в это время широкое признание Ethernet предполагало это должно было стать стандартом де-факто . [3] Именно на этом шоу Стив Джобс задал Гуршарану Сидху, казалось бы, безобидный вопрос: «Почему нетворкинг не прижился?» [4]
Четыре месяца спустя, в октябре, AppleNet была закрыта. Тогда они объявили, что «Apple осознала, что создание сетевой системы не входит в ее задачу. Мы создали и использовали AppleNet собственными силами, но поняли, что если бы мы ее выпустили, мы бы увидели появление новых стандартов. " [5] В январе Джобс объявил, что вместо этого они будут поддерживать IBM Token Ring, выход которого, как он ожидал, произойдет «через несколько месяцев». [5]
AppleBus
[ редактировать ]В этот период Apple активно занималась разработкой компьютера Macintosh. Во время разработки инженеры приняли решение использовать микросхему последовательного контроллера Zilog 8530 (SCC) вместо более дешевого и более распространенного UART для обеспечения соединений последовательного порта . [6] SCC стоил примерно на 5 долларов дороже, чем UART, но предлагал гораздо более высокие скорости — до 250 килобит в секунду (или выше при наличии дополнительного оборудования) и внутренне поддерживал ряд базовых сетевых протоколов, таких как IBM Bisync . [7]
SCC был выбран потому, что он позволял подключать к порту несколько устройств. Периферийные устройства, оснащенные аналогичными SCC, могут взаимодействовать с использованием встроенных протоколов, чередуя свои данные с другими периферийными устройствами на той же шине. Это устранило бы необходимость в большем количестве портов на задней панели машины и позволило отказаться от слотов расширения для поддержки более сложных устройств. Первоначальная концепция была известна как AppleBus и предполагала, что система, управляемая хостом Macintosh, опрашивает «немые» устройства аналогично современной универсальной последовательной шине . [8]
Сеть AppleBus
[ редактировать ]Команда Macintosh уже начала работу над тем, что впоследствии станет LaserWriter , и рассмотрела ряд других вариантов ответа на вопрос о том, как совместно использовать эти дорогие машины и другие ресурсы. Серия записок Боба Бельвилля разъяснила эти концепции, описав Mac, LaserWriter и систему файлового сервера , которая впоследствии стала Macintosh Office . [4] К концу 1983 года стало ясно, что Token Ring от IBM не будет готова к запуску Mac, а также может пропустить выпуск этих других продуктов. В конце концов, Token Ring поступит в продажу только в октябре 1985 года. [9]
Предыдущий вопрос Джобса Сидху уже породил ряд идей. Когда в октябре AppleNet была закрыта, Сидху возглавил усилия по разработке новой сетевой системы на базе оборудования AppleBus. Эта новая система не должна была соответствовать каким-либо существующим предубеждениям и была разработана так, чтобы быть достойной Mac – системы, которая могла устанавливаться пользователем и не требовала никакой настройки или фиксированных сетевых адресов – короче говоря, настоящая сеть Plug-and-Play. . [10] [ нужен сторонний источник ] Потребовались значительные усилия, но к моменту выпуска Mac основные концепции были изложены, а некоторые протоколы низкого уровня находились на пути к завершению. Сидху рассказал о работе Бельвиллю всего через два часа после анонса Mac. [4]
«Новый» AppleBus был анонсирован в начале 1984 года. [Н 1] позволяющее прямое соединение с Mac или Lisa через небольшую коробку, которая подключается к последовательному порту и подключается с помощью кабелей к следующему компьютеру, расположенному выше и ниже по потоку. Также были анонсированы адаптеры для Apple II и Apple III . [11] Apple также объявила, что сеть AppleBus может быть подключена к системе Token Ring и будет представлять собой один узел внутри нее. [5] Подробности того, как это будет работать, были отрывочны. [5]
Персональная сеть AppleTalk
[ редактировать ]Незадолго до своего выпуска в начале 1985 года AppleBus был переименован в AppleTalk . Первоначально продававшаяся как AppleTalk Personal Network , она включала семейство сетевых протоколов и физический уровень.
Физический уровень имел ряд ограничений, в том числе скорость всего 230,4 кбит/с, максимальное расстояние 1000 футов (300 м) от конца до конца и только 32 узла в локальной сети. [12] Но поскольку базовое оборудование было встроено в Mac, добавление узлов стоило всего около 50 долларов за адаптер. Для сравнения, карты Ethernet или Token Ring стоят сотни или тысячи долларов. Кроме того, для всего сетевого стека требовалось всего около 6 КБ ОЗУ, что позволяло работать на любом Mac. [13]
Относительно низкая скорость AppleTalk позволила еще больше снизить затраты. Вместо использования сбалансированных схем передачи и приема RS-422 в кабелях AppleTalk использовалось одно общее электрическое заземление , что ограничивало скорость примерно до 500 кбит/с, но позволяло удалить один проводник. Это означало, что для проводки можно было использовать обычные трехжильные кабели. Кроме того, адаптеры были спроектированы как «самозавершающиеся», что означает, что узлы в конце сети могли просто оставить свой последний разъем неподключенным. Не было необходимости снова соединять провода в петлю, а также не было необходимости в концентраторах или других устройствах.
Система была разработана для будущего расширения; система адресации позволяла расширить локальную сеть до 255 узлов (хотя в то время можно было использовать только 32), а с помощью «мостов» (которые стали известны как «маршрутизаторы», хотя технически это не одно и то же) можно было соединять между собой ЛВС в более крупные коллекции. «Зоны» позволяли обращаться к устройствам в Интернете, подключенном через мост. Кроме того, AppleTalk с самого начала разрабатывался таким образом, чтобы его можно было использовать с любым потенциальным базовым физическим каналом связи. [14] и через несколько лет физический уровень будет переименован в LocalTalk , чтобы отличать его от протоколов AppleTalk.
Главным преимуществом AppleTalk было то, что он не требовал никакого обслуживания. Чтобы подключить устройство к сети, пользователь просто подключал адаптер к машине, а затем подключал от него кабель к любому свободному порту любого другого адаптера. Сетевой стек AppleTalk согласовал сетевой адрес, присвоил компьютеру удобочитаемое имя и составил список имен и типов других компьютеров в сети, чтобы пользователь мог просматривать устройства через Chooser . AppleTalk был настолько прост в использовании, что специальные сети возникали всякий раз, когда несколько компьютеров Mac находились в одной комнате. [15] Позже Apple использовала это в рекламе, показывающей создание сети между двумя сиденьями в самолете. [16]
PhoneNet и другие адаптеры
[ редактировать ]В течение следующих нескольких лет развивался процветающий сторонний рынок устройств AppleTalk. Одним из особенно примечательных примеров был альтернативный адаптер, разработанный BMUG и проданный Farallon под названием PhoneNET в 1987 году. [17] По сути, это была замена разъема Apple, который имел обычные телефонные разъемы вместо круглых разъемов Apple. PhoneNet позволял соединять сети AppleTalk вместе с помощью обычных телефонных проводов и с минимальными дополнительными усилиями мог использовать аналоговые телефоны и AppleTalk по одному четырехжильному телефонному кабелю.
Другие компании воспользовались способностью SCC считывать внешние часы, чтобы поддерживать более высокие скорости передачи — до 1 Мбит/с. В этих системах внешний адаптер также включал в себя собственный тактовый сигнал и использовал его для подачи сигналов на входные контакты тактового сигнала SCC. Самой известной такой системой была FlashTalk от Centram , работавшая на скорости 768 кбит/с и предназначавшаяся для использования с их сетевой системой TOPS . [18] Аналогичным решением была система DaynaTalk со скоростью 850 кбит/с , в которой использовался отдельный блок, подключаемый между компьютером и обычным блоком LocalTalk/PhoneNet. Dayna также предложила карту расширения для ПК, которая работала со скоростью до 1,7 Мбит / с при общении с другими картами Dayna для ПК. [19] [20] Также существовало несколько других систем с еще более высокой производительностью, но для них часто требовались специальные кабели, несовместимые с LocalTalk/PhoneNet, а также требовались исправления сетевого стека, что часто вызывало проблемы.
AppleTalk через Ethernet
[ редактировать ]По мере того как Apple расширяла свою деятельность на коммерческих и образовательных рынках, ей необходимо было интегрировать AppleTalk в существующие сетевые установки. Многие из этих организаций уже вложили средства в очень дорогую инфраструктуру Ethernet, и прямого способа подключить Macintosh к Ethernet не было. AppleTalk включал структуру протокола для соединения подсетей AppleTalk, поэтому в качестве решения изначально был создан EtherTalk для использования Ethernet в качестве магистрали между подсетями LocalTalk. Для этого организациям необходимо будет приобрести мост LocalTalk-to-Ethernet , и Apple предоставила третьим сторонам право производить эти продукты. [21] Откликнулся ряд компаний, в том числе Hayes и несколько недавно созданных компаний, таких как Kinetics.
LocalTalk, EtherTalk, TokenTalk и AppleShare
[ редактировать ]К 1987 году Ethernet явно выиграл битву за стандарты над Token Ring, и в середине того же года Apple представила EtherTalk 1.0 — реализацию протокола AppleTalk на физическом уровне Ethernet. Представленная для недавно выпущенного компьютера Macintosh II , одного из первых двух компьютеров Apple Macintosh со слотами расширения (у Macintosh SE был один слот другого типа), операционная система включала новую панель управления сетью , которая позволяла пользователю выбирать, какое физическое соединение использовать. использовать для работы в сети (из «Встроенного» или «EtherTalk»). Вначале интерфейсные карты Ethernet были доступны от 3Com и Kinetics, которые подключались к слоту Nubus на машине. Новый сетевой стек также расширил систему, позволив иметь до 255 узлов в каждой локальной сети. С выпуском EtherTalk персональная сеть AppleTalk была переименована в LocalTalk . [22] под этим именем он будет известен большую часть своей жизни. Позже 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 в то время была самой используемой сетевой системой в мире: ее было установлено более чем в три раза больше, чем у любого другого поставщика. [23] [ нужен сторонний источник ]
1987 год также ознаменовался появлением продукта AppleShare — выделенного файлового сервера , который работал на любом Mac с 512 КБ ОЗУ и более. Распространенной машиной AppleShare был Mac Plus с внешним SCSI жестким диском . №3 AppleShare была сетевой операционной системой в конце 1980-х годов после Novell NetWare и Microsoft MS-Net . [24] AppleShare фактически заменил неудачную попытку Macintosh Office, которая была основана на выделенном файловом сервере.
AppleTalk Phase II и другие разработки
[ редактировать ]Значительный редизайн был выпущен в 1989 году как AppleTalk Phase II . Во многих отношениях Фазу II можно рассматривать как попытку сделать более раннюю версию (никогда не называвшуюся Фазой I) более общей. Локальные сети теперь могли поддерживать более 255 узлов, а зоны больше не были связаны с физическими сетями, а представляли собой полностью виртуальные конструкции, используемые просто для организации узлов. Например, теперь можно создать зону «Принтеры», в которой будут перечислены все принтеры в организации, или разместить то же устройство в зоне «2-й этаж», чтобы указать его физическое местоположение. Фаза II также включала изменения в базовые межсетевые протоколы, чтобы сделать их менее «болтливыми», что ранее было серьезной проблемой в сетях, соединяющихся между собой глобальные сети. [25]
К этому моменту у Apple было в разработке множество коммуникационных продуктов, и многие из них были анонсированы вместе с AppleTalk Phase II. В их число входили обновления EtherTalk и TokenTalk, программного обеспечения AppleTalk и аппаратного обеспечения LocalTalk для IBM PC Apple A/UX, , EtherTalk для операционной системы позволяющего ей использовать LaserWriters и другие сетевые ресурсы, а также продуктов Mac X.25 и MacX .
К 1990 году Ethernet стал почти универсальным, и пришло время встраивать Ethernet в компьютеры Mac прямо с завода. Однако физическая проводка, используемая в этих сетях, еще не была полностью стандартизирована. Apple решила эту проблему, используя единственный порт на задней панели компьютера, к которому пользователь мог подключить адаптер для любой кабельной системы. Эта система FriendlyNet была основана на стандартном интерфейсе модуля крепления или AUI, но сознательно был выбран нестандартный разъем, который был меньше и проще в использовании, который они назвали «Apple AUI» или AAUI . FriendlyNet был впервые представлен на компьютерах Quadra 700 и Quadra 900 и некоторое время использовался на большей части линейки Mac. [26] Как и в случае с LocalTalk, быстро появилось несколько сторонних адаптеров FriendlyNet.
Поскольку 10BASE-T второго поколения стал де-факто кабельной системой для Ethernet, машины Power Macintosh добавили порт 10BASE-T в дополнение к AAUI. PowerBook 3400c и более дешевые модели Power Mac также добавили 10BASE-T. Power Macintosh Power 7300/8600/9600 были последними компьютерами Mac , Macintosh включавшими AAUI, а 10BASE-T стал универсальным, начиная с G3 и PowerBook G3 .
Столица-я Интернет
[ редактировать ]С самого начала AppleTalk пользователи хотели подключить Macintosh к TCP/IP сетевой среде . В 1984 году Билл Крофт из Стэнфордского университета стал пионером в разработке IP-пакетов, инкапсулированных в DDP, в рамках проекта SEAGATE (Стэнфордский шлюз 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. [26] MacTCP не станет стандартной частью классической Mac OS до 1994 года. [27] к тому времени он также поддерживал SNMP и PPP .
Некоторое время в начале 1990-х годов Mac был основным клиентом быстро расширяющегося Интернета. [ нужна ссылка ] Среди наиболее известных широко используемых программ были Fetch, Eudora, eXodus, NewsWatcher и пакеты NCSA, особенно NCSA Mosaic. [28] и его потомок Netscape Navigator . [29] Кроме того, появился ряд серверных продуктов, которые позволяли Mac размещать интернет-контент. За этот период у компьютеров Mac было в 2–3 раза больше клиентов, подключенных к Интернету, чем на любой другой платформе. [30] [ нужен сторонний источник ] несмотря на относительно небольшую общую долю рынка микрокомпьютеров.
Поскольку мир быстро перешел на IP для использования как в локальных, так и в глобальных сетях, Apple столкнулась с необходимостью поддерживать две все более устаревшие базы кода на все более широкой группе машин, а также с внедрением машин на базе PowerPC . Это привело к усилиям Open Transport , которые повторно реализовали MacTCP и AppleTalk на совершенно новой базе кода, адаптированной из стандарта UNIX STREAMS . Ранние версии имели проблемы и некоторое время не становились стабильными. [31] К этому моменту Apple была глубоко погружена в свои в конечном итоге обреченные Копленда усилия .
Наследие и заброшенность
[ редактировать ]С покупкой NeXT и последующей разработкой Mac OS X AppleTalk стала строго устаревшей системой. Поддержка была добавлена в Mac OS X, чтобы обеспечить поддержку большого количества существующих устройств AppleTalk, особенно лазерных принтеров и общих файловых ресурсов, но альтернативные решения для подключения, распространенные в ту эпоху, особенно USB для принтеров, ограничивали их спрос. Поскольку Apple отказалась от многих из этих категорий продуктов и все новые системы основывались на IP, AppleTalk становился все менее и менее распространенным. Поддержка AppleTalk была окончательно удалена из линейки macOS в Mac OS X v10.6 в 2009 году. [32]
Однако потеря AppleTalk не уменьшила потребность в сетевых решениях, сочетающих простоту использования с IP-маршрутизацией. Apple возглавляла разработку многих подобных проектов, от внедрения маршрутизатора AirPort до разработки сетевой системы с нулевой конфигурацией и ее реализации, Rendezvous, позже переименованной в 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 например . Примерно с 2002 года Rendezvous (комбинация обнаружения служб на основе DNS , многоадресной DNS и адресации на локальном канале ) обеспечивала возможности и удобство использования с использованием IP, которые были аналогичны возможностям AppleTalk. [33] [34]
И AARP, и NBP определили способы, позволяющие «контроллерным» устройствам переопределять механизмы по умолчанию. Идея заключалась в том, чтобы позволить маршрутизаторам предоставлять информацию или «жестко связать» систему с известными адресами и именами. В более крупных сетях, где AARP может вызвать проблемы, поскольку новые узлы ищут свободные адреса, добавление маршрутизатора может уменьшить «болтливость». Вместе AARP и NBP сделали AppleTalk простой в использовании сетевой системой. Новые машины добавлялись в сеть путем их подключения и, при необходимости, присвоения им имени. Списки NBP были проверены и отображены программой, известной как Chooser , которая отображала список машин в локальной сети, разделенный на такие классы, как файловые серверы и принтеры.
Адресация
[ редактировать ]Адрес AppleTalk представлял собой четырехбайтовую величину. Он состоял из двухбайтового номера сети, однобайтового номера узла и однобайтового номера сокета. Из них только номер сети требовал какой-либо настройки, поскольку был получен от маршрутизатора. Каждый узел динамически выбирал свой собственный номер узла в соответствии с протоколом (первоначально это был протокол доступа к каналу LocalTalk LLAP, а затем, для Ethernet/EtherTalk, протокол разрешения адресов AppleTalk, AARP). [35] который обрабатывал конфликты между разными узлами, случайно выбравшими один и тот же номер. Что касается номеров сокетов, то несколько общеизвестных номеров были зарезервированы для специальных целей, специфичных для самого протокола AppleTalk. Помимо этого, все протоколы уровня приложения должны были использовать динамически назначаемые номера сокетов как на стороне клиента, так и на стороне сервера.
Из-за такого динамизма нельзя ожидать, что пользователи получат доступ к услугам, указав свой адрес. Вместо этого все службы имели имена , которые, выбираемые людьми, могли быть значимыми для пользователей, а также могли быть достаточно длинными, чтобы свести к минимуму вероятность конфликтов.
Поскольку имена NBP преобразуются в адрес, который включает номер сокета, а также номер узла, имя в AppleTalk напрямую сопоставляется со службой , предоставляемой машиной, которая полностью отделена от имени самой машины. Таким образом, службы можно было переместить на другую машину, и, пока они сохраняли то же имя службы, пользователям не нужно было делать что-то другое, чтобы продолжить доступ к службе. И на одной и той же машине может быть размещено любое количество экземпляров служб одного типа без каких-либо конфликтов сетевых подключений.
Сравните это с записями A в DNS , в которых имя преобразуется в адрес компьютера, не включая номер порта, который может предоставлять услугу. Таким образом, если люди привыкли использовать определенное имя машины для доступа к определенной службе, их доступ прекратится, когда служба будет перенесена на другую машину. Это можно несколько смягчить, настаивая на использовании записей CNAME, указывающих службу, а не фактических имен компьютеров для ссылки на службу, но нет никакого способа гарантировать, что пользователи будут следовать такому соглашению. Некоторые новые протоколы, такие как Kerberos и Active Directory, используют записи DNS SRV для идентификации служб по имени, что намного ближе к модели AppleTalk. [ оригинальное исследование? ]
Протоколы
[ редактировать ]Этот раздел нуждается в дополнительных цитатах для проверки . ( Март 2023 г. ) |
Протокол разрешения адресов AppleTalk
[ редактировать ]Протокол разрешения адресов AppleTalk (AARP) преобразует адреса AppleTalk в адреса канального уровня . [36] Он функционально эквивалентен ARP и обеспечивает разрешение адресов методом, очень похожим на ARP.
AARP — довольно простая система. При включении компьютер AppleTalk передает тестовый пакет AARP с запросом сетевого адреса, намереваясь получить ответ от контроллеров, таких как маршрутизаторы. Если адрес не указан, он выбирается случайным образом из «базовой подсети», 0. Затем он передает еще один пакет со словами «Я выбираю этот адрес», а затем ждет, не пожалуется ли кто-нибудь еще в сети. Если этот адрес есть у другой машины, новая подключающаяся машина выберет другой адрес и продолжит попытки, пока не найдет свободный. [37] В сети со многими машинами может потребоваться несколько попыток, прежде чем будет найден свободный адрес, поэтому в целях повышения производительности успешный адрес записывается в NVRAM и используется в качестве адреса по умолчанию в будущем. Это означает, что в большинстве реальных систем, где машины добавляются по несколько одновременно, требуется всего одна или две попытки, прежде чем адрес фактически станет постоянным.
Протокол потока данных AppleTalk
[ редактировать ]Протокол AppleTalk Data Stream Protocol (ADSP) был сравнительно поздним дополнением к набору протоколов AppleTalk, когда стало ясно, что TCP необходим надежный транспорт в стиле , ориентированный на соединение. Существенные отличия от TCP заключались в том, что:
- Попытка подключения может быть отклонена.
- Никаких «полуоткрытых» соединений не было; как только один конец инициирует разрыв соединения, все соединение будет закрыто ( т. е . ADSP является полнодуплексным , а не дуплексным ).
- В AppleTalk была включена система сообщений о внимании, которая позволяла отправлять короткие сообщения в обход обычного потока данных. Они были доставлены надежно, но не в порядке относительно потока. Любое сообщение о внимании будет доставлено как можно скорее, вместо того, чтобы ждать, пока текущая точка последовательности байтов потока станет текущей. [38]
Протокол хранения данных Apple
[ редактировать ]Apple Filing Protocol (AFP), ранее называвшийся AppleTalk Filing Protocol, — это протокол для связи с AppleShare файловыми серверами . Созданный на базе протокола сеанса AppleTalk (для устаревшего AFP через DDP) или интерфейса потока данных (для AFP через TCP), он предоставляет услуги для аутентификации пользователей (с возможностью расширения до различных методов аутентификации, включая двусторонний обмен случайными числами) и для выполнения операции, специфичные для файловой системы Macintosh HFS . AFP все еще используется в macOS, хотя большинство других протоколов AppleTalk устарели.
Протокол сеанса AppleTalk
[ редактировать ]Протокол сеанса AppleTalk (ASP) был промежуточным протоколом, построенным на основе протокола транзакций AppleTalk (ATP), который, в свою очередь, был основой AFP. Он предоставлял базовые услуги для запроса ответов на произвольные команды и выполнения внеполосных запросов состояния. Это также позволило серверу отправлять асинхронные сообщения клиенту.
Протокол транзакций AppleTalk
[ редактировать ]Протокол транзакций AppleTalk (ATP) был оригинальным надежным протоколом транспортного уровня для AppleTalk, построенным на основе DDP. В то время, когда он разрабатывался, полный и надежный протокол, ориентированный на соединение, такой как TCP, считался слишком дорогим для реализации для большинства предполагаемых применений AppleTalk. Таким образом, ATP представлял собой простой обмен запросами/ответами без необходимости устанавливать или разрывать соединения.
ATP На пакет запроса может быть получено до восьми ответных пакетов. Затем запрашивающая сторона отправила пакет подтверждения , содержащий битовую маску, указывающую, какой из ответных пакетов он получил, чтобы ответчик мог повторно передать оставшуюся часть.
ATP может работать либо в режиме «хотя бы один раз», либо в режиме «ровно один раз». Режим «точно один раз» был необходим для операций, которые не были идемпотентными ; в этом режиме ответчик хранил копию буферов ответа в памяти до успешного получения пакета освобождения от запрашивающей стороны или до истечения времени ожидания. Таким образом, он может отвечать на повторяющиеся запросы с одним и тем же идентификатором транзакции, повторно отправляя одни и те же данные ответа, без повторного выполнения фактической операции.
Протокол доставки датаграмм
[ редактировать ]Протокол доставки дейтаграмм (DDP) был транспортным протоколом самого низкого уровня, независимым от канала передачи данных. Он предоставлял услуги дейтаграмм без каких-либо гарантий доставки. Все протоколы уровня приложений, включая инфраструктурные протоколы NBP, RTMP и ZIP, были построены на основе DDP. DDP AppleTalk близко соответствует сетевому уровню модели связи взаимодействия открытых систем ( OSI ).
Протокол привязки имени
[ редактировать ]Протокол привязки имен (NBP) представлял собой динамическую распределенную систему управления именами AppleTalk. Когда служба запускалась на машине, она регистрировала себе имя, выбранное администратором-человеком. На этом этапе NBP предоставила систему для проверки того, что ни одна другая машина еще не зарегистрировала такое же имя. Позже, когда клиент захотел получить доступ к этому сервису, он использовал NBP для запроса компьютеров, чтобы найти этот сервис. NBP обеспечила возможность просмотра («Как называются все доступные услуги?»), а также возможность найти услугу с определенным именем. [36] Имена были удобочитаемыми, содержали пробелы, прописные и строчные буквы и включали поддержку поиска.
Протокол эха AppleTalk
[ редактировать ]AppleTalk Echo Protocol (AEP) — протокол транспортного уровня, предназначенный для проверки доступности сетевых узлов. [36] AEP генерирует пакеты для отправки сетевому узлу и идентифицируется в поле «Тип» пакета как пакет AEP. Пакет сначала передается исходному DDP. После того, как он идентифицирован как пакет AEP, он пересылается на узел, где пакет проверяется DDP в пункте назначения. После того как пакет идентифицирован как пакет AEP, он копируется, и поле в пакете изменяется для создания ответного пакета AEP, а затем возвращается на исходный узел.
Протокол доступа к принтеру
[ редактировать ]Протокол доступа к принтеру (PAP) был стандартным способом связи с принтерами PostScript . Он был построен на основе ATP. [36] Когда PAP-соединение было открыто, каждый конец отправлял другому запрос ATP, что в основном означало «отправьте мне больше данных». Ответ клиента серверу заключался в отправке блока кода PostScript, в то время как сервер мог ответить любыми диагностическими сообщениями, которые могли быть сгенерированы в результате, после чего был отправлен еще один запрос «отправить больше данных». Такое использование АТФ обеспечило автоматическое управление потоком ; каждый конец мог отправлять данные на другой конец только в том случае, если существовал невыполненный запрос ATP, на который нужно было ответить.
PAP также обеспечивает внеполосные запросы состояния, обрабатываемые отдельными транзакциями ATP. Даже когда он был занят обслуживанием задания на печать от одного клиента, PAP-сервер мог продолжать отвечать на запросы о состоянии от любого количества других клиентов. Это позволило другим компьютерам Macintosh в локальной сети, ожидавшим печати, отображать сообщения о состоянии, указывающие, что принтер занят, и каким заданием он был занят.
Протокол обслуживания таблицы маршрутизации
[ редактировать ]Протокол обслуживания таблицы маршрутизации (RTMP) — это протокол, с помощью которого маршрутизаторы информировали друг друга о топологии сети. [36] Это была единственная часть AppleTalk, которая требовала периодических нежелательных широковещательных рассылок: каждые 10 секунд каждый маршрутизатор должен был рассылать список всех сетевых номеров, о которых он знал, и о том, как далеко, по его мнению, они находились.
Информационный протокол зоны
[ редактировать ]Протокол информации о зоне (ZIP) — это протокол, с помощью которого номера сетей AppleTalk были связаны с именами зон. [36] Зона — это подразделение сети, имеющее смысл для людей (например, «Бухгалтерский отдел»); но хотя номер сети должен был быть присвоен топологически непрерывному участку сети, зона могла включать в себя несколько различных несмежных частей сети.
Физическая реализация
[ редактировать ]Первоначальной аппаратной реализацией AppleTalk по умолчанию был высокоскоростной последовательный протокол, известный как LocalTalk , который использовал Macintosh встроенные в порты RS-422 со скоростью 230,4 кбит/с. LocalTalk использовал разветвитель в порту RS-422 для обеспечения восходящего и нисходящего кабеля от одного порта. Топология представляла собой шину : кабели подключались последовательно от каждой подключенной машины к следующей, до 32, разрешенных в любом сегменте LocalTalk . Система была медленной по сегодняшним меркам, но в то время дополнительные затраты и сложность сети на ПК были таковы, что Mac были обычными персональными компьютерами в офисе, подключенными к сети. Другие более крупные компьютеры, такие как рабочие станции UNIX или VAX, обычно подключаются к сети через Ethernet.
Были также доступны и другие физические реализации. Очень популярной заменой LocalTalk была PhoneNET , стороннее решение от Farallon Computing, Inc. (переименованное в Netopia , приобретенное Motorola в 2007 году), которое также использовало порт RS-422 и было неотличимо от LocalTalk в отношении драйверов порта LocalTalk от Apple. были обеспокоены, но использовали очень недорогие стандартные телефонные кабели с четырехпроводными шестипозиционными модульными разъемами , те же кабели, которые используются для подключения стационарных телефонов. Поскольку использовалась вторая пара проводов, сетевые устройства можно было подключать даже через существующие телефонные розетки, если второй линии не было. Предвосхищая сегодняшние сетевые концентраторы и коммутаторы, компания Farallon предоставила решения для PhoneNet, которые можно использовать как в звездообразной, так и в шинной конфигурации, как с пассивными звездообразными соединениями (когда телефонные провода просто соединяются друг с другом в центральной точке), так и с активной звездой с «PhoneNet». Аппаратное обеспечение концентратора Star Controller. В звездообразной конфигурации любая проблема с проводкой затрагивала только одно устройство, и проблему было легко обнаружить. Низкая стоимость, гибкость и простота устранения неполадок PhoneNet привели к тому, что в начале 1990-х годов он стал доминирующим выбором для сетей Mac.
Протоколы AppleTalk также стали работать через физические уровни Ethernet (сначала коаксиальный, а затем по витой паре) и Token Ring , обозначенные Apple как EtherTalk и TokenTalk соответственно. EtherTalk постепенно стал доминирующим методом реализации AppleTalk, поскольку Ethernet стал широко популярен в индустрии ПК на протяжении 1990-х годов. Помимо AppleTalk и TCP/IP , любая сеть Ethernet может также одновременно поддерживать другие протоколы, такие как DECnet и IPX .
Сетевая модель
[ редактировать ]Модель OSI | Соответствующие слои AppleTalk |
---|---|
Приложение | Файловый протокол Apple (AFP) |
Презентация | Файловый протокол Apple (AFP) |
Сессия | Протокол информации о зоне ( ZIP ) Протокол сеанса AppleTalk (ASP) Протокол потока данных AppleTalk (ADSP) |
Транспорт | Протокол транзакций AppleTalk (ATP) Протокол эха AppleTalk (AEP) Протокол привязки имени ( NBP ) Протокол обслуживания таблицы маршрутизации (RTMP) |
Сеть | Протокол доставки датаграмм ( DDP ) |
Ссылка на данные | Протокол доступа к каналу EtherTalk (ELAP) Протокол доступа к каналу LocalTalk (LLAP) Протокол доступа к каналу TokenTalk (TLAP) Оптоволоконный распределенный интерфейс данных ( FDDI ) |
Физический | LocalTalk Драйвер Ethernet-драйвер Token Ring Драйвер FDDI драйвер |
Версии
[ редактировать ]Этот раздел нуждается в расширении . Вы можете помочь, добавив к нему . ( июнь 2008 г. ) |
AppleTalk-версия | Протокол хранения данных Apple | Соответствует | Примечания |
---|---|---|---|
56 | Система 7.0 | ||
57.0.4 | Система 7.12 | ||
58.1.1 | Система 7.1.2 | ||
58.1.3 | Система 7.5 | ||
60.3 | МакОС 7.6.1 | Открытый транспорт 1.3 | |
60.0а6 | МакОС 8.6 | Открытый транспорт 2.0.3 | |
3.0 | Mac OS X 10.0.3 | ||
2.1, 2.0 и даже 1.1 | Mac OS X версии 10.2 | ||
2.2, 3.0 и 3.1 | Mac OS X версии 10.3 | ||
3.2 | Mac OS X версии 10.4 |
Кроссплатформенные решения
[ редактировать ]Когда AppleTalk был впервые представлен, доминирующей платформой офисных вычислений была совместимая с ПК платформа MS-DOS. Apple представила карту AppleTalk PC Card в начале 1987 года, позволяющую ПК подключаться к сетям AppleTalk и печатать на принтерах LaserWriter. [39] Год спустя был выпущен AppleShare PC, позволяющий ПК получать доступ к файловым серверам AppleShare. [40]
«Телеконнектор TOPS» [41] Сетевая система MS-DOS поверх системы AppleTalk позволяла ПК с MS-DOS обмениваться данными через сетевое оборудование AppleTalk; он включал в себя интерфейсную карту AppleTalk для ПК и набор сетевого программного обеспечения, обеспечивающий такие функции, как общий доступ к файлам, дискам и принтерам. Помимо создания сети AppleTalk только для ПК, он позволял осуществлять связь между ПК и Mac с установленным программным обеспечением TOPS. (Маки без установленного TOPS могли использовать ту же сеть, но только для связи с другими компьютерами Apple.) Программное обеспечение Mac TOPS не соответствовало качеству собственного программного обеспечения Apple ни по простоте использования, ни по надежности и свободе от сбоев, но программное обеспечение DOS было относительно прост в использовании в терминах DOS и надежен.
Операционные системы BSD , который реализует полный набор протоколов и позволяет им действовать как собственные файловые серверы или серверы печати для и Linux поддерживают AppleTalk через проект с открытым исходным кодом под названием Netatalk компьютеров Macintosh, а также печатать на принтерах LocalTalk по сети.
Операционные системы Windows Windows Server поддерживали AppleTalk, начиная с 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 . Этот пакет больше не поддерживается.
См. также
[ редактировать ]- Netatalk — это бесплатная реализация набора протоколов AppleTalk с открытым исходным кодом.
- Сетевая файловая система
- Удаленный обмен файлами
- Самба
- Блок сообщений сервера
Примечания
[ редактировать ]Ссылки
[ редактировать ]Цитаты
[ редактировать ]- ^ Маркофф, Джон (14 февраля 1983 г.). «Apple планирует создать более медленную и доступную локальную сеть» . Инфомир . п. 14.
- ^ Оппенгеймер 2004 , слайд 3.
- ^ Ахль, Дэвид (август 1983 г.). «Национальная компьютерная конференция 1983 года, 16–19 мая, Анахайм, Калифорния» . Творческие вычисления . п. 188.
- ^ Jump up to: а б с Сидху, Эндрюс и Оппенгеймер 1989 , с. XXIII.
- ^ Jump up to: а б с д Бартимо 1984 , с. 45.
- ^ Оппенгеймер 2004 , слайд 6.
- ^ Руководство пользователя Zilog Z8530 . Зилог . п. 1-1.
- ^ Оппенгеймер 2004 , слайд 9.
- ^ «Техническое резюме Token-Ring» . Раздел 1.2. Архивировано из оригинала 22 апреля 2012 года.
- ^ Оппенгеймер 2004 , слайд 10.
- ^ Баримо, Джим (26 марта 1984 г.). «Apple, ожидая появления сети IBM, связывает микросхемы с AppleBus» . Инфомир . стр. 45–46.
- ^ Оппенгеймер 2004 , слайд 15.
- ^ Оппенгеймер 2004 , слайд 19.
- ^ Оппенгеймер 2004 , слайд 17.
- ^ Ларсон, Ли (октябрь 1999 г.). «LocalTalk на EtherTalk?» . Луисвиллские компьютерные новости .
- ^ Реклама компьютеров Apple — сеть Powerbook .
- ^ Оппенгеймер 2004 , слайд 28.
- ^ Браун, Тим (26 октября 1987 г.). «AppleTalk стал быстрее» . Сетевой мир . п. 27.
- ^ Баттель, Джон (23 мая 1989 г.). «Корабль ускорителей DaynaTalk» . МакВИК .
- ^ «Получите больше производительности от своей сети» . Инфомир . 11 декабря 1989 года.
- ^ Оппенгеймер 2004 , слайд 31.
- ^ Оппенгеймер 2004 , слайд 30.
- ^ Оппенгеймер 2004 , слайд 32.
- ^ ДиДио, Лаура (11 июля 1988 г.). «Исследование показало, что NetWare является предпочтительной ОС» . Сетевой мир . п. 17.
- ^ Оппенгеймер 2004 , слайд 34.
- ^ Jump up to: а б Оппенгеймер 2004 , Слайд 36.
- ^ Оппенгеймер 2004 , слайд 43.
- ^ Калор, Майкл. «22 апреля 1993 г.: Браузер Mosaic освещает Интернет цветом и творчеством» . Проводной . Проверено 14 октября 2017 г.
- ^ Оппенгеймер 2004 , слайд 46.
- ^ Оппенгеймер 2004 , слайд 51.
- ^ Оппенгеймер 2004 , слайд 54.
- ^ «Mac OS X v10.6: Mac 101 – Печать» . Проверено 2 сентября 2009 г.
- ^ Чешир, Стюарт. «Многоадресный DNS» . Проверено 5 октября 2022 г.
- ^ Чешир, Южная Каролина ; Крохмаль, М. (февраль 2013 г.). Многоадресный DNS . дои : 10.17487/RFC6762 . РФК 6762 . Проверено 5 октября 2022 г.
- ^ Сидху, Эндрюс и Оппенгеймер 1989 .
- ^ Jump up to: а б с д и ж «Обзор AppleTalk» (PDF) . Циско . 2 февраля 2010 г. Проверено 21 марта 2023 г.
- ^ Фаас, Райан (15 марта 2005 г.). «Внутри Mac OS: взгляд на AppleTalk и зоны» . Макмир . Проверено 21 марта 2023 г.
- ^ Сидху, Эндрюс и Оппенгеймер 1989 , стр. 12-19.
- ^ Петроски, Мэри (2 февраля 1987 г.). «Наконец-то AppleShare выходит в эфир» . Сетевой мир . п. 4.
- ^ «Apple начинает поставки программного обеспечения AppleShare для ПК» . Инфомир . 18 января 1988 г. с. 29.
- ^ Стивенс, Марк (25 января 1988 г.). «Телеконнекторы TOPS соединяют компьютеры с собственными сетями Flashtalk» . Инфомир . п. 12.
Библиография
[ редактировать ]- Сидху, Гуршаран; Эндрюс, Ричард; Оппенгеймер, Алан (1989). Внутри AppleTalk, второе издание (PDF) . Аддисон-Уэсли. ISBN 0-201-55021-0 . Архивировано (PDF) из оригинала 9 октября 2022 года.
- Бартимо, Джим (26 марта 1984 г.). «Apple, ожидая появления сети IBM, связывает микросхемы с AppleBus» . Инфомир : 45.
- Оппенгеймер, Алан (январь 2004 г.). «История сетей Macintosh» . МакВорлд Экспо . Архивировано из оригинала 16 октября 2006 года.