Сервис WINS
Windows Internet Name Service (WINS) — это реализация Microsoft NetBIOS Name Service (NBNS), службы имен NetBIOS компьютера. В первом приближении, WINS напоминает DNS: оба сервиса выполняют преобразование символьных имен в сетевые адреса. Как и DNS, WINS — централизованный сервис: WINS-сервер, который управляет кодированной базой данных, выполняет межсерверную репликацию, обслуживает запросы и разрешает конфликты имен, и TCP/IP-клиент, который выполняет запросы на регистрацию клиента и обновление имен.
Роль WINS в сети
Служба WINS была разработана специально для использования с протоколами TCP/IP (поддержка NetBIOS поверх TCP/IP, NetBT). WINS требуется в любых сетях на основе Windows, где требуется доступ к узлам, имеющим имена NetBIOS. Без WINS в такой сети доступ к ресурсам общего доступа (папкам, файлам и принтерам) будет невозможен (если не используется файл lmhosts).
На рис. 1 показана схема типового использования WINS компьютерами, использующими имена NetBIOS.
Рис. 1. Общий принцип работы службы WINS
Компоненты WINS
Компонент | Описание |
---|---|
WINS-сервер | Компьютер, который обеспечивает регистрацию и разрешение имен службы WINS и выполняет репликацию базы данных WINS на другие серверы |
WINS-клиент | Любой узел сети с поддержкой WINS, который взаимодействует с сервером WINS, чтобы зарегистрировать, обновить, или освободить имя NetBIOS или получить сетевой адрес другого узла сети по его NetBIOS-имени. |
WINS-прокси | WINS-клиент, который сконфигурирован для взаимодействия с WINS-сервером от имени других, не WINS-совместимых компьютеров. Это позволяет таким компьютерам ограниченно участвовать сети под управлением WINS. |
База данных WINS | Динамически обновляемый список имен NetBIOS и соответствующих им IP-адресов, включая динамические IP-адреса. При наличии несколько серверов WINS, они обмениваются обновленными данными через репликацию. |
Серверы WINS
Сервер WINS обрабатывает запросы на регистрацию имен от клиентов WINS. Уникальное имя узла и его ip-адрес будут зарегистрированы в БД WINS, если представленное имя не находится в активном использовании. Сервер также отвечает на клиентские запросы по распознаванию имен NetBIOS, возвращая IP-адрес, соответствующий запрашиваемому имени (если оно указано в базе данных WINS). Сервер WINS может обслуживать как локальных клиентов (из своей подсети), так и удаленных (через маршрутизатор).
В сети может быть несколько WINS-серверов, хранящих реплики базы данных WINS. Клиенты обращаются к первичному серверу WINS, который указан в настройках. Если первичный сервер не способен обработать запрос, клиент повторяет его, обращаясь к вторичным серверам WINS. WINS-сервер, который регистрирует клиента в свою базу данных, становится владельцем записи WINS. Обновление базы распространяется на прочие сервера путем репликации.
Клиенты WINS
WINS-клиенты — это сетевые компьютеры, которые настроены на использование службы WINS и способные взаимодействовать непосредственно с WINS-сервером. При подключении к сети WINS-клиент пытается зарегистрировать свое NetBIOS-имя (см. как изменить имя компьютера) и сетевой адрес на сервере. IP-адреса могут быть как статическими, так и динамическими, полученными по DHCP. Отметим, что, как и в случае с DNS, WINS-клиент может иметь несколько NetBIOS-имен, все они должны быть зарегистрированы в БД WINS. После этого он может выполнять запросы к серверу WINS для разрешения NetBIOS-имен узлов по мере необходимости.
WINS-клиенты взаимодействуют с серверами WINS, чтобы:
- Зарегистрировать свои имена в базе данных WINS.
- Обновить имена клиентов в базе данных WINS.
- Освободить имена клиентов из базы данных WINS.
- Получить IP-адреса узлов по их именам, зарегистрированным в базе данных WINS.
Наибольшее число клиентских запросов связано с разрешением имен. Имена клиентов связаны со статическими или динамическими IP-адресами. Клиенты, использующие статические IP-адреса, настраиваются вручную с набором определенных серверов WINS. Клиенты, которые используют динамические IP-адреса, могут получать имена WINS-серверов от сервера DHCP. Первый сервер в списке WINS-серверов является первичным, последующие — вторичными. У разных клиентов могут быть указаны различные адреса первичных WINS-серверов. Это позволяет снизить нагрузку на сервер при интенсивном трафике в сложной сети.
WINS в гетерогенной сети
Частичную поддержку WINS для Linux и UNIX клиентов можно получить при установленном сервисе Samba, реализующем функции протоколов NetBIOS и SMB.
Клиенты, не поддерживающие WINS (например, старые версии Windos), могут участвовать в процессах регистрации и разрешения имен в ограниченной форме, через WINS-прокси.
WINS-прокси
WINS-прокси — это специальным образом настроенный клиент WINS, который может выполнять ограниченное количество услуг NetBIOS, таких как регистрация, освобождение и разрешение имен не-WINS клиентов, подключенных к TCP/IP-сети.
Как правило, устаревшие NetBIOS-клиенты не могут подключаться напрямую к WINS-серверу. Эти узлы используют широковещательные запросы для разрешения имен NetBIOS, а WINS-серверы не отвечают на широковещательные сообщения. WINS-прокси обрабатывает такие сообщения в локальной сети и отвечает на них, взаимодействуя с внешним WINS-сервером, используя одноадресные датаграммы.
База данных WINS
База данных WINS — это динамически обновляемый список NetBIOS-имен и IP-адресов, котрый находится на сервере WINS. Содержимое базы данных WINS изменяются с течением времени, по мере того, как компьютеры подключаются или отключаются от сети.
Размер базы данных WINS зависит от количества клиентов WINS в сети и количества используемых NetBIOS-имен. Все копии базы на всех серверах WINS в сети примерно равны по размеру. Все базы данных имеют одинаковое количество записей NetBIOS имя, за исключением добавленных до момента репликации. Использование нескольких серверов WINS в среде NetBIOS обеспечивает избыточность и балансировку нагрузки при интенсивном трафике.
Файл lmhosts
Файл lmhosts используется в качестве локальной базы данных WINS и находится в папке %SystemRoot%\System32\Drivers\Etc. Это обычный текстовый файл, который может быть отредактирован пользователем с правами администратора. Структура файла очень проста (см. листинг 1 или файл lmhosts.sam в той же папке), но есть ряд правил, которые нужно соблюдать:
- Каждый элемент должен располагаться в отдельной строке.
- IP-адрес должен начинаться с первой позиции строки.
- После IP-адреса через пробел или символ табуляции следует NetBIOS-имя компьютера.
- Знак "#" — начало комментария, кроме специальных директив (#PRE, #DOM, #INCLUDE и др.).
- Записи, помеченные #PRE, кэшируются при запуске операционной системы (остальные записи считываются по мере обращения).
Листинг 1. Пример файла lmhosts
#Это пример файла lmhosts 192.168.1.1 fserver #PRE 192.168.1.2 comp1 192.168.1.3 comp2 192.168.1.4 comp3 192.168.1.254 cmail #PRE
Использование lmhosts весьма полезно в рабочих группах, при отсутствии сервера WINS. Администратор сети может сделать необходимые записи в этом файле и распространить копии на все узлы. Кэширование NetBIOS-имен позволяет сильно ускорить взаимодействие между компьютерами рабочей группы. Но стоит помнить, что все изменения в этом файле выполняются вручную.
Преимущества WINS
Сервис WINS обеспечивает ряд преимуществ по сравнению с другими методами разрешения имен NetBIOS:
- Уменьшение широковещательного трафика, т.к. WINS-клиенты могут запрашивать сетевые адреса непосредственно у сервера WINS, вместо рассылки широковещательных запросов.
- Служба WINS представляет возможность службе обзора компьютеров (Computer Browser) получать и распространять списки просмотра через маршрутизаторы IP-сетей.
- WINS поддерживает динамическую регистрацию и разрешение имен NetBIOS в сетевой среде, где используется динамическое назначение ip-адресов через DHCP.
- База данных WINS поддерживает центарлизованное управление и возможность репликации на другие сервера.
- WINS и DNS можно использовать в общей среде, чтобы обеспечить поиск узлов в обоих пространствах имен.
CC-BY-CA Анатольев А.Г., 05.09.2013