Протокол AppleTalk

Материал из ПИЭ.Wiki

Перейти к: навигация, поиск


Содержание

Библиографическая справка

В начале 1980 г. Apple Computer готовилась к выпуску компьютера 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, обеспечив их успешное применение в более крупных сетях.


Сеть AppleTalk разработана компанией apple computer inc. (ЭВМ Macintosh, 1987 г) Эти сети могут работать в среде Ethernet, Token Ring, FDDI и LocalTalk (собственная сеть apple, использующая скрученные пары). В AppleTalk специфицирован собственный стек протоколов, которые управляют потоком данных в сети. Для целей маршрутизации AppleTalk использует модифицированную версию внутреннего протокола маршрутизации IGRP. Стек протоколов appletalk phase ii включает в себя:

  1. Протокол доступа к каналу Tokentalk (TLAP - Tokentalk link access protocol)
  2. Протокол доступа к каналу Ethertalk (ELAP - Ethertalk link access protocol)
  3. Протокол доступа к каналу Localtalk (LLAP - Localtalk link access protocol)
  4. Протокол доставки дейтограмм (DDP - datagram delivery protocol)
  5. Протокол работы с именами (NBP - name binding protocol)
  6. Протокол для работы с зонной информацией (ZIP - zone information protocol)
  7. Протокол откликов в Appletalk (AEP - appletalk echo protocol)
  8. Протокол актуализации маршрутной информации (AURP - Appletalk update routing protocol)
  9. Протокол управления потоком данных (adsp - appletalk data stream protocol)
  10. Протокол сессий (ASP - Appletalk session protocol)
  11. Протокол доступа к принтеру (PAP - printer access protocol)
  12. Протокол операций (ATP - Appletalk transaction protocol)
  13. Файловый протокол (AFP - Appletalk filing protocol)


Протокoл разрешения адреса AppleTalk (AARP)

Фактические механизмы выбора адреса AppleTalk зависят от носителя. Для установления связи адресов AppleTalk с конкретными адресами носителя используется протокoл разрешения адреса AppleTalk (AARP). AARP также устанавливает связи между адресами других протоколов и аппаратными адресами. Если пакет протоколов AppleTalk или любого другой пакет протоколов должен отправить пакет данных в другой сетевой узел, то адрес протокола передается в AARP. AARP сначала проверяет адресный кэш, чтобы определить, является ли уже установленной связь между адресом этого протокола и аппаратным адресом. Если это так, то эта связь передается в запрашивающий пакет протоколов. Если это не так, то AARP инициирует широковещательное или многопунктовое сообщение, запрашивающее об аппаратном адресе данного протокольного адреса. Если широковещательное сообщение доходит до узла с этим протокольным адресом, то этот узел в ответном сообщении указывает свой аппаратный адрес. Эта информация передается в запрашивающий пакет протоколов, который использует этот аппаратный адрес для связи с этим узлом.


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

Основным протоколом сетевого уровня AppleTalk является протокол DDP. DDP обеспечивает обслуживание без установления соединения между сетевыми гнездами. Гнезда могут назначаться либо статически, либо динамически. Адреса AppleTalk, назначаемые DDP, состоят из 2 компонентов: 16-битового номера сети (network number) и 8-битового номера узла (node number). Эти два компонента обычно записываются в виде десятичных номеров, разделенных точкой (например, 10.1 означает сеть 10, узел 1). Если номер сети и номер узла дополнены 8-битовым гнездом (socket), обозначающим какой-нибудь особый процесс, то это означает, что в сети задан какой-нибудь уникальный процесс.

AppleTalk Phase II делает различие между нерасширенными (nоnextended) и расширенными (extended) сетями. В нерасширенных сетях, таких как LocalTalk, номер каждого узла AppleTalk уникален. Нерасширенные сети были единственным типом сети, определенным в AppleTalk Phase I. В расширенных сетях, таких как EtherTalk и TokenTalk, уникальной является комбинация номер каждой сети/номер узла.

Зоны определяются управляющим сети AppleTalk в процессе конфигурации роутера. Каждый узел AppleTalk принадлежит к отдельной конкретной зоне. Расширенные сети могут иметь несколько зон, которые ассоциируются с ними. Узлы в расширенных сетях могут принадлежать к любой отдельной зоне, которая ассоциируется с этой расширенной сетью.


Протокол поддержки маршрутной таблицы (RTMP)

