Локальные сети под ДОС. Стоит ли напрягаться?

Там чудеса, там леший бродит и Нортон на винте висит…

На моём сайте – www.fdd5-25net часто попадаются интересные заблуждения в форумах, мол, локальная сеть это преимущество WINDOWS. Хотя, известно, что NOVELL NETWARE не являясь графической средой, поддерживает её без особых затруднений. Но она специально создана такой. Ну, а допустим, старый MS-DOS, как он работает в сетях?
Для него существует множество программ, но самой удобной, на мой взгляд, является MS LAN MANAGER
www.fdd5-25.net/inet/mslan.zip. О работе локальной сети при помощи этого пакета я и хочу поговорить сегодня.

Но вначале хочу рассказать о том, что привело к написанию данного материала. Дело в том, что у меня уже с пол года, как проведена локальная сеть между 286 IBM и Pentium. Было любопытно, каково это сидеть в чистом DOS и локальной сети с компьютером, который многие готовы сдать на металлолом. Оказалось, довольно интересно и занимательно. Для меня во всяком случае. Выше было уже написано о том, что только сейчас почему-то всплыла тема локальных сетей под ДОС. Хотя практическая отдача от этого довольно большая, не смотря на банальность этого вопроса…

Зачем?
Зачем нужна публикация, посвящённая сетям под DOS? Таким риторическим вопросом должен задаться читатель. На самом же деле практическая отдача очень велика. В первую очередь это возможность использования старых машин в качестве терминалов и рабочих станций. Ведь в отличии от своих графических собратьев ДОС не ест много ресурсов диска и экономно использует оперативную память. Ведь не всегда нужна трёхпроцессорная станция с последней версией WINDOWS XP. Тем более, что во многих конторах и даже банках существует огромное количество х86 компьютеров, которые без локальной сети становятся очень неудобными в работе. Не будешь же бегать каждый раз с дискетой. А ведь сейчас ISA сетевую карту можно купить за 1-2USD. Так что мне, кажется, этот материал будет полезен широкому кругу читателей, даже если они безмерно помешаны на WINDOWS. Ведь большинство консольных команд применяемых в ДОС остались и в последних версиях творений от MICROSOFT.

Как и что?
Главное — LAN MANAGER это не набор красивых графических утилит, а просто множество дополнительных программ и драйверов, работающих в командной строке под ДОС. Большинство из них сохраняет свой синтаксис и в WINDOWS 9.X, только лишь в последних версиях WINDOWS NT добавлены новые ключи и команды. Так что если вы до сих пор используете WINDOWS 95-ME, то здесь обязательно найдутся полезные советы и для вас.

1.Установка сетевого клиента LAN MANAGER
Если у вас установлен Windows 3X, то вам следует инсталлировать клиента в каталог с оболочкой, так будет проще разобраться с устаревшими драйверами. Строкой PATH нужно включить директории Windows в загрузку. Проверьте эту строку после того, как вы установите сетевого клиента.
2. Программа требует 429кб основной памяти.
Для того, чтобы LAN MANAGER работал, вы должны иметь 429кб свободной стандартной памяти, для этого следует воспользоваться драйвером himem.sys и утилитой Qemm или ей подобной.
3. Работа с “Double Disk Drive”.
К сожалению, пакет LAN MANAGER не работает с программой сжатия дисков Vertisoft Systems DoubleDisk.
4. Windows 3.x
Если вы установили LAN MANAGER и затем уже Windows 3.x, то программа установки спросит, какого сетевого клиента вам выбрать. Но LAN MANAGER не появится в списке, так как он новее WIN3.X. Взамен него, придётся выбирать «LAN Manager 2.1».
5. Использование INTERLNK и INTERSVR

Довольно любопытная вещь выходит, если эти программы для соединения компьютеров через порты попытаться использовать вместе с LAN MANAGER. В итоге начинаются сбои не только с ним, но и со всеми настройками сети. Очень неудобно. Хотя и теоретически исправляемо. Вот вкратце те проблемы, с которыми можно столкнуться во время установки LAN MANAGER.

