Архитектуры цифровых сетей
Основным протоколом сетевого уровня 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 узла следующего роутера, который принимает данный пакет, расстояние до сети назначения, выраженное числом пересылок, и текущее состояние этих данных (хорошее, подозрительное или плохое). Периодический обмен маршрутными таблицами позволяет роутерам объединенных сетей гарантировать обеспечение непротиворечивой текущей информацией. На Рис. 4.4 представлен образец таблицы RTMP и соответствующая архитектура сети.
Протокол привязки по именам AppleTalk ( Name Binding Protocol — NBP ) устанавливает связь имен AppleTalk (которые выражаются как объекты, видимые для сети — network-visible entities, или NVE ) с адресами. NVE является адресуемой сетью AppleTalk услугой, такой как гнездо. NVE ассоциируются с более, чем одним именем объектов и перечнем атрибутов. Имена объектов представляют собой последовательность символов, например такую: printer@net1 , в то время как перечень атрибутов определяет характеристики NVE .
Связь между NVE с присвоенными именами и сетевыми адресами устанавливается через процесс привязки имени. Привязка имени может быть произведена в момент запуска узла или динамично, непосредственно перед первым использованием. NBP управляет процессом привязки имени, в который входят регистрация имени, подтверждение имени, стирание имени и поиск имени.
Зоны позволяют проводить поиск имени в группе логически связанных узлов. Чтобы произвести поиск имен в пределах какой-нибудь зоны, отправляется запрос о поиске в местный роутер, который рассылает широковещательный запрос во все сети, которые имеют узлы, принадлежащие заданной зоне. Протокол информации зоны ( Zone Information Protocol — ZIP ) координирует эти действия.
ZIP поддерживает соответствие номер сети/номер зоны в информационных таблицах зоны ( zone information tables-ZIT ). ZIT хранятся в роутерах, которые являются основными пользователями ZIP, однако конечные узлы используют ZIP в процессе запуска для выбора своих зон и получения межсетевой информации о зонах. ZIP использует маршрутные таблицы RTMP для отслеживания изменений в топологии сети. Если ZIP находит данные о маршрутной таблице, которых нет в данной ZIT, она образует запись данных о новой ZIT. На Табл. 4.1 представлен образец ZIT.
Network Number | Zone |
---|---|
1 | My |
2 | Your |
3 | Marketing |
4 | Documentation |
5-5 | Sales |
Транспортный уровень
Транспортный уровень AppleTalk реализуется двумя основными протоколами AppleTalk : AppleTalk Transaction Protocol ( ATP ) (Протокол транзакций AppleTalk ) и AppleTalk Data Stream Protocol ( ADSP ) (Протокол потока данных АppleTalk). АТР является транзакционно-ориентированным, в то время как ADSP является ориентированным по потоку данных.
Протокол транзакций 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) помогает клиентам коллективно использовать служебные файлы в сети.