Протоколы AppleTalk

Компания Apple Computer разработала стек протоколов AppleTalk для реализации копирования файлов, совместного использования принтеров и обмена почтовыми сообщениями между компьютерами Apple с использованием интерфейсов AppleTalk, встроенных в компьютеры Apple. Сети AppleTalk можно связать с сетями других типов (например, Ethernet), используя мосты AppleTalk – Ethernet или установив в компьютеры интерфейсные платы Ethernet.

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

Для расширения возможностей адресации в сетях AppleTalk и обеспечения соответствия стандарту IEEE 802 компания Apple Computer в 1989 году разработала новый вариант протокола – AppleTalk Phase 2. Протокол AppleTalk Phase 2 отличается главным образом расширенной адресацией на сетевом уровне и поддержкой протокола управления логическим каналом IEEE 802.2 LLC на канальном уровне.

Стек протоколов AppleTalk включает в себя следующие компоненты:

  • AARP – протокол преобразования (разрешения) адресов;
  • DDP – протокол доставки дейтаграмм;
  • RTMP – протокол управления таблицами маршрутизации;
  • AEP – эхо-протокол;
  • ZIP – протокол информации о зонах;
  • ATP – протокол транзакций;
  • ADSP – протокол потоков данных;
  • NBP – протокол связывания имен;
  • ASP – сеансовый протокол;
  • PAP – протокол доступа к принтерам;
  • AFP – протокол для работы с файлами.

На приведенном ниже рисунке показано местоположение протоколов стека AppleTalk в эталонной модели OSI.

 gif_1


Стек протоколов AppleTalk в модели OSI

AARP

Протокол AARP (AppleTalk Address Resolution Protocol – протокол преобразования адресов) обеспечивает взаимно-однозначное соответствие между любыми двумя наборами адресов на любых уровнях одного или нескольких стеков протоколов. В частности, этот протокол используется для преобразования адресов узлов AppleTalk, используемых протоколом переноса дейтаграмм DDP (Datagram Delivery Protocol), и адресов вышележащих протоколов AppleTalk в адреса нижележащих протоколов AppleTalk, обеспечивающих сетевые соединения. Протокол AARP позволяет работать системам AppleTalk по любым каналам передачи данных.

Структура пакетов AARP показана на рисунке:

8                                                                                              16

биты

Заголовок канального уровня

Тип оборудования

Тип протокола

Длина аппаратного адреса

Длина протокольного адреса

Функция

Структура пакета AARP

Тип оборудования

Идентификатор для канального типа.

Тип протокола

Идентификатор семейства протоколов.

Длина аппаратного адреса

Размер (в байтах) поля аппаратного адреса.

Длина протокольного адреса

Размер (в байтах) поля протокольного адреса.

Функция

Показывает назначение пакета (1 – запрос AARP, 2 – отклик AARP, 3 – зонд AARP).

После заголовка располагаются поля аппаратного и протокольного адреса, размеры которых указаны в заголовке.

DDP

Протокол доставки дейтаграмм DDP (Datagram Delivery Protocol) обеспечивает передачу дейтаграмм и услуги маршрутизации для протоколов вышележащих уровней. Заголовки кадров DDP могут использовать короткий или длинный формат. Короткие заголовки DDP содержат только номера сокетов отправителя и получателя, тогда как в длинных заголовках DDP содержатся еще адреса сети и узла отправителя и получателя для обеспечения возможности маршрутизации. Поскольку протокол AppleTalk Phase 2 не использует для идентификации узлов отправителя и получателя протокол LLAP, для заголовков кадров DDP Phase 2 может использоваться только длинный формат.

Короткие кадры

В коротких кадрах DDP присутствуют следующие поля:

Сокет получателя

Адрес сокета получателя, используемый для этого кадра.

Сокет отправителя

Адрес сокета отправителя, используемый для этого кадра.

Длина

Общий размер дейтаграммы.

Тип DDP

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

