2. Рабочая станция NetWare


Рабочей станцией NetWare является компьютер, имеющий связь с серверами по локальной сети или через удаленное подключение, на котором загружено клиентское программное обеспечение.
Приложения рабочих станций могут обращаться к стандартным ресурсам DOS - дискам и принтерам, переназначенным оболочкой на сетевые устройства, а также непосредственно использовать вызовы сетевых протоколов, необходимые для обеспечения распределенной обработки информации.
Устанавливаемое на рабочей станции сетевое обеспечение разделяется на два уровня, нижний уровень отвечает за обеспечение коммуникаций, верхний уровень (клиент) обеспечивает доступ к сетевым сервисам.
После успешной загрузки клиентского обеспечения станция пытается установить соединение с сервером сети, и в случае успеха у нее появляется первый сетевой диск, обычно F:, отображающий каталог SYS:LOGIN подключенного сервера, что обеспечивает возможность регистрации пользователя в сети.
NetWare поставляется с клиентской частью для DOS/Windows, OS/2, Macintosh и UNIX, но наиболее распространены станции DOS/Windows, в дальнейшем мы будем говорить в основном о них. Работа с NetWare станций Windows подробнее описана в главе 7.

2.1 Коммуникации рабочей станции

Коммуникационные средства рабочей станции локальной сети включают сетевую плату (одну или несколько) или COM-порты с программной поддержкой сетевых протоколов. Сетевой и транспортный уровень в NetWare реализован на протокольном стеке IPX/SPX, включенном в ядро ОС.
Для рабочей станции DOS/Windows возможны различные реализации сетевых протоколов - монолитный драйвер IPX или комплект драйверов открытого интерфейса.

Монолитный драйвер IPX.COM

Монолитный драйвер - Dedicated IPX - драйвер протокола IPX, монопольно владеющий сетевой платой, применялся в версиях NetWare до 3.11 включительно, с 1991 года не обновляется. Драйвер IPX.COM генерировался для конкретной модели сетевой платы и аппаратной конфигурации (адреса ввода-вывода и памяти, номера прерывания и каналов DMA). Для адаптеров Ethernet поддерживается только тип фрейма Ethernet_802.3. Настройка параметров протокола возможна с помощью необязательного файла SHELL.CFG (см. табл. 2.1).

Драйверы открытого интерфейса ODI

Спецификация открытого интерфейса (Open Data Interface, ODI) обеспечивает возможность разделяемого использования сетевых адаптеров различными протокольными стеками (IPX/SPX, TCP/IP и др.). Драйверы ODI существуют для технологий Ethernet, Token Ring, ARCnet, Frame Relay, X.25, PPP, FDDI. Каждый адаптер может использовать несколько типов фреймов, для Ethernet тип фрейма по умолчанию Ethernet_802.2.
Драйверы ODI состоят из набора небольших последовательно загружаемых модулей. Малый размер отдельных модулей облегчает их загрузку в верхнюю память. Модули можно выгружать из памяти в порядке, обратном загрузке. Модули конфигурируются файлом NET.CFG (см. табл. 2.1-2.3).
Первым загружается LSL.COM - драйвер поддержки связи (Link Support Layer), обеспечивающий работу сетевой платы с различными протокольными стеками и, наоборот, возможность работы каждого стека с несколькими платами (физическими и логическими).
Далее загружаются коммуникационные драйверы ODI конкретных моделей используемых сетевых плат (из NetWare или от поставщика платы) или других коммуникационных средств (COM-порты, IPTUNNEL) и драйверы сетевых протоколов: IPXODI, TCPIP и т. д.
Для прикладных программ, напрямую использующих вызовы протоколов IPX/SPX (минуя DOS) в многозадачной среде DOS (Windows в стандартном режиме, MS DOS 5 и выше, DR DOS 6 и старше), запускается менеджер буфера переключения задач TBMI2.EXE (TBMI.EXE для Windows 3.x). Он обеспечивает доступ из локальной памяти текущего сеанса DOS к IPXODI.COM, загруженному в глобальную память.
Для прямого вызова IPX приложениями DOS из Windows в расширенном режиме используется драйвер VIPX.386, синхронизирующий вызовы и ответы для сеансов DOS.
Сетевые функции на станциях с Windows 95 реализуются штатными средствами этой ОС и подробнее описаны в главе 7.

