Разрешение имен с помощью WINS Лаштанов И.Г.
Знакомство с WINS Служба WINS предоставляет распредели ну ю базу данных, позволяющую регистрировать и запрашивать динамические привязки NetBIOS- имен компьютеров и групп вашей сети. WINS привязывает имена NetBIOS к IP- адресам и предназначена для устранения проблем преобразования имен NetBIOS в маршрутизируемых средах. WINS наилучшим образом подходит для разрешения имен NetBIOS в маршрутизируемых средах, использующих NetBIOS поверх TCP/IP.
Разрешение имен NetBIOS NetBIOS разработан в 1983 г. Sytek Corporation для IBM как протокол, позволяющий взаимодействовать приложениям по сети. NetBIOS определяет (рис. 9-1): сеансовый интерфейс; протокол управления сеансом/передачей данных. Интерфейс NetBIOS – API-интерфейс уровня представления, позволяющий пользовательским приложениям передавать протоколам более низких уровней команды сетевого ввода-вывода и управляющие команды. Любая программа, использующая API- интерфейс NetBIOS для коммуникаций, способна выполняться по любому протоколу, поддерживающему данный интерфейс. Такая возможность обеспечивается средствами программного обеспечения сеансового уровня (например, протокола NetBIOS Frame Protocol или протокола NetBT), которое выполняет операции сетевого ввода-вывода, необходимые для поддержки набора команд интерфейса NetBIOS. NetBIOS предоставляет команды и поддерживает следующие службы: регистрацию и проверку сетевых имен; установку и завершение сеанса связи; надежную передачу данных с обязательным установлением логического соединения: ненадежную передачу данных с использованием дейтаграмм без обязательного установления логического соединения; мониторинг и управление вспомогательным протоколом (драйвером) и адаптером.
Сетевая связь NetBIOS поверх TCP/IP
Имена NetBIOS Имя NetBIOS уникальный 16-разрядный адрес, идентифицирующий ресурс NetBIOS в сети. Имена NetBIOS могут быть как уникальными (монопольными), так и групповыми (общими). Уникатьные обычно применяются для взаимодействия со специфическим процессом системы, а групповые для одновременной рассылки информации нескольким компьютерам. Разрешение имен NetBIOS процесс преобразования имени компьютера NetBIOS в его IP-адрес. Перед тем как IP-адрес удастся преобразовать в аппаратный адрес (MAC-адрес сетевого адаптера), надо преобразовать NetBIOS-имя заданной системы в соответствующий IP-адрес. Версия пакета протоколов TCP/IP, реализованная Microsoft, использует несколько способов разрешения имен NetBIOS. Тем не менее конкретный механизм преобразования зависит от типа узла NetBIOS, сконфигурированного для конечной системы. Типы узлов NetBIOS определены в RFC 1001, «Protocol Standard for a NetBIOS Service on a TCP/UDP Transport; Concepts and Methods»
Файл LMHOSTS Статический ASCII-файл, используемый для преобразования имен NetBIOS в IP-адреса удаленных компьютеров с Windows NT. а также других NetBIOS- компьютеров. На рисунке показан пример файла LMHOSTS. В файле LMHOSTS также содержатся предопределенные ключевые слова, которым предшествует символ #. При использовании файла LMHOSTS в устаревшей системе NetBT, например в LAN Manager, эти директивы будут рассматриваться исключительно в качестве комментариев, поскольку они начинаются с символа #.
Общие сведения о WINS WINS устраняет необходимость применения широковещания для разрешения имен Net-BIOS и предоставляет динамическую БД, содержащую привязки имен компьютеров к IP-адресам. WINS это усовершенствованный сервер имен NetBIOS (NBNS), разработанный Microsoft с целью снижения широковещательного трафика, вызываемого реализацией NetBT на основе В-узлов. WINS применяется для регистрации NetBIOS-имен локальных и удаленных систем и преобразования этих имен в IP-адреса. Выгода от использования WINS очевидна. Важнейшее преимущество пересылка клиентских запросов на разрешение имен непосредственно WINS-серверу. Если сервер WINS может разрешить имя, он отсылает соответствующий IP-адрес непосредственно клиенту. Таким образом, отпадает потребность в широковещании и снижается объем сетевого трафика. При отсутствии сервера WINS для разрешения имени клиент WINS может воспользоваться широковещанием. Еще одно преимущество заключается в динамическом обновлении БД WINS, то есть информация этой БД всегда актуальна. Это устраняет потребность в файле LMHOSTS. Кроме того. WINS предоставляет возможность просмотра ресурсов сети и других доменов.
Разрешение имен NetBIOS с использованием WINS Если клиенту требуется установить соединение с другим компьютером той же сети, он сначала обращается к серверу WINS для разрешения IP-адреса конечной системы с использованием информации о привязках «имя NetBIOS/IP-адрес», хранящейся в БД сервера. Реляционный процессор БД сервера WINS обращается к базе данных с индексно-последовательным доступом. Она представляет собой реплицированную БД, содержащую привязки «имя NetBlOS/IP-адрес» д.гя компьютеров сети. Для входа в сеть клиент WINS должен за регистр и ропать имя и IP-адрес своего компьютера на сервере WINS. При этом в БД WINS создаются записи для всех служб NetBIOS, выполняющихся на клиентской системе. Так как эти записи обновляются каждый раз, когда клиент входит в сеть, информация, хранимся в БД WINS, остается точной. Служба WINS разрешает и поддерживает имена NetBIOS по аналогии с реализацией В-узлов. Метод обновления имени для каждого типа узлов NetBIOS, использующего сервер имен NetBIOS, уникален.
Регистрация имен В отличие от реализации NetBT на основе В-узлов, когда регистрация имен осуществляется посредством широковещания, клиенты WINS регистрируют свои имена NetBIOS на серверах службы WINS. При инициализации клиент WINS регистрирует свое NetBIOS-имя, напрямую отсылая запрос на регистрацию сконфигурированному для этого клиента серверу WINS. Имена NetBIOS регистрируются при запуске приложений и служб, например Workstation, Server и Messenger. Если WINS-сервер доступен и требуемое имя не зарегистрировано другим клиентом WINS, клиенту возвращается сообщение об успешной регистрации имени. Сообщение включает сведения о периоде, на который NetBIOS-имя ныдсляется клиенту. Этот период указывается как время жизни (TTL).
Обновление имен Чтобы продолжать использовать выделенное ему имя NetBIOS, клиенту необходимо периодически обновлять срок аренды имени, до того как тот истечет. В случае если клиент не продлит аренду имени, сервер WINS делает это имя доступным для других клиентов WINS. Продление аренды имени Для использования старого NetBIOS-имени клиент должен продлять срок аренды до истечения последнего. Если клиент не обновил период аренды, сервер WINS делает Net-BIOS-имя доступным для получения другими клиентами. Запрос на продление аренды имени Клиенты WINS должны продлевать регистрацию имен до того, как истечет интервал времени, отведенный для продления аренды имени. Этот интервал определяет срок, в течение которого сервер хранит регистрацию в качестве активной записи БД WINS. При обновлении регистрации клиент WINS посылает серверу WINS запрос на обновление имени. Он включает IP-адрес и имя NetBIOS, которые необходимо обновить. Сервер WINS отсылает в ответ подтверждение, содержащее новый интервал, в течение которого требуется продлить регистрацию имени.
Освобождение имени Если NetBIOS-имя больше не требуется, клиент WINS сообщает серверу WINS об освобождении имени. При корректном выключении клиент WINS отсылает серверу запрос, включающий IP-адрес клиента и его NetBIOS-имя, на освобождение каждого зарегистрированного имени. Это позволяет серверу сделать данные имена доступными для других клиентов. При получении запроса на освобождение имени сервер WINS проверяет наличие указанного имени в своей БД. Если и БД будет обнаружена ошибка или к зарегистрированному имени окажется привязанным другой IP-адрес, сервер WINS откажет клиенту в освобождении имени. В противном случае сервер подтвердит освобождение имени и отметит в БД это имя как освобожденное. Ответ об освобождении имени включает NetBIOS-имя и значение TTL. равное 0.
Внедрение WINS Прежде чем внедрить службу WINS в своей сети, определите требуемое число WlNS-серверов. В сети необходим лишь один сервер WINS, поскольку запросы на разрешение имен представляют собой направленные дейтаграммы и могут маршрутизироваться. Два сервера WINS позволят создать отказоустойчивую систему. Если один сервер окажется недоступным, для разрешения имен клиенты смогут воспользоваться вторым сервером. Кроме того, учтите следующие особенности. Встроенного ограничения на число WINS-запросов, обрабатываемых сервером WINS, не существует. В большинстве случаев сервер способен обрабатывать 1500 запросов на регистрацию имен и 4500 запросов на определение имени в минуту. На каждые клиентов WINS рекомендуется иметь один основной и один резервный сервер WINS. Производительность многопроцессорных систем приблизительно на 25% выше, по-скольку для каждого из процессоров запускается отдельный поток WINS. Если регистрация изменений в БД отключена (с помощью оснастки WINS), регистрация имен осуществляется намного быстрее. Тем не менее в случае отказа системы есть риск потерять несколько последних обновлений БД.
Основы репликации При любых изменениях БД, включая освобождение имени, происходит репликация БД. Репликация позволяет серверу WINS разрешать NetBIOS-имена узлов, зарегистрированные на других WlNS-серверах. Для тиражирования записей БД каждому серверу WINS необходимо выбрать опрашивающего или извещающего партнера, И вешающий партнер передает опрашивающим партнерам сообщения, уведомляющие их об изменениях в БД извещающего сервера. После того как опрашивающий партнер ответит на уведомление запросом о репликации, извещающий сервер WINS передает своим партнерам копию новых записей БД (реплик). Опрашивающий партнер это WINS-сервер. который 'запрашивает репликацию обновленных записей базы данных WINS с других WINS-серверов (которые настроены как его извещающие партнеры) через указанный промежуток времени. Это делается запросом записей с большим номером версии, чем последняя запись, полученная от настроенного партнера.
Настройка репликации БД Для тиражирования БД необходимо настроить минимум одного извещающего и ошого опрашивающего партнера. Существует 4 способа тиражирования БД WINS. 1. При запуске системы. Если партнер репликации определен, служба WINS по умолчанию при запуске автоматически запрашивает новые записи БД. Сервер WINS можно также сконфигурировать для передачи новых записей при запуске системы. 2. В установленное время, например каждые 5 часов. 3. По достижении установленного числа регистрации и изменений в БД WINS сервер WINS уведомляет всех опрашивающих партнеров, которые затем запрашивают новые записи БД. 4. Принудительно, с помощью административной консоли WINS.
Резервное копирование БД WINS Консоль WINS включает средства резервного копирования, позволяющие архивировать и восстанавливать БД WINS. При резервное копировании БД сервера служба WINS создает в каталоге резервного копирования по умолчанию папку \Wms_ bak\New. Здесь хранятся резервные копии БД WINS (WINS.MDB). По умолчанию каталог резервного копирования это корнемой каталог загрузочного раздела вашего компьютера, например С:. После того, как вы зададите папку для архива БД, служба WINS каждые 3 часа булет помещать в нее резервную копию БД WINS. Кроме того. WINS можно настроить для автоматического резервного копирования БД при остановке службы или завершении работы сервера. Создание резервной копни БД WINS 1. Раскройте меню Start\Programs\Admmistrative Tools и щелкните ярлык WINS. 2. В дереве консоли выберите сервер WINS. 3. В меню Action выберите команду Backup Database (Резервное копирование). 4. Появится запрос на подтверждение. Шедкните кнопку Yes. 5. По завершении резервного копирования БД щелкните ОК.