Динамическая регистрация имен


Стандартный механизм сопровождения зоны предполагает создание администратором вручную статических ресурсных записей. Любое произведенное изменение доменного имени хоста или его IP-адреса администратор должен синхронизировать с базой данных службы DNS, вручную изменяя соответствующие записи. Подобная схема изменения содержимого зоны делает практически невозможным использование в корпоративной сети службы динамического выделения адресов (DHCP).
В спецификации службы DNS определена возможность использования механизма динамической регистрации хостами своих доменных имен. В процессе динамической регистрации клиенты могут создавать и изменять ресурсные записи типа А и PTR. Контроллеры домена могут также динамически регистрировать ресурсные записи типа SRV.
Механизм динамической регистрации доменных имен предполагает тесную интеграцию служб DNS и DHCP. Динамическая регистрация доменных имен может быть осуществлена либо DHCP-клиентом, либо службой сервера DHCP. Такое решение легко объяснимо, учитывая, что в большинстве случаев изменение IP-адреса клиента связано со службой DHCP.
Если клиент находится под управлением операционных систем Windows 2000/XP или Windows Server 2003, он может самостоятельно зарегистрировать свое имя в базе данных DNS-сервера. В этом случае регистрация осуществляется службой клиента DHCP компьютера. Остальные версии Windows (Windows 9.X/NT/ME) не способны динамически зарегистрировать свое доменное имя. В этой ситуации задача регистрации имени может быть возложена на службу сервера DHCP. Служба сервера DHCP, реализованная в Windows Server 2003, может зарегистрировать доменное имя одновременно с выделением в аренду IP-адреса. В этом случае, регистрация доменного имени происходит без участия клиента и незаметно для них.
Клиент предпринимает попытку зарегистрировать доменное имя в базе данных DNS-сервера в следующих ситуациях:

  •  происходит изменение IP-адреса. Операция динамической регистрации инициируется при любом изменении списка адресов хоста (добавление нового адреса, удаление или модификация существующего);
  •  выполнение утилиты командной строки Ipconfig с ключом /renew. В этом случае инициируется процесс выделения хосту в аренду нового IP-адреса (или набора адресов, если компьютер имеет несколько сетевых адаптеров);
  •  в процессе загрузки системы. Каждый раз при включении компьютера и загрузки системы происходит регистрация доменного имени в базе данных соответствующей зоны;
  •  выполнение утилиты командной строки Ipconfig с ключом /registerdns. В результате происходит принудительное обновление доменного имени клиента в базе данных DNS-сервера.

Механизм динамической регистрации подразумевает не только регистрацию доменных имен, но и их освобождение. При завершении работы системы ассоциированные с ней ресурсные записи автоматически удаляются из зоны. Если работа системы была завершена некорректно, например, в результате сбоя или зависания компьютера, ресурсные записи могут оставаться в базе данных. Подобные записи называются фантомами. Наличие фантомов в базе данных зоны нежелательно, поскольку клиенты получают в ответ на свои запросы неактуальную информацию.
Параллельно с механизмом динамической регистрацией имен DNS-сервер активизирует механизм очистки (scavenging) базы данных от устаревших ресурсных записей. Рассмотрим, каким образом процесс очистки позволяет удалить фантомы из базы данных записей.
С каждой ресурсной записью ассоциируется временная метка (timestamp), определяющая время ее создания. Ресурсная запись считается актуальной в течение определенного периода времени, называемого периодом стабильности (no-refresh interval). Обновление сведений о ресурсной записи в течение этого периода приводит к обновлению значения временной метки. Временная метка обновляется каждый раз, когда клиент обновляет ресурсную запись. Система ожидает обновления ресурсной записи в течение периода, который называется периодом обновления (refresh interval). Если для ресурсной записи истек период обновления, а она не была обновлена, запись помечается как устаревшая (aging). Все устаревшие ресурсные записи удаляются в процессе очистки базы. Этот процесс автоматически инициируется системой через определенные промежутки времени.