Длинные кадры

В длинных кадрах кроме перечисленных выше полей имеется четыре дополнительных поля:

Получатель

Сеть/узел/сокет получателя. Номер сети, адрес узла и адрес сокета получателя кадра задаются в формате NNNN.nn (ss), где NNNN указывает номер сети, nn – номер узла и ss – адрес сокета.

Отправитель

Сеть/узел/сокет отправителя. Для указания адреса служит такой же формат, который используется для адресации получателя.

Контрольная сумма

Контрольная сумма части дейтаграммы от окончания поля контрольной суммы до конца дейтаграммы. Нулевое значение этого поля говорит о том, что контрольная сумма не используется.

Счетчик интервалов

Число маршрутизаторов, через которые прошел кадр. После прохождения 16 интервалов протокол отбрасывает кадры.

RTMP

Протокол управления таблицами маршрутизации RTMP (Routing Table Maintenance Protocol) управляет маршрутизацией в сетях AppleTalk. RTMP поддерживает информацию об известных номерах сетей и данные о доступности сетей. AppleTalk Phase 2 поддерживает маршрутизацию с «расщеплением горизонта» (split horizon routing) при которой протокол передает только сведения о непосредственно подключенных сетях для снижения уровня трафика при обновлении таблиц маршрутизации.

Кадры

Кадры RTMP могут использовать один из перечисленных ниже типов:

[request] Запрос сетевого номера и идентификатора локального маршрутизатора.

[reply] Передача сетевого номера и идентификатора локального маршрутизатора в ответ на запрос.

[data] Передача текущих данных из таблицы маршрутизации.

[RDR split] Запрос маршрутизации данных с использованием «расщепленного горизонта» (только для протокола Phase 2).

[RDR full] Запрос полной таблицы маршрутизации (только для протокола Phase 2).

Параметры кадров

В кадрах Apple RTMP присутствуют следующие параметры:

Идентификатор узла/номер сети отправителя

Номер сети и адрес системы, передающей запрос или кадр данных RTMP. Адреса задается в формате NNNN.nn, где NNNN указывает номер сети, а nn – адрес узла.

Таблица маршрутизации

Список известных сетевых узлов и параметры доступности (accessibility number), представленные значениями относительной стоимости маршрутов. Таблица маршрутизации содержит записи в формате NNNN(cc), где NNNN указывает номер сети, а cc – стоимость маршрута. Кадры RTMP в AppleTalk Phase 2 могут указывать диапазон сетевых адресов в формате NNNN-NNNN(cc) [V=x], где NNNN задает номер сети, cc – стоимость маршрута в интервалах (хопах), а x указывает версию протокола (2 для Phase 2).

AEP

Эхо-протокол AEP (AppleTalk Echo Protocol) обеспечивает эхо-сервис для хостов AppleTalk. Каждая эхо-транзакция может содержать до 585 байтов данных.

Кадры AEP могут использовать один из перечисленных здесь типов:

[echo reqst] Запрос эхо для указанных данных.

[echo reply] Отклик, содержащий запрашиваемые эхо-данные.

ATP

Протокол транзакций ATP (AppleTalk Transaction Protocol) обеспечивает надежную доставку для ориентированных на транзакции операций. Протокол ATP использует битовые карты (bitmap token) для передачи подтверждений и управления потоком данных, а также последовательность байтов, зарезервированных для использования протоколами вышележащих уровней.

Кадры

Кадры ATP могут использовать один из перечисленных типов:

[request] Запрос данных, указанных битовой картой.

[reply] Возврат запрошенных данных.

[release] Показывает завершение транзакции.

Параметры кадров

Кадры ATP содержат следующие параметры:

Идентификатор транзакции

Код, используемый для нахождения соответствия между запросами и откликами ATP.

Шаблон транзакции (Transaction bitmap)