Протокол, который организует и поддерживает маршрутные таблицы AppleTalk, называется Протоколом поддержки маршрутной таблицы (RTMP). Маршрутные таблицы RTMP содержат данные о каждой сети, до которой может дойти дейтаграмма. В эти данные входит порт роутера, который ведет к сети пункта назначения, ID узла следующего роутера, который принимает данный пакет, расстояние до сети назначения, выраженное числом пересылок, и текущее состояние этих данных (хорошее, подозрительное или плохое). Периодический обмен маршрутными таблицами позволяет роутерам объединенных сетей гарантировать обеспечение непротиворечивой текущей информацией. На рисунке представлен образец таблицы RTMP и соответствующая архитектура сети. Файл:образец таблицы RTMP.jpg


Протокол привязки по именам AppleTalk (NBP)

Протокол привязки по именам AppleTalk (Name Binding Protocol - NBP) устанавливает связь имен AppleTalk (которые выражаются как объекты, видимые для сети - network-visible entities, или NVE) с адресами. NVE является адресуемой сетью AppleTalk услугой, такой как гнездо. NVE ассоциируются с более, чем одним именем объектов и перечнем атрибутов. Имена объектов представляют собой последовательность символов, например такую: printer@net1, в то время как перечень атрибутов определяет характеристики NVE.

Связь между NVE с присвоенными именами и сетевыми адресами устанавливается через процесс привязки имени. Привязка имени может быть произведена в момент запуска узла или динамично, непосредственно перед первым использованием. NBP управляет процессом привязки имени, в который входят регистрация имени, подтверждение имени, стирание имени и поиск имени.


Протокол транзакций AppleTalk (ATP)

ATP является одним из протоколов транспортного уровня Appletalk. В транзакции АТР входят запросы (от клиентов) (requests) и ответы (от служебных устройств) (replies). Каждая пара запрос/ответ имеет отдельный ID транзакции. Транзакции имеют место между двумя гнездами клиентов. АТР использует транзакции "точно-один раз" (exactly once - XO) и "по крайней мере один раз" (at-least-once - ALO), Транзакции ХО требуются в тех ситуациях, когда случайное выполнение транзакции более одного раза неприемлемо. Банковские транзакциии являются примером таких неидемпотентных (nonidempotent) ситуаций (ситуаций, когда повторение какой-нибудь транзакции вызывает проблемы, что достигается тем, что делаются недействительными данные, участвующие в данной транзакции).

АТР способен выполнять наиболее важные функции транспортного уровня, в том числе подтверждение о приеме данных и повторную передачу, установление последовательности пакетов, а также фрагментирование и повторную сборку. АТР ограничивает сегментирование сообщений до 8 пакетов; пакеты АТР не могут содержать более 578 информационных байтов.


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

ADSP является другим важным протоколом транспортного уровня Apple Talk. Как видно из его названия, ADSP является ориентированным по потоку данных, а не по транзакциям. Он организует и поддерживает полностью дублированный поток данных между двумя гнездами в объединенной сети AppleTalk.

ADSP является надежным протоколом в том плане, что он гарантирует доставку байтов в том же порядке, в каком они были отправлены, а также то, что они не будут дублированы. ADSP нумерует каждый байт, чтобы отслеживать отдельные элементы потока данных. ADSP также определяет механизм управления потоком. Пункт назначения может в значительной степени замедлять передачи источника путем сокращения размера объявленного окна на прием.

ADSP также обеспечивает механизм сообщений управления "выхода из полосы" (out-of-band) между двумя объектами AppleTalk. В качестве средства для перемещения сообщений управления выхода из полосы между двумя объектами AppleTalk используются пакеты "внимания" (attention packets).Эти пакеты используют отдельный поток номеров последовательностей, чтобы можно было отличать их от обычных пакетов данных ADSP.


Протоколы высших уровней

AppleTalk обеспечивает несколько протоколов высшего уровня. Протокол сеансов AppleTalk (AppleTalk Session Protocol - ASP) организует и поддерживает сеансы (логические диалоги) между клиентом AppleTalk и служебным устройством. Протокол доступа к принтеру (Printer Access Protocol - РАР) AppleTalk является ориентированным по связи протоколом, который организует и поддерживает связи между клиентами и служебными устройствами (использование термина printer в заголовке этого протокола является просто исторической традицией). Эхо-протокол AppleTalk (AppleTalk Echo Protocol - AEP) является очень простым протоколом, генерирующим пакеты, которые могут быть использованы для проверки способности различных узлов сети создавать повторное эхо. И наконец, Протокол ведения картотеки AppleTalk (AppleTalk Filing Protocol - AFP) помогает клиентам коллективно использовать служебные файлы в сети.


