Консорциум ISC, занимающийся развитием таких широко используемых в сети продуктов, как DNS-сервер BIND, DHCP-сервер ISC DHCP, сервер синхронизации точного времени ISC NTP и NNTP-сервер INN, объявил о планах по интеграции в будущую версию проекта BIND 10 поддержки протокола DHCP. По мнению разработчиков, функции DNS и DHCP тесно связаны между собой, а модульная архитектура BIND 10 как нельзя лучше подходит для объединения поддержки этих двух протоколов под эгидой одного проекта.
Проект BIND 10 развивается уже на протяжении двух лет и по заявлению ISC в настоящее время уже полностью работоспособен, хотя еще не готов к промышленной эксплуатации. Проект развивается с нуля и отличается модульной архитектурой, поддержкой различных моделей хранения данных, повышенной масштабируемостью и поддержкой кластеризации. Обзор архитектуры и возможностей BIND 10 можно увидеть в тексте анонса первой тестовой версии.
В процессе развития DHCP-сервера, разработчикам пришлось столкнуться примерно с теми же проблемами, которые заставили полностью переписать BIND. В ответ на назревшую необходимость переписать ISC DHCP, с учетом гибкой модульной архитектуры BIND 10, наиболее очевидным решением стала интеграция поддержки DHCP в новую ветку BIND, в которой уже подготовлена вся необходимая инфраструктура - остается лишь создать модули с поддержкой возможностей, специфичных для протокола DHCP.
В контексте реализации нового DHCP-сервера, BIND 10 позволяет выбирать какие модули следует загрузить для выполнения; поддерживает автоматический перезапуск компонентов в случае сбоя, без влияния на другие части системы; имеет средства для изменения конфигурации и управления работой сервера на лету, без остановки и перезапуска. Отдельно отмечается, что во многих ситуациях требуется обеспечение тесного взаимодействия DHCP и DNS-серверов, например, в рамках одного сервера значительно проще реализовать синхронизацию имен хостов и выделяемых через DHCP IP-адресов.
Основные мотивы создания новой реализации DHCP-сервера:
- Мир вычислительной техники существенно изменился с момента проектирования ISC DHCP, скоро даже на мобильных телефонах будут использоваться многоядерные процессоры, гигабайты памяти и полнофункциональные операционные системы;
- Сетевые технологии меняются. ISC DHCP был создан как первая реализация нового протокола DHCP, идущего на смену BOOTP. Теперь протокол DHCP обрел зрелость, его используют в сетях для управления миллионами компьютеров. Грядёт эра IPv6, при которой изменится подход к управлению и нумерации сетей;
- Возникла потребность в программном обеспечении, которое может быть адаптировано под собственные нужны и расширено как администраторами, так и разработчиками.
Ожидается, что первый тестовый выпуск BIND 10 с поддержкой DHCP будет иметь характер начального прототипа с реализацией базовых функций работы с DHCP-пакетами, но ещё непригодный для выполнения реальных задач. В частности, в рамках начального прототипа планируется сделать:
- Разработать библиотеку для работы с DHCP-пакетами, выполненную примерно в том же виде, как существующая сейчас библиотека для работы с сообщениями DNS. Библиотека будет поддерживать такие низкоуровневые функции, как сборка и парсинг пакетов;
- Подготовить описание логики работы протоколов DHCPv4 и DHCPv6 в виде "машины состояний" (state machine);
- Определить необходимые точки включения (хуки), описывающие как следует интегрировать новые обработчики и какие параметры использовать. Хуки будут определены для потоков данных между процессами, серверной логики и системы хранение данных;
- Создать утилиты для тестирования производительности DHCP;
- Оформить описание необходимых конфигурационных параметров.