Протокол динамической конфигурации хостов (наряду с DNS и другими) является одной из старейших и важнейших средств организации локальной и глобальных сетей. В силу развитости и зрелости его стандартной реализации для Unix / Linux? систем (ISC DHCP), предполагается использовать именно её, вынеся средства конфигурации в специализированный модуль RPC-сервера, а саму конфигурацию – в реляционную базу данных.
Существующие back-ends для централизованного хранения и управления настройками DHCP (например на базе LDAP) неудобны, в силу слабой стандартизированности такой технологии и отсутствия поддержки со стороны коммьюнити (см. dhcp-3.0.5-ldap-patch).
Альтернативным вариантом является создание форка dhcpd и встраивание в него средств коммуникации по RPC, очевидно, что данный вариант интеграции слишком трудозатратен и чреват большим количеством возможных ошибок, т.к. новая реализация сетевых сервисов сильно выходит за рамки проекта.
В связи с этим предложена следующая модель (также см. приложение):
Структуры данных как в реляционном хранилище, так и на уровне интерфейса модуля диктуются предметной областью сервера DHCP.
Их конкретные поля, методы и связи могут меняться, но ряд понятий останется неизменным:
Следует отметить, что высокоуровневый интерфейс предоставляется не только клиентскому приложению (например «консоли администратора»), но и другим подсистемам сервера интеграций. Такая функциональность востребованна для реализации сложных сценариев, в числе которых может быть создание новой машины в домене с одновременной регистрацией её в службах имён и выделения адресов: это требует создания корректных записей как в подсистеме хранения пользователей, так и в DNS с DHCP.
Также в состав подсистемы войдут скрипты (perl/python) для импорта и экспорта существующих конфигураций dhcp-сервера в реляционную базу и обратно.