Из рисунка 1 видно, что стек протоколов appletalk полностью согласуется с семиуровневой схемой OSI. DDP представляет собой протокол передачи данных, не ориентированный на соединение. Дейтограмма DDP использует 13-байтовый заголовок, который включает в себя:

поле числа маршрутизаторов (число шагов), через которые прошел пакет; поле длины дейтограммы; поле контрольной суммы; поля сети назначения и отправителя и т.д.

Вслед за заголовком следует информация, которая может содержать до 586 байт. Максимальный размер пакета (MTU) равен 599 байтам. Число узлов в сети может достигать 16 миллионов.

[1] Рис.1. Диаграмма стека протоколов appletalk

Протокол adsp позволяет двум программам обмениваться потоками информации в полном дуплексном режиме с гарантией доставки. Протоколы TLAP, ELAP и LLAP служат для обеспечения сопряжения с соответствующими физическими протоколами (Token Ring, Ethernet и Arcnet), скрывая от программ других уровней специфические особенности используемого сетевого оборудования. Протокол ATP надежно передает запросы и отклики, детектирует ошибки и организует пакетный обмен. Этот протокол используется в свою очередь протоколами ZIP, ASP и PAP, что видно из рис.1. Протокол AFP является протоколом поддержки приложений и позволяет пользователям ЭВМ Macintosh работать с общими файлами. Программное обеспечение Netware для Macintosh включает в себя файл AFP NLMtm, который обеспечивает поддержку Netware-серверов. Протокол AURP (appletalk update-based routing protocol) служит для целей маршрутизации, но в отличии от некоторых других протоколов передает маршрутную информацию только в случае изменения ситуации. Он поддерживает также IP-туннели.

http://www.citforum.idknet.com/nets/semenov/4/42/image222.gif

Рис.2. Формат пакетов в сети Apple Talk Phase II (в скобках указаны размеры полей в байтах)

Адрес отправителя и получателя имеют по 24 бита, из них 16 бит составляет адрес сети. Идентификатор узла назначения (локальная часть адреса) выбирается произвольно самой рабочей станции при установлении связи. ЭВМ берет случайное 8-битовое число в качестве локального адреса и посылает его в сеть. Если какая-то ЭВМ использует этот адрес, она откликается, тогда код меняется и делается повторная попытка. Процесс продолжается пока не будет найден свободный адрес.На рисунке - процесс выбора адреса AppleTalk.

Файл:процесс выбора адреса AppleTalk.gif

Протокол RTMP является протоколом маршрутизации, где в качестве метрики используется вектор расстояния до адресата, этот протокол собирает маршрутную информацию и предоставляет ее протоколу DDP для обеспечения транспортировки пакетов по сети. Маршрутные таблицы RTMP хранятся в каждом из маршрутизаторов AppleTalk и базируются на номерах сетей адресатов. Таблица содержит в себе расстояние до адресата, измеренное в шагах (hop), идентификатор порта маршрутизатора, через который достижим адресат, и статус маршрута.

Маршрутизаторы AppleTalk формируют и актуализируют маршрутные таблицы, посылая регулярно (раз в 10 сек) широковещательные RTMP-пакеты соседним узлам и сетям. Запись в маршрутной таблице, своевременно не подтвержденная, спустя определенное время стирается. Записи в маршрутной таблице попадают в разряд “подозреваемых” при отсутствии отклика от них в течение 20 сек, в разряд “умирающих” - спустя 40 сек, в категорию “умерших” - через 60 сек. Запись удаляется из таблицы, если отклик не удается получить в течение 80 сек.

Адреса сетевого уровня ставятся в соответствие адресам MAC-уровня с помощью адресного протокола AARP. Узлы сети Apple Talk хранят эту информацию в специальных таблицах (AMT - Address Mapping Table). Таблица просматривается всякий раз, когда AppleTalk посылает пакет. Если поиск не увенчался успехом, узел-отправитель посылает широковещательный AARP-запрос. При получении отклика на этот запрос вносятся коррективы в AMT-таблицу. Особенностью сети AppleTalk является согласование при присвоении локальных адресов объектам сети. При инициализации узла ему присваивается временный адрес. Протокол AARP проверяет, не принадлежит ли данный адрес кому-то еще, для этого он посылает 10 AARP-запросов. Если данный временный адрес уже используется, инициализируемому узлу присваивается новый временный адрес и процедура проверки повторяется до тех пор, пока узлу не будет присвоен уникальный адрес. Протокол NBP преобразует локальные AppleTalk адреса в имена, присвоенные сетевому объекту пользователем и наоборот. Это избавляет пользователя от необходимости помнить полный сетевой адрес принт- или файл-сервера, почтового сервера и т.д..

