Microsoft DNS
![]() | этой статьи Фактическая точность может быть нарушена из-за устаревшей информации . ( сентябрь 2012 г. ) |
Microsoft DNS — это имя, присвоенное реализации системных служб доменных имен , предоставляемых в Microsoft Windows операционных системах .
Обзор
[ редактировать ]Поддержка системы доменных имен в Microsoft Windows NT и, следовательно, в ее производных Windows 2000 , Windows XP и Windows Server 2003 включает в себя два клиента и сервер. На каждом компьютере с Microsoft Windows имеется клиент поиска DNS для выполнения обычного поиска DNS. На некоторых машинах имеется клиент динамического DNS компьютеров для выполнения транзакций динамического обновления DNS, регистрации имен и IP-адресов . На некоторых машинах используется DNS-сервер для публикации данных DNS, для обслуживания запросов поиска DNS от клиентов поиска DNS и для обслуживания запросов обновления DNS от клиентов обновления DNS.
Серверное программное обеспечение поставляется только с серверными версиями Windows.
DNS-клиент поиска
[ редактировать ]Приложения выполняют поиск DNS с помощью DLL . Они вызывают библиотечные функции в DLL, которые, в свою очередь, обрабатывают все соединения с DNS-серверами (через UDP или TCP ) и возвращают окончательные результаты поиска обратно приложениям.
DNS-клиент Microsoft также имеет дополнительную поддержку локального кэширования в форме службы DNS-клиента (также известной как DNSCACHE ). Прежде чем попытаться напрямую связаться с DNS-серверами, библиотечные процедуры сначала пытаются установить локальное IPC- соединение со службой DNS-клиента на компьютере. Если он есть и если такое соединение может быть установлено, они передают фактическую работу по поиску службе DNS-клиента. Служба DNS-клиента сама взаимодействует с DNS-серверами и кэширует полученные результаты.
DNS-клиент Microsoft способен взаимодействовать с несколькими DNS-серверами. Точный алгоритм зависит от версии и уровня пакета обновления операционной системы; но обычно вся связь осуществляется с предпочтительным DNS-сервером до тех пор, пока он не перестанет отвечать, после чего связь переключается на один из нескольких альтернативных DNS-серверов.
Эффекты от запуска службы DNS-клиента
[ редактировать ]Существует несколько незначительных различий в поведении системы в зависимости от того, запущена ли служба DNS-клиента:
- Анализ файла «hosts» . Функции поиска читают только файл hosts, если они не могут переложить свою задачу на службу DNS-клиента и вынуждены вернуться к обмену данными с DNS-серверами самостоятельно. В свою очередь, служба DNS-клиента считывает файл «hosts» один раз при запуске и перечитывает его только в том случае, если замечает, что временная метка последнего изменения файла изменилась с момента его последнего чтения. Таким образом:
- При работающей службе DNS-клиента: файл «hosts» читается и анализируется только несколько раз: один раз при запуске службы, а затем всякий раз, когда служба DNS-клиента замечает, что он был изменен.
- Кроме того, запуск службы DNS-клиента в сочетании с «большим» файлом HOSTS может привести к тому, что он будет на 100% загружать процессор/ядро, на котором он работает, до тех пор, пока он не будет остановлен. [1]
- Без запущенной службы DNS-клиента: файл «hosts» неоднократно читается и анализируется каждой отдельной прикладной программой при выполнении поиска DNS.
- При работающей службе DNS-клиента: файл «hosts» читается и анализируется только несколько раз: один раз при запуске службы, а затем всякий раз, когда служба DNS-клиента замечает, что он был изменен.
- Эффект нескольких ответов в файле «hosts» : служба DNS-клиента не использует файл «hosts» напрямую при выполнении поиска. Вместо этого он (изначально) заполняет из него свой кэш, а затем выполняет поиск, используя данные из своего кэша. Однако когда функции поиска возвращаются к выполнению работы самостоятельно, они сканируют файл «hosts» напрямую и последовательно, останавливаясь, когда найден первый ответ. Таким образом:
- При работающей службе DNS-клиента: если файл «hosts» содержит несколько строк, обозначающих несколько ответов для данного поиска, будут возвращены все ответы в кеше.
- Без запущенной службы DNS-клиента: если файл «hosts» содержит несколько строк, обозначающих несколько ответов для данного поиска, будет возвращен только первый найденный ответ.
- Переход от предпочтительного к альтернативным DNS-серверам . Переход от предпочтительного DNS-сервера к альтернативным DNS-серверам выполняется любым объектом, службой DNS-клиента или самими библиотечными функциями, которые фактически осуществляют связь с ними. Таким образом:
- При работающей службе DNS-клиента: возврат к альтернативным DNS-серверам происходит глобально. Если предпочтительный DNS-сервер не отвечает, вся последующая связь осуществляется с альтернативными DNS-серверами.
- Без запущенной службы DNS-клиента: любой возврат к альтернативным DNS-серверам происходит локально, внутри каждого отдельного процесса, выполняющего DNS-запросы. Различные процессы могут находиться в разных состояниях: некоторые обращаются к предпочитаемому DNS-серверу, а некоторые — к альтернативным DNS-серверам.
Отличия от других систем
[ редактировать ]Дистрибутивы Linux и различные версии Unix имеют уровень обобщенного преобразователя имен. Резолвером можно управлять для использования файла хостов или сетевой информационной службы (NIS), настроив переключатель службы имен .
Клиент динамического обновления DNS
[ редактировать ]Пока поиск DNS считывает данные DNS, обновления DNS записывают их. И рабочие станции, и серверы под управлением Windows пытаются отправлять запросы на обновление динамического DNS на DNS-серверы.
Рабочие станции под управлением Windows пытаются зарегистрировать свои имена и IP-адреса на DNS-серверах, чтобы другие машины могли найти их по имени. До Windows Vista (и Windows Server 2008) эта регистрация выполнялась службой DHCP-клиента . Таким образом, необходимо запустить службу DHCP-клиента на компьютерах до Vista, даже если DHCP не используется для настройки компьютера, чтобы динамически регистрировать имя и адрес компьютера для поиска DNS. Служба DHCP-клиента регистрирует данные имени и адреса при каждом их изменении (либо вручную администратором, либо автоматически при предоставлении или отзыве аренды DHCP). В Windows Vista (и Windows Server 2008) Microsoft перенесла функцию регистрации из службы DHCP-клиента в службу DNS-клиента .
Серверы под управлением Microsoft Windows также пытаются зарегистрировать другую информацию, помимо своих имен и IP-адресов, например расположение LDAP и Kerberos предоставляемых ими служб .
DNS-сервер
[ редактировать ]Операционные системы Microsoft Windows Server могут запускать службу DNS-сервера . Это монолитный DNS-сервер, который предоставляет множество типов служб DNS, включая кэширование, динамическое обновление DNS, передачу зоны и уведомление DNS. Уведомление DNS реализует механизм принудительной отправки для уведомления выбранного набора вторичных серверов зоны при ее обновлении.
Служба DNS-сервера Microsoft была впервые представлена в Windows NT 3.51 как надстройка к коллекции служб BackOffice Microsoft , но в то время была помечена для использования только в целях тестирования. Он стал известен своей несовместимостью с файлами конфигурации BIND , в частности, отсутствием поддержки подстановочных знаков DNS и различиями в реализации IPv6 . С момента появления Microsoft позаботилась об улучшении совместимости с BIND и другими реализациями с точки зрения формата файла зоны, передачи зоны и других деталей протокола DNS.
По состоянию на 2004 год это был четвертый по популярности DNS-сервер (считая BIND версии 9 отдельно от версий 8 и 4) для публикации данных DNS. [2]
Как и другие DNS-серверы, DNS-сервер Microsoft поддерживает различные серверные части баз данных . DNS-сервер Microsoft поддерживает два таких сервера. Данные DNS могут храниться либо в главных файлах (также известных как файлы зон ), либо в самой базе данных Active Directory . В последнем случае, поскольку Active Directory (а не DNS-сервер) занимается фактической репликацией базы данных на нескольких компьютерах, базу данных можно изменить на любом сервере («репликация с несколькими хозяевами»), а также добавить или удалить Зона будет немедленно распространена на все остальные DNS-серверы в соответствующей «области репликации» Active Directory. (Сравните это с BIND, где при внесении таких изменений список зон в /etc/named.conf должен быть явно обновлен на каждом отдельном сервере.)
DNS-сервером Microsoft можно управлять с помощью графического интерфейса пользователя , «Консоли управления DNS», или интерфейса командной строки , утилиты dnscmd . Новинкой Windows Server 2012 является полнофункциональный поставщик PowerShell для управления DNS-сервером. [3]
Общие проблемы
[ редактировать ]До Windows Server 2003 и Microsoft Windows 2000 Service Pack 3 наиболее распространенной проблемой DNS-сервера Microsoft было загрязнение кэша . Хотя DNS-сервер Microsoft имел механизм для правильной борьбы с загрязнением кэша, по умолчанию этот механизм был отключен. [4]
В 2004 году распространенная проблема заключалась в возможности DNS-сервера Microsoft версии Windows Server 2003 использовать EDNS0 большое количество межсетевых экранов . , с чем не могло справиться [5]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Результаты Google: высокая загрузка ЦП DNS-клиентом с большим файлом HOSTS» . Google .
- ^ Мур, Дон (2004). «Опрос DNS-сервера» . Проверено 6 января 2005 г.
- ^ «Командлеты сервера системы доменных имен (DNS)» . ТехНет . Майкрософт . 17 января 2013 г. Архивировано из оригинала 17 мая 2013 г.
- ^ «Как предотвратить загрязнение кэша DNS» . Поддерживать . Майкрософт . 15 марта 2008 года . Проверено 10 июля 2017 г.
- ^ «Внешний DNS-запрос может вызвать сообщение об ошибке в Windows Server 2003» . Поддерживать . Майкрософт . 20 апреля 2006 года. Архивировано из оригинала 27 сентября 2006 года . Проверено 10 июля 2017 г.
Внешние ссылки
[ редактировать ]- де Бойн Поллард, Джонатан (2004). «Ваш брандмауэр не позволяет вам использовать EDNS0» . Часто встречающиеся ответы . — проблемы с EDNS0 и фаерволами и способы их устранения
- Поведение клиента системы доменных имен в Windows Vista
- Что нового в DNS в Windows Server 2008
- Что нового в DNS в Windows Server 2008 R2