Битовые карты используются для запроса специфических кадров данных и передачи подтверждений о получении данных. Значение 1 в карте показывает ожидающий обработки запрос для сегмента данных. Позиции битов в карте соответствуют позициям в сегменте данных. Значение 0 в карте говорит об удовлетворении запроса системой. Самый правый бит карты представляет первый сегмент данных, а последующие сегменты показываются битами слева по порядку. Карта имеет размер 8 битов и позволяет протоколу ATP передавать до 8 сегментов данных на каждую транзакцию.

Порядковый номер

Порядковый номер соответствует потоку данных текущего кадра с откликом.

Пользовательские байты

Четыре байта зарезервированы для использования протоколами вышележащих уровней.

Флаги управления

Перечисленные ниже флаги используются для управления – заглавная буква означает установленный флаг, прописная – сброшенный:

x,X При установке этого флага текущая транзакция выполняется только один раз (режим exactly-once).

e, E Установка этого флага говорит о том, что кадр является последним в отклике.

s, S При установке этого флага карты запроса состояния многократно используют буферы.

NBP

Протокол связывания имен NBP (AppleTalk Name Binding Protocol) управляет использованием имен в сетях AppleTalk. NBP поддерживает каталоги имен, которые включают имена, зарегистрированные хостами, и связывают эти имена с адресами сокетов. После регистрации имени хост AppleTalk может просматривать имена для поиска адреса сокета, связанного с интересующим именем. Когда хост подпет команду просмотра имен в Internet, протокол NBP передает широковещательный запрос маршрутизатору, который генерирует запросы поиска имен для каждой сети в зоне, указанной в имени.

Кадры

Кадры NBP могут использовать один из следующих форматов:

[brdcast lookup] Широковещательный поиск для указанного имени.

[name lookup] Локальный поиск для указанного имени.

[lookup reply] Ответ на поиск имени.

Параметры кадров

Кадры NBP имеют следующие параметры:

Число имен

Число пар сокет – имя, содержащихся в сообщении.

Идентификатор транзакции

Код, используемый для нахождения соответствия между запросами и откликами NBP.

ZIP

Протокол информации о зонах ZIP (AppleTalk Zone Information Protocol) поддерживает связи между номерами сетей и именами зон. Сети AppleTalk в основном используют протокол ZIP в маршрутизаторах, которые собирают информацию о номерах сетей за счет мониторинга кадров RTMP.

Кадры

Кадры ZIP могут использовать один из следующих форматов:

[zonename query] Запрос имени зоны для номера сети.

[zonename reply] Выдача имени зоны по номеру сети.

[zonelist query] Запрос полного списка известных зон.

[zonelist reply] Выдача полного списка известных зон.

[get zone reqst] Запрос идентификатора локальной зоны.

[get zone reply] Выдача идентификатора локальной зоны.

[takedown zone] Удаление зоны из списка зон.

[bring up zone] Добавление зоны в список.

[local zone req] Запрос локальных зон в расширенных сетях.

[ext name reply] Имя зоны слишком велико для одного кадра.

[change notify] Предупреждает узлы зоны об изменении имени.

[net info reqst] Запрашивает информацию о зоне по ее имени.

[net info reply] Выдает диапазон и групповой адрес для зон расширенной сети.

Параметры кадров

Кадры Apple ZIP содержат следующие параметры:

Число

Число сетей для запроса или передачи информации о зоне.

Стартовый индекс

Начальная зона запрошенного списка.

Имя зоны

Имя, связанное с указанной зоной.

Групповой адрес (Multicast)

Групповой адрес, используемый указанной зоной.

Принятая по умолчанию зона

Имя локальной зоны.

Старое имя зоны

Используемое ранее имя указанной зоны.

Новое имя зоны

Актуальное имя указанной зоны.

Диапазон сетевых номеров

Диапазон сетевых номеров, связанных с указанной зоной, в формате SSSS-EEEE, где SSSS задает стартовый номер сети, а EEEE – конечный номер сети в диапазоне.

Список сетей и зон

