Протокол NCP

В NetWare протокол NCP (NetWare Core Protocol) является надстройкой над протоколом IPX и используется для организации обмена между рабочей станцией и файловым сервером. На рисунке 2.18 (а) представлена структура пакета NCP.

Протокол NCP реализован в NetWare 3.х на системном уровне. В NetWare 4.х предлагается API-интерфейс NCP Extension для обращения к протоколу NCP из прикладных программ на рабочих станциях и из разрабатываемых NLM-модулей. Для обмена данными между программами по протоколу NCP используются пакеты IPX с номером гнезда 0х0451 и типом пакета 17.

Связь между рабочей станцией и файловым сервером, которые используют API-интерфейс к протоколу NCP, обычно организуется по следующей схеме:

30 или
42
Заголовок IPX или SPX
2Тип запроса или ответа
 
Запрос
1111h - создать канал
2222h - запрос услуги
5555h - удалить канал
7777h - при обмене с файлом использовать протокол Burst Mode
Ответ
3333h - ответ обслуживания
7777h - использовать Burst Mode
9999h - запрос поставлен в очередь и обрабатывается
1 Последовательный номер пакета
1 Младшая часть номера канала
1 Номер задачи, выдавшей запрос
1 Старшая часть номера канала (в NetWare на 1000 клиентов)
1 Код завершения (только для ответа)
1 Состояние канала (только для ответа)
длина Передаваемые данные

а)
30Заголовок IPX-пакета (рисунок 2.15)
2Тип запроса или услуг (0х0004)
2Тип сервера (т.е. тип объекта в Bindery, обычно 0х0004)
48Имя сервера
4Номер сети (внутренний номер сети файлового сервера)
6Адрес узла файлового сервера (0х00000001)
2Номер гнезда, через которое сервер будет принимать запросы к службам NetWare (0х0451 - NCP)
2Рабочее поле

б)

Рис. 2.18. Структура пакетов NCP (а) и SAP (б)

Таблица 2.5. Примитивы API-интерфейса для обращения к протоколу NCP из NLM-модуля
ПримитивОписание
NWRegisterNCPExtensionЗарегистрировать функцию NLM-модуля как расширение NCP.
Вход - имя регистрации, указатель на функцию (удалённую процедуру, которая выполняется как отдельная нить) и т. д.
В прототип этой функции входят указатель на идентификатор соединения, указатель на буфер с исходными данными и длина этого буфера, указатель на буфер с результатами и длина этого буфера.
NWDeRegisterNCPExtensionОтменить регистрацию и удалить NLM-модуль из списка расширений NCP.

Фирма Novell предлагает API-интерфейс для работы в NetWare 4.х по протоколу NCP на рабочей станции и файловом сервере. В таблице 2.5 перечислены примитивы интерфейса для NLM-модуля (сервера).

Таблица 2.6. Примитивы API-интерфейса для обращения к протоколу NCP из прикладной
программы на рабочей станции или файловом сервере
ПримитивОписание
NWScanNCPExtensionsInfoПолучить идентификатор расширения NCP.
Вход - имя регистрации (см. таблицу 2.5) и др.
Выход - идентификатор расширения NCP.
NWSendNCPExtensionRequestПослать запрос на файловый сервер к удалённой процедуре.
Вход - идентификатор расширения NCP, указатель на буфер с исходными данными, указатель на буфер результатов и др.
Выход - результаты выполнения удалённой процедуры.

В таблице 2.6 перечислены основные примитивы API-интерфейса для программы (клиента), выполняемой на рабочей станции или файловом сервере.

Предыдущая глава || Оглавление || Следующая глава