Таблица 2.1 Опции IPX файла SHELL.CFG и секции PROTOCOL IPXODI файла NET.CFG
CONFIG OPTION=n задание номера опции аппаратной конфигурации IPX.COM;
INT64 ON (OFF) обеспечение приложениям доступа к сервису IPX через Int 64h (для совместимости с ранними версиями NetWare);
INT7A ON (OFF) обеспечение приложениям доступа к сервису IPX через Int 7Ah (для совместимости с NetWare 2.0a);
IPX PACKET SIZE LIMIT=(576-6500) уменьшение размера пакета (для экономии памяти), равногопо умолчанию 4160 байт или заданного коммуникационным драйвером, для Ethernet оптимально 1500 байт;
IPX RETRY COUNT=20 (0-65535) определение количества повторов пакетов, которое IPX рекомендует SPX и оболочке DOS;
IPX SOCKETS=20 (10-150) задание допустимого количества IPX-сокетов на рабочей станции;
SPX ABORT TIMEOUT=540 (1-65535) установка времени ожидания ответа перед разрывом SPX-соединения, задается в 1/18 с тиках;
SPX CONNECTIONS=15 (5-255) определение максимального числа одновременных SPX-соединений;
SPX VERIFY TIMEOUT=54 (1-65535) назначение периода (в тиках) посылки пакетов для подтверждения существования соединения: если установлен сеанс SPX, но пакеты не посылаются, то SPX посылает дежурные пакеты не реже, чем через заданный интервал;
SPX LISTEN TIMEOUT=108 (1-65535) определение времени (в тиках) ожидания пакета перед посылкой запроса на подтверждение существования SPX-соединения;
IPATCH addr, byte замена при загрузке байта (возможно цепочки байтов) IPX.COM (IPXODI.COM) на указанные.
Только для секции PROTOCOL IPXODI
BIND boadr1 [,board2] станции при загрузке драйвера адаптера. задание логических плат, связанных с протоколом IPX. Платы задаются номерами (#1, #2...) или именами драйверов (NE2000). Номера логических плат выводятся на консоль
MINIMUM SPX RETRIES=20 (0-255) задание количества неподтвержденных запросов, необходимых для признания соединения недействительным.
Таблица 2.2 Секция LINK SUPPORT файла NET.CFG
BUFFERS num [size] устанавливает количество и размер (по умолчанию 0 и 1130) коммуникационных буферов, необходимых протокольным стекам (IPXODI -- не использует, TCPIP требует не менее двух буферов);
MEMPOOL num задает размер пула буферов в килобайтах (IPXODI не использует, TCPIP требует 2 кбайт);
MAX BOARDS 4 (1-16) определяет максимальное количество логических плат;
MAX STACKS 4 (1-16) задает максимальное количество идентификаторов логических протокольных стеков.
Таблица 2.3 Секции LINK DRIVER <driver_name> файла NET.CFG
Аппаратная часть секции
PORT hex_num определяет базовый адрес портов
INT hex_num задает номер прерывания
MEM hex_num определяет начальный адрес RAM адаптера,
4 цифры (в 16-байтных параграфах)
DMA num устанавливает номер канала DMA
SLOT num определяет номер слота (для адаптеров шин
MCA, EISA, PCI)
NODE ADDRESS hex_num определяет MAC - адрес станции (если адапрер позволяет его изменять)
Программная часть
FRAME frame_type устанавливает тип фрейма
PROTOCOL name hex_protocol_ID frame_type задает имя протокола, его hex-идетификатор
и тип используемого фрейма
MAX FRAME SIZE number задает максимальный размер фрейма
Кроме перечисленных, в секцию могут входить определения специфичных для драйвера параметров (ALTERNATE, SAPS, LINK STATION и другие).



2.2 Клиентское обеспечение

Для обеспечения доступа к сетевым дискам, принтерам и обмена сообщениями применяется сетевая оболочка (NETx) или запросчик DOS (VLM). Оба варианта рассчитаны только на использование транспорта IPX/SPX для посылки запросов к серверу по протоколу NCP, при полном переходе сети на другой протокол (например, TCP/IP) требуется их замена на другие разновидности клиентов.
В состав клиентского обеспечения входит также эмулятор NetBIOS и поддержка именованных каналов Named Pipes.

Оболочка NETX

Версии NetWare 3.11 и младше использовали оболочку NETx.COM, где x - номер версии DOS (3, 4, 5). Универсальная оболочка NETX.EXE используется для версий 3.1-5.x, для MS DOS 6.x утилитой SETVER.EXE устанавливается версия 5.00.
Оболочки NETx.COM загружаются в стандартную (Conventional) память, занимая около 40 Кбайт. Для использования протокола Packet Burst применяется оболочка BNETX.EXE.
Все эти оболочки перехватывают прерывания Int 21h - основные функции DOS, Int 24h - обработчик ошибок и INT 17h - вывод в LPT-порт, и, если вызов относится к сетевым устройствам, обрабатывают его с использованием предварительно загруженного драйвера протокола IPX/SPX, иначе направляют в DOS.
Для отображения сетевых дисков используются буквы приводов, незанятые драйверами DOS (начиная с F: или следующей после указанной в строке LASTDRIVE=x в CONFIG.SYS), для локальных - от A: до LASTDRIVE. Оболочки поддерживают только серверы NetWare с базой данных пользователей Bindery.
Параметры загрузки оболочки могут быть изменены в файле SHELL.CFG для IPX или в NET.CFG для IPXODI (табл.2.4, 2.5).

Запросчик VLM

Начиная с версии 3.12 в комплекте NetWare поставляется новая версия верхнего уровня клиентского обеспечения - запросчик DOS (NetWare DOS Requester) VLM (Virtual Loadable Module).
Запросчик поддерживает пользователей серверов NetWare 2.x-3.x с Bindery, серверов NetWare 4.x с сервисом каталогов NDS и серверов одноранговой сети Personal NetWare.
Запросчик поддерживает технологию свопинга памяти, протокол Packet Burst и обработку больших межсетевых пакетов (LIP), средства SNMP на рабочей станции (Desktop SNMP).
Запросчик состоит из набора виртуальных загружаемых модулей (.VLM-файлов) и менеджера VLM.EXE, управляющего их загрузкой и взаимодействием. Каждый модуль выполняет определенные функции. Модульность архитектуры обеспечивает экономию памяти (VLM, реализующий неиспользуемые функции, можно не загружать) и наращиваемость функциональности для будущих приложений.
В отличие от NETX, запросчик использует не перехват прерываний, а функции переназначения устройств DOS, что ускоряет обработку локальных вызовов. При этом для сетевых дисков используются буквы, зарезервированные под DOS, начиная с указанной в строке First Network Drive = x файла NET.CFG (или первой свободной) и до указанной в строке LASTDRIVE = y файла CONFIG.SYS (по умолчанию E), а для локальных - от A до x-1. Обычно при использовании запросчика указывают LASTDRIVE = Z.
Для загрузки запросчика после загрузки средств поддержки протокола IPX/SPX (IPX.COM или IPXODI.COM) исполняется VLM.EXE. Опции запуска /D и /? выводят диагностическую информацию и экран помощи. Выгрузить VLM.EXE из памяти позволяет опция /U.
Параметры запросчика задаются в секция NetWare DOS Requester файла NET.CFG. Они используют опции, частично совпадающие с опциями для NETX (см. табл. 2.4) и имеет дополнительные опции (см. табл2.6).

Таблица 2.4 Опции SHELL.CFG и NET.CFG, применяемые с оболочкой (NETX) и запросчиком (VLM)
SET STATION TIME = ON (OFF) установка часов DOS станции по часам сервера с учетом временной зоны сервера (TIMEZONE) и станции (заданной DOS-директивой SET TZ = t_zone);
MAX TASKS = 31 (5-254) определение максимального количества одновременно запущенных задач (для Windows, DESQview и т. д.);
PREFERRED SERVER = server_name определение предпочтительного сервера при первоначальном подключении;
CACHE BUFFERS = 5 (0-64) установка количества буферов для кэширования файлов запросчиком (каждый буфер позволяет кэшировать 1 файл);
PRINT HEADER = 64 (0-1024) определение размера буфера инструкций, передаваемых принтеру для печати задания;
PRINT TAIL = 16 (0-1024) установка размера буфера инструкций для возврата принтера в исходное состояние после печати задания;
LOCAL PRINTERS = 3 (0-9) ограничение количества локально используемых логических LPT-портов;
SEARCH MODE = 1 (0-7) задание метода поиска файлов: 0 -- обычный для DOS, 1 -- добавление сетевых поисковых драйвов (в отличие от оболочки NETx для работы сетевого поиска не требуется, чтобы текущий диск был сетевым);
READ ONLY COMPATIBILITY = OFF (ON) совместимость с версиями до NetWare 2.1: файл R/O мог быть открыт с доступом R/W, но попытка записи блокировалась с возвратом кода ошибки;
SHOW DOTS = OFF (ON) показ "." и ".." в элементах каталогов (для Windows 3.x рекомендуется ON);
LONG MACHINE TYPE = IBM_PC присвоение значения переменной "MACHINE" (1-6 символов);
SHORT MACHINE TYPE = IBM присвоение значения переменной "SMACHINE" (1-4 символа).
Таблица 2.5 Опции SHELL.CFG и NET.CFG, применимые только с оболочкой (NETX)
ALL SERVERS=OFF (ON) передача сигнала "End of Task" всем присоединенным серверам (ON) или только участвующему в задаче;
EOJ=ON (OFF) автоматическое закрытие файлов, захватов, семафоров и т. д. по концу задачи;
FILE HANDLES=40 установка количества одновременно открытых сетевых файлов;
HOLD=OFF (ON) сохранение открытого состояния для файлов, уже закрытых программой, до выхода из программы (старые приложения, использующие FCB, могут требовать "ON");
LOCK DELAY=1 определение времени ожидания перед попыткой захвата (в тиках);
LOCK RETRIES=3 определение количества попыток захвата;
MAX CUR DIR LENGTH=64 (64-255) установка ограничения длины пути текущего каталога;
MAX PATH LENGTH=255 (64-255) задание максимальной длины пути (не включая имя сервера и имя файла);
MAX TASKS=31 (20-128) установка количества одновременно активных задач;
PATCH=addr, byte "заплаты" оболочки;
SHARE=ON (OFF) разрешение (запрещение) процессам использовать ресурсы (file handles) совместно с родительскими;
SPECIAL UPPERCASE=OFF (ON) запрещение (разрешение) использования оболочкой DOS-вызова для трансляции ASCII-символов с номерами выше 128;
TASK MODE=2 (0, 1) установка режима переключения виртуальных машин (2 -- Windows 3.0, 0 -- без многозадачности);
ENTRY STACK SIZE=10 (5-40) обеспечение видимости в окне страницы памяти кода, находящегося в отображаемой памяти (только для EMSNETX).

Таблица 2.6 Опции NET.CFG, применяемые только с запросчиком (VLM)
USE DEFAULTS = OFF отмена загрузки стандартного набора VLM-модулей
EXCLUDE VLM = fname отмена загрузки конкретного модуля из стандартного набора
VLM = fname загрузка конкретного модуля
MESSAGE LEVEL = 1 (0-4) степень подробности сообщений при загрузке:
0-заставка и критические ошибки,
1 = 0 + предупреждения,
2 = 1 + заставка каждого загружаемого VLM,
3 = 2 + конфигурация каждого VLM,
4 = 3 + вывод диагностической информации;
LOAD LOW CONN = ON (OFF) загрузка менеджера соединений в основную память (повышает эффективность, жертвуя 3 Кбайт стандартной памяти);
LOAD CONN TABLE LOW = OFF (ON) загрузка таблицы соединений в основную память для совместимости с начальным вариантом утилит NetWare 4.0;
LOAD LOW IPXNCP = ON (OFF) загрузка транспортного протокола для IPX в основную память (повышает эффективность жертвуя 4 Кбайт стандартной памяти);
NETWARE PROTOCOL = NDS, BIND, PNW список используемых протоколов NetWare в порядке убывания приоритета (модуль неуказанного протокола не загружается, при отсутствии этой опции загружаются все);
CONNECTIONS = 8 (2-50) максимальное количество соединений с серверами, для серверов 2.x-3.x лучше не превышать 8; на каждое резервируется память в таблице соединений;
AVERAGE NAME LENGTH = 48 (2-48) максимальная длина имен используемых серверов (позволяет экономить память при коротких именах);
CHECKSUM = 1 (0-3) уровень использования контрольных сумм пакетов NCP: 0 = запрещено, 1 = разрешено, 2 = предпочтительно, 3 = необходимо;
SIGNATURE LEVEL = 1 (0-3) уровень использования сигнатур пакетов NCP: 0 = запрещено, 1 = разрешено, 2 = предпочтительно, 3 = необходимо (при значении 0 модуль SECURITY.VLM не загружается);
HANDLE NET ERRORS = ON (OFF) обработка сетевых ошибок через Int 24h (при OFF будут возвращаться коды NetWare, при ON ошибки передаются обработчику DOS);
MESSAGE TIMEOUT = 0 (0-10000) время перед автоматическим удалением сообщения с экрана (в тиках), при значении 0 удаление происходит только по Ctrl-Enter;
CACHE BUFFER SIZE = 512 (64-4096) размер кэш-буфера для сетевых файловых операций (превышение максимального размера фрейма сетевой платы не имеет смысла);
CACHE WRITES = ON (OFF) кэширование записи (повышает производительность и риск потери данных, т. к. запись в файл считается совершенной уже после попадания в кэш-буфер станции);
TRUE COMMIT = OFF (ON) правдивость подтверждения записи: ON -- подтверждение приходит после физической записи на диск сервера (повышение гарантии целостности данных), OFF -- подтверждение происходит по записи в кэш-буфер сервера (повышение производительности);
LARGE INTERNET PACKETS = ON (OFF) разрешение передачи больших (более 576 байт) пакетов через мосты и маршрутизаторы;
PB BUFFERS = 3 (0-10) количество буферов для протокола Packet Burst (при значении 0 Packet Burst отключен);
PBURST READ WINDOW SIZE = 10 (2-64) количество буферов Packet Burst при чтении;
PBURST WRITE WINDOW SIZE = 10 (2-64) количество буферов Packet Burst при записи;
PRINT BUFFER SIZE = 64 (0-256) размер кэш-буфера печати для посимвольного вывода через INT 17h;
NETWORK PRINTERS = 3 (0-9) количество логических LPT-портов, перехватываемых для сетевой печати (при значении 0 модуль RPRINT.VLM не загружается);
FIRST NETWORK DRIVE = (A-Z) имя первого сетевого диска, может перекрыть локальный диск (обычно F, если не указан -- первая свободная буква);
DOS NAME = MSDOS (1-5 символов) присвоение значения переменной "OS";
AUTO RECONNECT = ON (OFF) разрешение повторного подключения станции к серверу с восстановлением среды станции после потери соединения (при значении ON требуется загрузка AUTO.VLM и RSA.VLM);
AUTO RETRY = 0 (0-3640) задержка для AUTO.VLM (в секундах) перед повтором вызова после получения критической сетевой ошибки (при значении 0 попыток повтора не происходит);
AUTO LARGE TABLE = OFF (ON) выделение большой таблицы для автоматического восстановления соединений Bindery (178 байт вместо 34 байт на соединение, не требуется, если имя пользователя и пароль не длиннее 16 символов);
BIND RECONNECT = OFF (ON) автоматическое восстановление соединений Bindery, планов драйвов и соединений печати (при использовании AUTO RECONNECT = ON).
MINIMUM TIME TO NET = 1000 время ожидания ответа от первого маршрутизатора.
Следующие параметры относятся только к использованию Personal NetWare:
BROADCAST RETRIES = 2 (0-255) количество попыток посылки широковещательных сообщений группе,
BROADCAST SEND DELAY = 0 (0-255) задержка (в тиках 1/18 с) между посылками широковещательных сообщений;
BROADCAST TIMEOUT = 3 (1-255) задержка между посылками повторных широковещательных сообщений;
PREFERRED WORKGROUP = workgroup рабочая группа по умолчанию
RESPONDER = OFF (ON) ответ станции на широковещательные и диагностические запросы (OFF экономит память, занимаемую запросчиком)
WORKGROUP NET = wkg_net_addr адрес сети, в котором ищется рабочая группа (если она не в той же сети, что и станция)
Применительно к NetWare 4.x дополнительно используются команды:
PREFERRED TREE= d_tree_name предпочтительное дерево каталогов при первоначальном подключении, используется, если в сети активно несколько деревьев; несовместимо с использованием PREFERRED SERVER.
NAME CONTEXT="context_name" имя контекста по умолчанию, задается в кавычках.

2.3 Регистрация в сети

После загрузки правильно сконфигурированного клиентского обеспечения станции становится доступным первый сетевой диск, спланированный в каталог SYS:LOGIN сервера, с которым установлено соединение. Этот каталог, по умолчанию доступный всем членам группы EVERYONE с правами R, F, содержит файлы, необходимые для регистрации с целью получения доступа к ресурсам сети.
Утилита LOGIN.EXE обеспечивает регистрацию в файл-сервере NetWare 3.x и младше, а в NetWare 4.x - для доступа к ресурсам ВСЕЙ СЕТИ (однократная регистрация).
После регистрации возможно планирование сетевых дисков - связывание логических дисков станции с каталогами файл-серверов и подключение к сетевым принтерам связыванием номера перехватываемого LPT-порта с очередями печати. Также становится возможным передача сообщений и использование сетевых каталогов


Вопросы и ответы (глава 2) | Глава 3 | Содержание

Михаил Гук (Mgook@stu.neva.ru, Сайт автора)

Используются технологии uCoz