Протокол ZIP допускает логическое группирование оконечных сетевых узлов в некоторые объединения, называемые зонами, что позволяет ЭВМ, принадлежащие к одному отделу, но расположенные в разных зданиях, находиться в одной зоне (субсети). Зона может представлять собой комбинацию локальных сетей, а в случае EtherTalk Phase II - часть локальной сети. Информация о зонах хранится в маршрутизаторах в виде специальных таблиц (ZIT - Zone Information Table). Таблица содержит по одной записи на сетевой сегмент. Запись включает в себя номер сетевого сегмента и список объектов, входящих в зону. Протокол ZIP отслеживает изменения в RTMP-таблицах и при появлении в них записей, относящихся к новым объектам или сетям, маршрутизатор посылает ZIP -запрос и на основе полученной информации корректирует ZIT-таблицу.ZIT хранятся в роутерах, которые являются основными пользователями ZIP, однако конечные узлы используют ZIP в процессе запуска для выбора своих зон и получения межсетевой информации о зонах.На рисунке - пример ZIT.

Файл:образец ZIT.jpg

Протокол AEP выполняет отладочные и диагностические функции, предоставляя возможность выполнения процедур ping (до какой-то степени это аналог протокола ICMP). При необходимости проверить состояние сети или какого-либо узла посылается AEP-дейтограмма, а зондируемый узел, который при ее получении должен послать отклик отправителю исходного запроса. Протокол позволяет проверить время распространения пакетов между узлами сети. Протокол может использоваться в начале любой сессии для проверки доступности того или иного сетевого объекта.

Протокол AURP является внешним протоколом сетевой маршрутизации и служит для взаимодействия сетей AppleTalk c Интернет. Протокол поддерживает технологию IP-туннелей с использованием UDP/IP инкапсуляции. Рассылка сетевой информации осуществляется AURP только при возникновении каких-либо изменений в состоянии сети. Протокол AURP поддерживает гибкую систему переадресаций, исключая конфликты адресов при подключении новых сетей AppleTalk, и выявляет маршрутные петли. Существуют специальные фильтры, которые позволяют разделять пакеты по приоритетам, что бывает важно, например, при передаче мультимедиа информации. Сети AppleTalk хорошо согласуются с другими сетями, например, NetWare. Следует иметь в виду, что ЭВМ, работающие с протоколами Phase I и Phase II, могут работать друг с другом только через специальные мосты, так как форматы пакетов для этих протоколов не совместимы.

Управление сетями AppleTalk осуществляется с помощью протокола SNMP и управляющей базы данных MIB Удаленный доступ AppleTalk поддерживается в соответствии с AppleTalk Remote Access Protocol (Протокол удаленного доступа AppleTalk, ARAP) и AppleTalk Control Protocol (Протокол управления AppleTalk, ATCP). ARAP — протокол коммутируемого соединения для компьютеров Apple Macintosh. Пользователи Macintosh с помощью ARAP могут удаленно подключаться к компьютеру с поддержкой AppleTalk под управлением Windows 2000, получать доступ к файловым томам Macintosh и принтерам \ppleTalk. Поддерживаются клиенты удаленного доступа AppleTalk (AppteTalk Remote Access client) версий 1.0, 2.x и 3.x. При помощи ATCP клиенты Macintosh могут работать с сетевым протоколом AppleTalk поверх РРР, а удаленный пользователь может получить доступ к веб-серверам поверх TCP/IP, печатать документы на принтерах AppleTalk, а также соединяться с файловым сервером Macintosh (по TCP/IP или AppleTalk) по одному коммутируемому РРР-соединению.


Литература:

http://www.winxp.su

http://www.intuit.ru/department/network/cisco/4/1.html

http://book.itep.ru/4/42/apl_422.htm

Просмотры
Инструменты

Besucherzahler russian mail order brides
счетчик посещений
Rambler's Top100
Лингафонные кабинеты  Интерактивные доски  Интерактивная приставка Mimio Teach