Инсталляция
После того как вы скачали программу, распаковали sfx-архивы вы начинаете установку. Как не парадоксально LAN MANAGER понимает только ISA сетевые карты, для других, например PCI, обязательно нужен соответствующий драйвер. Локальная сеть, вообще штука интересная. Из всех клиентов локальной сети которые я знаю только LAN MANAGER имеет поддержку протокола TCP/IP. Значение адреса обычно задаётся во время установки. Например, я проводил локальную сеть с 286/DOS на Pentium/WIN98, и особенных трудностей не возникло. Хотя пришлось помучаться с определёнными командами. И если бы у меня тогда была подобная публикация, времени на настройку сети понадобилось на много меньше. Саму установку описывать бесполезно. Всё происходит быстро и понятно в лучших традициях MICROSOFT. Драйвера прописываются в autoexec.bat и config.sys, если есть WINDOWS, то не забудут и system.ini. Но нас должно интересовать не куда они влезли, а что с этим потом делать. Кстати, LAN MANAGER занимает много основной памяти, поэтому если не лень, то напишите в строках загрузки драйвера в config.sys не “device=”, а “devicehigh=”. Тогда драгоценные программки будут загружаться в расширенную память, которая находится в диапазоне свыше 640кб.
Так вот, вроде, вступительные слова и закончились. Теперь следует окинуть взором возможности команд LAN MANAGER и WINDOWS для сети.

1. Ping – это утилита для проверки работоспособности сети. Принцип ее работы в общих чертах заключается в посылке узлу эхо запроса и ожидании от него эхо ответа. Каждый узел сети должен уметь принимать эхо запросы и возвращать эхо ответы, разумеется, если он подсоединен к сети и работает.
Отсутствие эхо ответа от сервера обозначает: либо сервер «висит», либо имеется неустранимое повреждение сети на участке клиент-сервер, обойти в «обход», которое невозможно. Это свойство делает ping удобным инструментом проверки работоспособности узла и целостности соединения. Впрочем, отрицательный результат работы ping не всегда свидетельствует о наличии какой-либо проблемы. Например, самая главная проблема заключена в том, что для применения данной команды необходима установка протокола TCP/IP и так же знание пользователем IP адреса удалённого компьютера который вы желаете проверить.
Несмотря на свою простоту, утилита ping понимает достаточно большое количество ключей командной строки, более чем поверхностно описанных в прилагаемой документации. Неудивительно, что многие возможности ping ускользают не только от начинающих, но и от умудренных жизнью пользователей.

Ключ -w используется для задания интервала ожидания эхо ответа в миллисекундах (по умолчанию 20 секунд). Если отклик от сервера не будет получен в течение указанного времени, утилита ping сообщит «Превышен интервал ожидания для запроса», намекая на неработоспособность сервера или повреждение сети.

Ключ -n задает количество отправляемых эхо запросов (по умолчанию 4). Увеличение количества запросов бывает необходимо для контроля надежности и устойчивости работы сервера. Чем выше качество канала, тем меньше разброс по времени ответов.

Ключ –t заставляет утилиту ping посылать запросы в бесконечном цикле до ее прерывания нажатием комбинации клавиш . Внимание: не прерывает процесс, а выводит текущую статистику! Этот ключ очень удобен для ожидания момента пробуждения некстати зависшего сервера.

Ключ –l задает размер дейтаграммы без учета длины заголовка (28 байт), посылаемой в эхо запросе. Допустимыми являются значения от 0 до 65.500, включительно. По умолчанию размер дейтаграммы составляет 32 байта. Манипулируя этим значением, можно выяснить зависимость: скорость доставки – размер дейтаграммы. Если размер дейтаграммы превысит некоторую критическую величину (определяемую каждым промежуточным узлом самостоятельно), дейтаграмма разрезается на несколько пакетов подходящего размера, каждый из которых добирается до конечной точки маршрута самостоятельно, а на узле назначения они вновь собираются в исходную дейтаграмму.

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

