AppleTalk Session Protocol

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 14:37, 10 января 2019.
AppleTalk Session Protokol
Communications protocol
Purpose передача данных между узлами
Developer(s) Apple Computer
Introduced 1984; 36 years ago (1984)
Based on OSI
OSI layer сеансовый

AppleTalk Session Protocol (сокращенно ASP) — протокол сеансового уровня AppleTalk, обеспечивающий надёжную доставку данных, используя для этого ориентированное на корректность принятых последовательностей управление сеансом (sequence-oriented session management). ASP является промежуточным протоколом, построенным поверх AppleTalk Transport Protocol (ATP), который является основой Apple Filing Protocol (AFP). Протокол предоставляет базовые услуги для ответов на произвольные команды, выполняемые запросы внешнего состояния. Это также позволяет серверу отправлять асинхронные сообщения клиенту.

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

AppleTalk обеспечивает работу служб сеансового уровня, где устанавливаются, управляются и прерываются сеансы связи между приложениями, элементами уровня представлений. Сеанс обмена данными состоит из запросов и ответов между приложениями, работающими на различных сетевых устройствах (например, для преобразования логических названий в адреса, доступа к принтеру, переупорядочения пакетов и т. д.). Эти запросы и ответы регулируются протоколами сеансового уровня. Пять основных протоколов сеансового уровня AppleTalk позволяют устройствам устанавливать логическое соединение и обмениваться данными между клиентами вне зависимости их физического месторасположения и удаленности друг от друга. К протоколам сеансового уровня AppleTalk (см. рисунок 1) помимо ASP относятся протоколы ADSP (AppleTalk Data Stream Protocol — устанавливает и поддерживает двусторонний обмен данными между двумя сокетами), AURP (AppleTalk Update-Based Routing Protocol — используется в больших сетях AppleTalk для маршрутизации и поддержки обмена информацией между маршрутизирующими устройствами), ZIP (Zone Information Protocol — поддерживает соответствие между номером сети и именем зоны в маршрутизаторах сетей AppleTalk.) и PAP (Printer Access Protocol — управляет доступом к сетевым принтерам, однако может использоваться и для обеспечения обмена данными между разнообразными устройствами за счет двунаправленного соединения и одновременного осуществления управление потоком данных и контроля последовательности пакетов).[Источник 1]

Рисунок 1 – уровни AppleTalk

Собственно сеансовый протокол ASP обеспечивает надёжную доставку данных, используя для этого ориентированное на корректность принятых последовательностей управление сеансом (sequence-oriented session management), и предоставляет доступ к транспортным услугам протокола транспортного уровня AppleTalk Transport Protocol (ATP). Протокол ASP поддерживает сеансы для протоколов вышележащих уровней, таких, как AFP. Протокол ASP создает уникальный идентификатор сессии для каждого логического соединения и обеспечивает непрерывный контроль за его состоянием. Протокол обеспечивает поддержку бездействующих сессий путем обмена поддерживающими кадрами для проверки состояния сессии.[Источник 2]

Кадры протокола ASP

Формат кадров протокола ASP

Кадры протокола (фрагменты данных протокола) ASP могут использовать один из перечисленных ниже форматов:

  • [open session reqst] — Запрос на открытие сеанса ASP.
  • [close session reqst] — Запрос на закрытие сеанса ASP.
  • [command call reqst] — Вызов протокола вышележащего уровня.
  • [status request] — Запрос состояния сервера.
  • [session keep alive] — Поддержка бездействующего соединения.
  • [session write reqst] — Запрос на выполнение записи.
  • [write continue req] — Начало передачи записываемых данных.
  • [attention request] — Передача неотложных данных.
  • [close session reply] — Подтверждение закрытия сессии.
  • [command call reply] — Отклик от протокола вышележащего уровня.
  • [server status reply] — Отклик, содержащий информацию о сервере.
  • [open session reply] — Отклик на запрос открытия сессии.
  • [session write reply] — Отклик на запрос записи.
  • [write continue rply] — Записываемые данные.
  • [attention reply] — Подтверждение приема запроса внимания.[Источник 2]

Параметры кадров протокола ASP

