На рисунке 2.24 представлена структура программного обеспечения клиента NetWare, устанавливаемого на рабочей станции.
Рис. 2.24. Структура ПО клиента NetWare
Запросчик (Requester) перехватывает прерывания на ввод/вывод в файл. Если файл располагается на локальном диске, то запрос обрабатывается операционной системой рабочей станции. Иначе, используя примитивы API-интерфейса, запросчик организует ввод/вывод в файл, хранящийся на диске файлового сервера. Следует отметить, что в OS/2 прерывания перехватывает сама ОС, а затем передаёт управление запросчику.
Стек транспортных протоколов поддерживает API-интерфейс доступа запросчика (или прикладной программы) к службам NetWare. На рабочей станции могут выполняться несколько транспортных протоколов одновременно: SPX/IPX, TCP/IP, AppleTalk. Как правило, для каждого протокола требуется свой запросчик, т. е. свой API-интерфейс. Обычно протокол SPX/IPX используется клиентами MS-DOS, OS/2, Windows NT Workstation, протокол AppleTalk - клиентами Macintosh. Протокол TCP/IP устанавливается в стек клиента NetWare для обеспечения связи с ОС UNIX.
Программа уровня поддержки связи (Link Support Layer - LSL) принимает пакет от драйвера сетевого адаптера, распознаёт протокол, который был использован при формировании пакета, выбирает соответствующий протокол из стека и передаёт ему управление.
Модули драйвера и уровня поддержки связи со стеком протоколов образуют так называемый интерфейс ODI (Open Data-Link Interface). Важно отметить, что стек транспортных протоколов рабочей станции является открытым: если новый протокол разрабатывался с использованием спецификаций ODI-интерфейса, то он может быть включён в стек.
В таблице 2.9 перечислены компоненты ПО клиента MS-DOS.
Таблица 2.9. Компоненты программного обеспечения клиента MS DOS
Запросчик | Транспортный протокол (SPX/IPX) | Уровень поддержки связи | Драйвер сетевого адаптера | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
VLM.EXE и модули *.VLM | IPXODI.COM | LSL.COM | NE2000.COM, NE1000.COM и др. |
На рисунке 2.25 представлена структура многопротокольного интерфейса STREAMS, используемого на файловом сервере. Он применяется для обеспечения взаимодействия с сервером по протоколам, отличным от NCP на базе IPX.
Рис. 2.25. Структура многопротокольного интерфейса STREAMS
на файловом сервере
Поддержка многопротокольного интерфейса STREAMS - это множество программных средств, включающее ресурсы ядра и NLM-библиотеки STREAMS.NLM, CLIB.NLM, TLI.NLM, SPXS.NLM, IPXS.NLM. Это средство используется, чтобы создать дуплексный процесс пересылки данных между драйверами и программами сервера.
Драйверы сетевых адаптеров - это NLM-модули, обеспечивающие приём кадров и выделение из них пакетов. Файловый сервер может поддерживать одновременную работу 16 драйверов.
Уровень поддержки связи (Link Support Layer - LSL) принимает пакет от драйвера, распознаёт тип пакета и выбирает соответствующий протокол из стека коммуникационных протоколов. NetWare поддерживает одновременную работу до 32 протоколов. Модули драйверов и уровня поддержки связи LSL образуют ODI-интерфейс, позволяющий включать в стек новые транспортные протоколы.
При необходимости пакеты обрабатываются протоколами сессионного уровня NCP (пакеты IPX), AFP (пакеты AppleTalk от клиентов Macintosh), NFS (пакеты TCP/IP от клиентов UNIX), SMB (пакеты IPX от клиентов OS/2).