Ключ –i задает время жизни (сокращенно TTL – Time To Live) пакета посылаемых дейтаграмм, измеряемое количеством узлов, которые может посетить пакет (по умолчанию 128). Каждый промежуточный узел уменьшает значение TTL на единицу и, когда оно достигает нуля, пакет уничтожается с посылкой отправителю соответствующего уведомления. Это обстоятельство позволяет отслеживать маршрут путешествия пакетов, используя ping вместо утилиты tracert.

Ключ –v задает значения поля типа службы (TOS – Type Of Service). Тип сервиса с помощью некоторых абстрактных параметров указывает предпочтительный вид обслуживания – минимальная задержка, максимальная пропускная способность, максимальная надежность, минимальные издержки на пересылку или обычная, неприоритетная, пересылка.

Ключ -j задает список узлов для свободной маршрутизации от клиента и аналогичен одноименному ключу утилиты tracert.

Ключ -k похож на ключ -j, но задает список узлов для жесткой маршрутизации, т.е. пакет передается из рук в руки строго по перечню перечисленных узлов, и ни один из них не может позволить себе воспользоваться услугами «собственного» маршрутизатора для передачи пакета следующему узлу.

Ключ -a задает определение имен узлов по их IP-адресам. Так, во всяком случае, сказано в документации. Смысл этого неясен: такое определение и без того происходит автоматически независимо от наличия (отсутствия) ключа «-a».

2. Команда net
Важнейшей командой по части работы в среде ДОС является команда net. Именно она нам поможет в установке связи, просмотра настроек соединения, покажет статистику, расшарит ресурс или подключит его.

Возможные синтаксисы:
— NET [CONFIG | HELP | START | STOP | TIME | USE | VIEW]
— NET CONFIG [SERVER | WORKSTATION] указывает настройки локальной сети компьютера.

Например:
Компьютер \\ROOT
Пользователь ROOT
Рабочая группа HOME
Корневая папка C:\WINDOWS
Версия программы 4.10.1998
Версия системы переадресации 4.00
Команда выполнена успешно.

— NET HELP имя команды или NET имя команды /HELP – выводит список всех допустимых команд.
— NET START запуск определённых служб. Например:
NET START [BASIC | NWREDIR | WORKSTATION | NETBIND | NETBEUI | NWLINK] [/LIST] [/YES] [/VERBOSE]
BASIC – запуск базовой системы переадресации.
NWREDIR — запуск системы переадресации Microsoft, совместимой с Novell(R).
WORKSTATION — запуск стандартной системы переадресации.
NETBIND — привязка протоколов к драйверам сетевых плат.
NETBEUI — запуск интерфейса Net BIOS.
NWLINK — запуск IPX/SPX-совместимого интерфейса.
/LIST — вывод списка запущенных служб.
/YES — выполнение команды NET START без предварительного запроса данных или подтверждения.
/VERBOSE — вывод сведений о драйверах устройств и службах по мере загрузки.
Для запуска системы переадресации, выбранной при установке, используется
команда NET START без параметров. В большинстве случаев использование
параметров не потребуется.
— NET STOP [BASIC | NWREDIR | WORKSTATION | NETBEUI |
NWLINK] [/YES] — остановка работы служб.
BASIC — остановка базовой системы переадресации.
NWREDIR — остановка системы переадресации Microsoft, совместимой с Novell(R).
WORKSTATION — остановка стандартной системы переадресации.
NETBEUI — остановка интерфейса NetBIOS.
NWLINK — остановка IPX/SPX-совместимого интерфейса.
/YES — выполнение команды NET STOP без предварительного запроса данных или подтверждения.
Для остановки системы переадресации, выбранной при установке,
используется команда NET STOP без параметров. При этом производится отключение всех общих ресурсов и удаление команд NET из памяти компьютера.
— NET TIME синхронизирует время с сервером.
— NET USE подключение и отключение общих ресурсов и вывод сведений о подключениях.