Список сетей и номеров зон в формате NNNN = zonename, где NNNN задает номер зоны, а zonename – ее имя.

Сообщения

Кадры Apple ZIP [net info reply] (информационный отклик) и [change notify] (уведомление об изменениях могут содержать следующие сообщения:

{invalid zone} Говорит о том, что имя зоны не существует.

{one zone} Говорит о том, что зона является единственной.

{use broadcast} Локальная сеть не поддерживает групповой адресации (multicasting) и следует использовать широковещательную передачу (broadcasting).

ASP

Протокол ASP (AppleTalk Session Protocol) поддерживает сеансы для протоколов вышележащих уровней, таких, как AFP. Протокол ASP создает уникальный идентификатор сессии для каждого логического соединения и обеспечивает непрерывный мониторинг состояния каждого соединения. Протокол обеспечивает поддержку бездействующих (idle) сессий путем обмена поддерживающими кадрами (keep alive frame) для проверки состояния сессии.

Кадры

Кадры протокола 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] Подтверждение приема запроса внимания.

Параметры кадров

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

Идентификатор сессии

Код, используемый для обозначения сессии.

Порядковый номер

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

Номер сокета в сервере

Номер сокета, используемый на серверной стороне соединения.

Номер сокета в рабочей станции

Номер сокета, используемый на клиентской (рабочая станция) стороне соединения.

Номер версии

Номер версии используемого протокола ASP.

Размер буфера

Размер буфера, доступного для приема блоков команд.

Сообщения

Кадры Apple ASP могут содержать следующие сообщения:

{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} Неизвестная ошибка.

PAP

Протокол доступа к принтерам PAP (Printer Access Protocol) обеспечивает виртуальные соединения с принтерами и другими серверами. Протокол PAP служит для доставки сведений о состоянии соединений и координации переноса данных.

Кадры

Кадры PAP могут использовать один из перечисленных форматов:

[open connection rqst] Запрос на организацию PAP-соединения.

[open connection rply] Отклик на запрос организации соединения.

[send data request] Запрос передачи данных PAP.

[PAP data segment] Передача сегмента данных PAP.

[session keep alive] Проверка состояния соединения.

[close connection req] Запрос на закрытие PAP-соединения.

[close connection rep] Отклик на запрос закрытия PAP-соединения.

[send server status] Запрос состояния сервера.

[server status reply] Отклик сервера на запрос состояния.

Параметры кадров

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

Идентификатор соединения

Код, используемый для обозначения соединения PAP.

Сокет откликов ATP

Номер сокета ATP, используемый PAP для передачи данных и сведений о состоянии.

Максимальный размер буфера

Максимальное количество данных (в байтах), которое протокол может передать в ответ на каждый запрос send data request] (используется также термин Flow Quantum – квант потока).

Время ожидания

Промежуток времени, в течение которого рабочая станция ожидает соединения.

Порядковый номер

Используется для сохранения порядка передачи данных в кадрах.

EOF

Индикатор конца файла, говорящий о завершении передачи данных.

Результат

Код, показывающий результат запроса на открытие соединения [open connection rqst]:

0000 соединение организовано;

FFFF принтер занят.

Состояние

Сообщение о состоянии, возвращаемое в кадрах отклика.

ADSP

Потоковый протокол ADSP (Запрос на закрытие PAP-соединения) обеспечивает каналы передачи данных для хостов. Этот протокол основан на организации соединений (connection-oriented) и гарантирует упорядоченную доставку данных с управлением потоком.

Кадры

Протокол ADSP может использовать кадры перечисленных ниже типов:

[acknowledge/probe] Подтверждает передачу данных или запрашивает подтверждение.

[open connect reqst] Запрос соединения ADSP.

[open connect ackn] Подтверждение соединения ADSP.

[open request & ackn] Подтверждение входящего соединения (вызова) и запрос на организацию исходящего соединения.