Кадры протокола ASP могут содержать следующие параметры:

  • Идентификатор сессии — код, используемый для обозначения сессии.
  • Порядковый номер — используется в кадрах команд, записи и продолжения записи для обеспечения корректного порядка данных.
  • Номер сокета в сервере — номер сокета, используемый на серверной стороне соединения.
  • Номер сокета в рабочей станции — номер сокета, используемый на клиентской (рабочая станция) стороне соединения.
  • Номер версии — номер версии используемого протокола ASP.
  • Размер буфера — размер буфера, доступного для приема блоков команд.[Источник 2]

Сообщения кадров протокола ASP

Кадры ASP могут содержать следующие сообщения [Источник 3]:

Сообщение Значение
{OK} Успешное выполнение команды.
{xxxx bytes written} Число записанных байтов [write continue rply].
{bad version number} Версия ASP не поддерживается.
{buffer too small} Буфер слишком мал для блока команд.
{no more sessions} Сервер не может открыть больше сессий.
{no servers} Сервер не отвечает.
{parameter error} Некорректные значения параметров ASP.
{server is busy} Сервер слишком занят для открытия другой сессии.
{session closed} Указанная сессия была закрыта.
{size error} Командный блок превышает максимальный размер.
{too many clients} Исчерпано предельное число клиентов.
{no acknowledgement} Нет подтверждения от рабочей станции.
{unknown error} Неизвестная ошибка.

Поля протокола ASP

Поля протокола ASP, их назначение и формат представления данных представлены в таблице [Источник 4]:

Поле Имя поля Тип
asp.attn_code Код адреса Беззнаковое 16-разрядное целое число
asp.error Ошибка ASP Знаковое 32-разрядное целое число
asp.function Функция ASP Беззнаковое 8-разрядное целое число
asp.init_error Ошибка Беззнаковое 16-разрядное целое число
asp.seq Последовательность Беззнаковое 16-разрядное целое число
asp.server_addr.len Длина Беззнаковое 8-разрядное целое число
asp.server_addr.type Тип Беззнаковое 8-разрядное целое число
asp.server_addr.value Значение Байтовый массив
asp.server_directory Служба директорий (каталогов)
asp.server_flag Флаг Беззнаковое 16-разрядное целое число
asp.server_flag.copyfile Поддержка копирования файлов поддержка каталогов Логический тип
asp.server_flag.directory Поддержка каталогов Логический тип
asp.server_flag.fast_copy Поддержка быстрого копирования Логический тип
asp.server_flag.no_save_passwd Не разрешать сохранять пароль Логический тип
asp.server_flag.notify Поддержка уведомлений сервера Логический тип
asp.server_flag.passwd Поддержка изменения пароля Логический тип
asp.server_flag.reconnect Повторное подключение сервера поддержки Логический тип
asp.server_flag.srv_msg Сообщение сервера поддержки Логический тип
asp.server_flag.srv_sig Подпись сервера поддержки Логический тип
asp.server_flag.tcpip Поддержка TCP / IP Логический тип
asp.server_icon Растровое изображение значка Байтовый массив
asp.server_name Имя сервера
asp.server_signature Подпись сервера Байтовый массив
asp.server_type Тип сервера
asp.server_uams Блок UAM
asp.server_vers Версия AFP
asp.session_id Идентификатор сеанса Беззнаковое 8-разрядное целое число
asp.size Размер Беззнаковое 16-разрядное целое число
asp.socket Разъем Беззнаковое 8-разрядное целое число
asp.version Версия Беззнаковое 16-разрядное целое число
asp.zero_value Pad (0) Байтовый массив

Источники

  1. AppleTalk // Википедия. [2018–2018]. Дата обновления: 16.05.2015. URL:https://ru.wikipedia.org/wiki/AppleTalk (дата обращения: 16.09.2018).
  2. 2,0 2,1 2,2 AppleTalk Session Protocol // Протоколы AppleTalk. URL: http://www.protocols.ru/files/Protocols/AppleTalk.pdf (дата обращения: 15.09.2018).
  3. Nikolai Malykh. Протоколы AppleTalk // Энциклопедия сетевых протоколов. URL: http://www.protocols.ru/WP/протоколы-appletalk/ (дата обращения: 16.09.2018).
  4. Поля протокола ASP // Протокол сеансов AppleTalk (asp). URL: https://studfiles.net/preview/2833471/page:27/ (дата обращения: 15.09.2018).

См. также

Ссылки