Возможные синтаксисы:
NET USE [диск: | *] [\\компьютер\папка [пароль | ?]] [/SAVEPW:NO] [/YES] [/NO]
NET USE [порт:] [\\компьютер\принтер [пароль | ?]] [/SAVEPW:NO] [/YES] [/NO]
NET USE диск: | \\компьютер\папка /DELETE [/YES]
NET USE порт: | \\компьютер\принтер /DELETE [/YES]
NET USE * /DELETE [/YES]
NET USE диск: | * /HOME
Диск — имя диска, назначаемое общей папке. Эквивалент следующего свободного имени диска — *. При использовании совместно с ключом /DELETE производится отключение сразу всех ресурсов.
Порт — имя параллельного (LPT) порта, назначаемое общему принтеру. Компьютер — имя компьютера, на котором расположен общий ресурс.
Папка — сетевое имя общей папки.
Пароль — код для доступа к общему ресурсу (если он имеется).
? — пароль для доступа к ресурсу запрашивается интерактивно. Этот режим может понадобиться лишь в том случае, когда ввод пароля необязателен.
/SAVEPW:NO — использование этого ключа позволяет предотвратить запись пароля в файл со списком паролей. В этом случае при каждом подключении к ресурсу пароль надо будет вводить заново.
/YES — выполнение команды NET USE без предварительного запроса данных или подтверждения.
/DELETE — отключение общего ресурса.
/NO — выполнение команды NET USE с автоматической выдачей отрицательных (NO) ответов на все запросы, относящиеся к подтверждению действий.
/HOME — подключение к основному каталогу, если сведения о нем имеются в учетной записи LAN Manager или Windows NT.

Команда NET USE без параметров выводит список всех подключенных ресурсов. Для просмотра выводимых сведений с паузами между отдельными экранами используются команды:
NET USE /? | MORE
— NET VIEW – Вывод списка компьютеров, входящих в рабочую группу, или списка общих ресурсов на заданном компьютере.
NET VIEW [\\компьютер] [/YES]
NET VIEW [/WORKGROUP:группа] [/YES]
Компьютер — имя компьютера, список общих ресурсов которого следует вывести.
/WORKGROUP — этот ключ указывает необходимость вывода списка компьютеров из другой рабочей группы, имеющих общие ресурсы.
Группа — имя рабочей группы, список компьютеров которой следует вывести.
/YES — выполнение команды NET VIEW без предварительного запроса данных или подтверждения.
Для вывода полного списка имеющих общие ресурсы компьютеров из рабочей группы, в которой зарегистрирован данный компьютер, используется команда NET VIEW без параметров.

Практика
Вот вы и познакомились со всеми возможными командами. А что дальше? А дальше я буду рассказывать о работе сети на примере своего 286-го IBM и зверской машины 1000 celeron. Оба эти компьютера обладают сетевыми картами REALTEC 8019 или в народе аналог NE 2000. Эта модель есть в стандартных драйверах LAN MANAGER, так что мне повезло. А вот операционные системы на их бортах разные: 286-MS DOS 6.22, а 1000 celeron – WINDOWS 98 полугодовой установки.
Первое что понадобилось это кабель, которым я соединил компьютеры. В целях экономии это был обычный кроссовер. Перед этим следует обязательно прозвонить провод и убедится в его целостности, чтобы потом не пенять на ошибки программы и прочие приятные мелочи! Сделайте это обязательно.
Самое главное в старых компьютерах это оперативная память. Все программы — LAN MANAGER записываясь в автозагрузку, съедают всю основную память. Поэтому рекомендую все их строки инициализации удалить. Всё равно потом команда “net start” выполнит загрузку всего необходимого. Итак, первая команда – net start netbeui. Именно при помощи этого протокола я устанавливаю соединение в сети. Почему не TCP/IP? Просто на 286-й машине он без нужды. Если никаких ошибок нет, а именно не установлен протокол или не найден файл, то должна появится надпись, что команда выполнена успешно. А это обозначает, что первый этап прошёл хорошо. То же на всякий случай я пишу и в консоли WINDOWS 98. Там тоже всё проходит успешно. Если на компьютере установлена WINDOWS3.X, то в файле network.inf в каталоге LAN MANAGER можно посмотреть конфигурацию локальной сети.