[open connect denial] Отказ от входящего вызова (соединения).

[close connection] Запрос на закрытие соединения ADSP.

[forward reset] Запрос на игнорирование указанных данных.

[forward reset ackn] Подтверждение упреждающего сброса (forward reset) потока данных.

[retransmit advise] Запрос передачи данных.

Параметры кадров

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

Идентификатор инициатора соединения

Код, указывающий на передающую сторону соединения.

Идентификатор вызываемой стороны

Код, указывающий на принимающую сторону соединения.

Порядок передачи

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

Порядок приема

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

Размер окна приема

Количество данных, которые одна из сторон соединения может передать без предупреждения.

Версия

Используемая версия протокола ADSP.

Порядковый номер кадра «внимание»

Наименьший порядковый номер, для которого протокол может передать кадр «внимание».

Код

Код «внимание», сопровождаемый кадрами «внимание».

Флаг управления

При установке этого флага (1) кадр является кадром управления и не содержит данных.

Флаг запроса подтверждений

При установке этого флага (1) отправитель запрашивает подтверждение.

Флаг конца сообщения

Установке этого флага (1) говорит о том, что данный кадр является последним в сообщении с данными.

Флаг внимания

Установка этого флага (1) говорит о том, что данный кадр является кадром «внимание».

AFP

Протокол AFP (AppleTalk Filing Protocol) служит для совместного использования файлов в архитектуре AppleTalk. Этот протокол обеспечивает естественный интерфейс с ресурсами файловой системы Apple.

Файлы Apple содержат две структуры данных, называемые рукавами (fork). Доступ к файлам Apple может осуществляться через рукав данных или рукав ресурсов. Рукав данных содержит неструктурированные данные, а рукав ресурсов содержит информацию, используемую операционной системой для управления пиктограммами и драйверами.

Кадры

Кадр AFP может быть одной из перечисленных команд:

[lock/unlock bytes] Блокирует и открывает указанный диапазон байтов.

[close volume] Закрывает указанный том.

[close directory] Закрывает указанный каталог.

[close fork] Закрывает указанный рукав (файл).

[copy file] Копирует указанный файл.

[create directory] Создает указанный каталог.

[create file] Создает указанный файл.

[delete file] Удаляет заданный файл или каталог.

[list directory] Выводит список файлов указанного каталога.

[flush to disk] Записывает на диск данные из оперативной памяти.

[flush fork] Записывает на диск данные для указанного рукава.

[get fork params] Отыскивает параметры для указанного рукава.

[get server info] Отыскивает информацию о сервере.

[get server params] Отыскивает параметры сервера.

[get volume params] Отыскивает параметры тома.

[consumer login] Начинает подключение (log-in) рабочей станции.

[login continue] Продолжает подключение (log-in) рабочей станции.

[logout] отключает (log-out) рабочую станцию.

[map user/group ID] Получает идентификатор, связанный с именем пользователя или группы.

[map user/grp name] Получает имя, связанное с идентификатором пользователя или группы.

[move and rename] Перемещает или переименовывает файл.

[open volume] Открывает указанный том.

[open directory] Открывает указанный каталог.

[open fork] Открывает указанный рукав (файл).

[read from fork] Читает из указанного рукава (файла).

[rename file/dir] Меняет имя файла или каталога.

[set dir params] Устанавливает параметры каталога.

[set file params] Устанавливает параметры файла.

[set fork params] Устанавливает параметры рукава.

[set volume params] Устанавливает параметры тома.

[write to fork] Записывает в указанный рукав (файл).

[get file/dir pars] Получает параметры файла или каталога.

[set file/dir pars] Устанавливает параметры файла или каталога.

[change password] Меняет пользовательский пароль.

[get user info] Отыскивает сведения о пользователе.

[open database] Открывает базу данных рабочего стола.

[close database] закрывает базу данных рабочего стола.

[get icon] Отыскивает пиктограмму в базе данных рабочего стола.