Частичный пример моего файла:
NETWORK.INF
[nwsdata]
version=»3.1.032?
autoexec_anchor=»net start»
config_anchor=»workgrp.sys»
default_transport=ms$nwlink
[workgroup]
descr=»Workgroup Drivers»
[MultiNet]
lanman=»Microsoft LAN Manager»,0x200,0,0,mn$lanman
[data]
type=network
version=»3.11.060?
autoexec_anchor=»net start»
config_anchor=»»
transport_hook=ms$ndishlp
defNDIS2_transport=ms$nwlink
[common]
devicesys=ifshlp.sys,@devdir\ifshlp.sys
tsr=»net start»
netstart=»net start»,»@netdir\net start»
lastdrive=Z
devicesys=protman.dos
devicesys=workgrp.sys
; Protman Install and Protocol Sections
[protman_install]
netdir=1:protman.dos,1:protman.exe
[protman]
drivername=PROTMAN$
param=PRIORITY,,static,MS$NDISHLP
……………………….
Большинство установок, как говорят на лицо. Пакет LAN MANAGER, как и любая версия WINDOWS использует *.inf файлы. И при установке на уже готовую оболочку частично копирует их к себе каталог, если конечно до этого была настроена сеть.
Следующим шагом по установки соединения становится команда “NET VIEW”. С её помощью мы узнаём о количестве компьютеров подключённых в данную рабочую группу. Эту команду я вводил на своей 286 машине. На другом компьютере независимо от его модели должен быть установлен общий доступ к файлам, папкам и принтерам, иначе в противном случае команда не укажет ровным счётом ничего. Если же всё будет установлено правильно, то у вас появится надпись с длинной полосой. В ней будут указаны имена компьютеров, их рабочая группа и краткое описание. Когда вы убедились в полной мере, что сеть работает. Нужно сделать общедоступным какой-нибудь ресурс. У меня это был раздел D: на диске моего Pentium. Для его подключения я написал команду:
Net use F: \\nc\d
Главное не запутаться в написании, казалось бы, этой простой команды. Параметр F: задаёт имя диска на моей 286-й машине, а путь \\nc (имя компьютера)\d (имя общедоступного ресурса). После таких манипуляций сеть должна работать без проблем, даже если это будет 8088 intel.
Остаётся самый банальный вопрос. А как в среде ДОС сделать общедоступным какой-либо ресурс? Всё это очень просто, нужно воспользоваться утилитой SHARE.EXE, которая благополучно прячется в папке вашего MS-DOS 6.22. Утилита устанавливает для ваших жёстких и сетевых дисков средства совместного использования и блокировки.
SHARE [/F:память] [/L:блок]

В файле CONFIG.SYS используется синтаксис:
INSTALL=[[диск:]маршрут]SHARE.EXE [/F:память] [/L:блок]
Параметр [диск:]маршрут задает расположение файла SHARE.EXE.
/F:память выделяет память на диске (указывается в байтах), которую MS-DOS использует для записи информации о совместном использовании файлов (по умолчанию — 2048). При определении этого объема памяти, учитывайте, что каждый открытый файл требует места, достаточного для его маршрута и имени (средняя длина файла и маршрута — 20 байт). /L:блок задает число одновременно блокируемых файлов (по умолчанию — 20). Обычно SHARE используется в многозадачной среде, где программы совместно используют файлы. SHARE загружает программный код, поддерживающий в таких средах совместное использование и блокировку файлов. После установки Share MS-DOS использует загруженные средства для обеспечение допустимости всех запросов программ на чтение и запись. Например, при обращении двух пользователей к одному файлу SHARE работает с ним таким образом, что они не смогут записывать в него одновременно.

P.S
А) Имя группы лучше синхронизировать с именем сервера во время установки LAN MANGER.
Б) Не стоит давать неудобные длинные имена компьютерам в сети.
В) Во время установки LAN MANGER не следует забывать об установки всех трёх поддерживаемых протоколов, чтобы потом в случае чего не возится, доставляя IPX или TCP/IP.

 

(r) www.fdd5-25.net Форма обратной связи.