[get icon info] Отыскивает информацию о пиктограмме.

[add APPL mapping] Добавляет информацию о приложении.

[remove APPL] Удаляет информацию о приложении.

[get APPL mapping] Отыскивает информацию о приложении.

[add comment] Добавляет комментарий в файл или каталог.

[remove comment] Удаляет комментарий из файла или каталога.

[get comment] Отыскивает текст комментария в файле или каталоге.

[add icon] Добавляет пиктограмму для приложения.

Параметры кадров

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

Индекс приложений (APPL index)

Индекс, начинающийся с 1, первого отображения приложений, содержащегося в кадре.

Тег приложения (APPL tag)

Информационный тег (метка) связанный с отображением приложения, содержащимся в кадре.

Атрибуты

Атрибуты файла или каталога могут принимать следующие значения:

Атрибуты каталога:

Inv Невидимый для пользователя рабочей станции.

Sys Системный каталог.

Bk Требуется резервная копия (каталог изменен).

RI Установлен запрет на переименование.

DI Установлен запрет на удаление.

Атрибуты файла:

Inv Невидимый для пользователя рабочей станции.

MU Многопользовательское приложение.

RAO Рукав ресурсов для файла уже открыт.

DAO Рукав данных для файла уже открыт.

RO Для обоих рукавов разрешено только чтение.

WI Невозможно писать в другой рукав.

Sys Системный файл.

Bk Требуется резервная копия (файл изменен).

RI Установлен запрет на переименование.

DI Установлен запрет на удаление.

CP Установлен запрет на копирование.

Дата резервной копии

Дата создания последней резервной копии тома или каталога.

Битовая карта (Bitmap)

Файл содержит биты, используемые для индикации параметров, присутствующих в запросе или отклике.

Счетчик для запросов

Максимальное число файлов, возвращаемых по запросу списка.

Дата создания

Системная дата создания файла или каталога.

Создатель файла

Идентификатор (строка) приложения или устройства, создавшего файл.

Идентификатор целевого каталога

Идентификатор каталога, куда файл будет скопирован или перемещен.

Длина рукава данных

Размер файла.

Идентификатор целевого тома

Идентификатор тома, куда файл будет скопирован или перемещен.

Битовая карта каталога

Поле, биты которого показывают, какие параметры каталога присутствуют в кадрах AFP.

Идентификатор каталога

Идентификатор, связанный с указанным каталогом.

Идентификатор базы данных рабочего стола

Номер, используемый для доступа к базе данных рабочего стола.

Битовая карта файла

Поле, биты которого показывают, какие параметры файла присутствуют в кадрах AFP.

Свободные байты

Число свободных байтов в томе.

Идентификатор открытого рукава

Номер, используемый для доступа к открытому рукаву.

Идентификатор группы

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

Имя группы

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

Тег пиктограммы

Теговая информация, связанная с указанной пиктограммой.

Размер пиктограммы

Размер указанной пиктограммы в байтах.

Тип пиктограммы

Код, идентифицирующий тип указанной пиктограммы.

Длинное имя

Имя длиной до 31 символа.

Тип машины

Тип используемого сервера AFP.

Максимальный размер отклика

Максимальное число байтов, которое данный протокол возвращает в ответ на запрос списка каталога.

Режим доступа

Атрибуты режима открытия рукава могут принимать следующие значения:

R Всем разрешено чтение.

W Всем разрешена запись.

Deny-R Запрещает чтение открытого файла.

Deny-W Запрещает запись в открытый файл.

Дата обновления

Системная дата обновления файла или каталога.

Символ новой строки

Символ, используемый для индикации новой строки (CR, LF) при чтении данных.

Маска новой строки

Значение, используемое для маскирования данных при сравнении с символом новой строки.

Смещение

Стартовое смещение для команды записи.

Счетчик результатов (Offspring count)

Число файлов, возвращаемых по запросу списка каталога.

Идентификатор владельца

Идентификатор файла или каталога.

Пароль тома

Пароль, требуемый для получения доступа к тому.

Идентификатор родительского каталога

Идентификатор каталога, в котором находится данный файл или каталог.

Информация ProDOS

Тип файлов ProDOS и тип Aux для использования рабочими станциями ProDOS.

Длина рукава ресурсов

Длина файлового рукава ресурсов в байтах.

Идентификатор исходного каталога

Идентификатор каталога, в котором находится копируемый или переносимый файл.

Короткое имя

Имя длиной до 12 символов.

Подпись (Signature)

Идентифицирует тип тома и может принимать следующие значения:

1 плоский (без поддержки каталогов);

2 фиксированный идентификатор каталога;

3 переменный идентификатор каталога.

Идентификатор исходного тома

Идентификатор тома, в котором находится копируемый или переносимый файл.

Стартовый индекс

Стартовый индекс, начинающийся с 1, списка, выдаваемого по запросу списка файлов каталога.

Общее число байтов

Общее число байтов тома.

Метод аутентификации пользователей

Метод, служащий для проверки подлинности пользователей.

Идентификатор пользователя

Идентификатор пользователя, служащий для аутентификации.

Имя пользователя

Имя пользователя, служащее для аутентификации.

Версия

Номер версии используемого протокола AFP.

Битовая маска тома

Поле, биты которого показывают, какие параметры тома присутствуют в кадрах AFP.

Идентификатор тома

Идентификатор, связанный с указанным томом.

Число томов

Число томов, содержащихся на сервере.

Сообщения

По запросу AFP [get server params] выдается список параметров в формате VolName(P,II), где VolName представляет собой список имен томов, P показывает использование парольной защиты, а II – говорит о присутствии конфигурационной информации Apple II.

Ниже приведен список состояний и сообщений об ошибках, которые могут появляться в откликах AFP:

Состояние Сообщение об ошибке

{OK} Команда выполнена успешно.

{Object locked} Указанный объект заблокирован.

{Volume locked} Указанный том заблокирован.

{Icon type error} Несоответствие размера пиктограммы.

{Directory not found} Указанный каталог не существует.

{Can’t rename} Невозможно переименовать том или корневой каталог.

{Server going down} Сервер больше не доступен в сети (неактивен).

{Too many open files} Превышен предел числа открытых файлов.

{Object type error} Указанный объект не подходит для операции.

{Call not supported} Вызов AFP не поддерживается данной версией.

{User not authorized} Пользователь не имет требуемых прав доступа.

{Session closed} Сессия с указанным идентификатором уже закрыта.

{Byte range overlap} Конфликт блокировок.

{Range not locked} Попытка разблокировать незаблокированную область байтов.

{Parameter error} Указанный параметр не подходит для операции.

{Object not found} Указанный объект не существует.

{Object exists} Указанный объект уже существует.

{No server} Сервер AFP не отвечает.

{No more locks} Превышено число блокировок на сервере.

{Miscellaneous error} Общая ошибка в команде.

{Lock error} Диапазон байтов уже заблокирован другим пользователем.

{Item not found} Указанный элемент не найден.

{Flat volume} Том не поддерживает каталогов.

{File busy} Указанный файл уже открыт.

{EOF error} Неожиданно достигнут конец рукава.

{Disk full} Недостаточно пространства на диске.

{Directory not empty} Попытка удалить непустой каталог.

{Deny conflict} Указанные запреты вызывают конфликт.

{Cannot move} Невозможно перенести каталог в дочерний каталог.

{Bitmap error} Для объекта указана некорректная битовая карта.

{Bad version number} Указан некорректный номер версии.

{Bad User Authentic} Отказ при аутентификации пользователя.

{Continue Authentic} Аутентификация не завершена.

{Access denied} Пользователь не имеет прав для выполнения операции.

 

Запись опубликована в рубрике Мир протоколов. Добавьте в закладки постоянную ссылку.