оступным. Процесс можно описать следующим образом:
1. Клиент вводит сеть IP в состоянии инициализации и передает по широковещательное сообщение по всем доступным сетям с запросом на получение IP адреса и описанием требований к соединению (DHCPDISCOVER).
2. Агент ретрансляции BOOTP обнаруживает это сообщение и передает его всем доступным серверам DHCP для обработки.
3. Каждый сервер DHCP отвечает на запрос клиента с сообщением предложения (DHCPOFFER), которое состоит из доступного адреса IP и информации конфигурации на основе предопределенных администратором требований к соединению для этого узла.
4. Клиент получает все ответы от серверов и определяет наилучшее предложение используя встроенный алгоритм.
5. Затем клиент отправляет выбранному серверу запрос на получение адреса и информации конфигурации (DHCPREQUEST).
6. В заключение, выбранный сервер DHCP посылает в сеть сообщение о подтверждении получения обслуживания (DHCPACK). После этого все другие сервера, которые не были выбраны, освобождают адреса IP, которые они предложили клиенту и возвращаются в режим опроса сети, ожидая следующий пакет DHCPDISCOVER.
7. После того, как сервер DHCP получает подтверждение от клиента DHCP, сервер автоматически модифицирует сервер имен DNS в соответствии с этим адресом IP.
8. Так как адрес IP, назначенный клиенту выдан только временно (арендуется) он должен быть периодически возобновляться, клиент стартует таймер и устанавливает его на половину продолжительности арендного договора.
9. Когда время таймера истекает, клиент посылает DHCPREQUEST пакет серверу, запрашивая обновление "арендного договора".
10. Если клиент не получает никакого ответа от сервера, то он ждет до истечения трех четвертей продолжительности "арендного договора" и затем передает DHCPREQUEST пакет ко всей сети, чтобы запросить обслуживание у нового сервера. Этот процесс гарантирует, что сервис DHCP продолжается без прерывания.
Продолжительность времени "арендного договора" устанавливается администратором, когда он конфигурирует сервер DHCP. Вся клиентура DHCP внутри сети или подсети имеет одно и то же время "арендного договора"; однако, пользователи, в случае необходимости, могут отменять заданный по умолчанию промежуток "арендного договора".
DHCP - протокол прикладного уровня основанный на BOOTP, который выполняется при помощи протокола UDP. Если размер сети требует обслуживания DHCP во многих связанных сетях межсетевой маршрутизатор должен поддерживать возможность передачи сообщений агента ретрансляции BOOTP. Как указано выше, этот агент ретран-ляции ответственен за передачу сообщения BOOTP между двумя IP сетями. Прохождение такого сообщения требуется в случае, если DHCP клиент и сервер находятся в разных сетях.
Сервис DHCP в крупных, связанных между собой, сетях (с общим числом узлов более 5000) может вызывать массивные штормы широковещательных сообщений. В этом случае рекомендуется установить большее количество DHCP серверов в разных сетях.
Реализация клиента и сервера DHCP в AIX состоит из следующих модулей:
Демон клиента dhcpcd
Демон сервера dhcpsd
Демон агента ретрансляции dhcprd
Текущая реализация DHCP для RS/6000 поддерживает такие LAN-основанные протоколы, как Ethernet, Token-Ring и FDDI. Эта реализация как клиента, так и сервера DHCP соответствует всем доступным RFC и также была проверена на совместимость с другими клиентами и серверами DHCP.
Таблица ниже показывает перечень продуктов, способных работать с реализацией DHCP для AIX.
Сервер DHCP | Клиенты DHCP |
AIX V4.2 | MacOS, Windows 3.x, Windows 95,Windows NT 3.5, Chameleon,FTP Software, AIX V4.1.4 |
AIX V4.1.4 | OS/2 Warp Connect |
OS/2 Warp Server, SUN Solaris,FTP Software, Competitive Automation | AIX V4.2, AIX V4.1.4 |
Каждая машина RS/6000 может выполнять одну из трех ролей: роль сервера, роль клиента или роль агента передачи сообщений BOOTP.
Сервер DHCP генерирует и предлагает адреса IP, основанные на наборе предопределенных атрибутов или сред. Пользователи могут создавать эти области определения, редактируя ASCII файл или используя графический интерфейс пользователя (GUI).
Процесс конфигурирования сервера DHCP состоит из определения трех главных областей: глобальные ресурсы для всех сетей, индивидуальные ресурсы для каждой сети и ресурсы для специфических клиентов или наборов клиентов.
Внутри сервера DHCP, представление информации клиента используя ключи. С этими ключами сервер DHCP может назначать IP адреса клиенту.
Первый ключ - позиционирование пользователя в сети. Эта позиция помогает определять из какого диапазона доступных адресов предлагать адрес для клиента. Кроме того, клиент может быть включен в некий набор узлов, обозначенный как класс, имеющий одинаковые особенности. Эта спецификация класса дает возможность серверу предоставлять клиентам дополнительные возможности и учитывать их особенности.
Второй ключ - идентификатор клиента. Идентификатором клиента может быть имя узла TCP/IP или MAC адрес. Сервер может использовать идентификатор клиента, чтобы обеспечить более специфические возможности.
Глобальные ресурсы используются, чтобы обеспечить полную непротиворечивость и давать каждому клиенту базовые функции. Клиент получает глобальные ресурсы только тогда, когда более специфические возможности не могут быть ему даны. Такие возможности включают (как минимум) сетевые функции, затем возможности класса, затем специфические возможности клиента.
Таким образом, иерархия для назначения возможностей ресурса клиента выглядит следующим образом:
специфический клиент;
класс;
сеть;
глобальная переменная.
Имеются два других менее важных ключа для размещения класса и класса производителя. Вместе эти четыре ключа идентифицируют логическую группировку, для которой IP услуги определены и обеспечиваются.
Когда клиент дает информацию класса на сервер, сервер может быстрей возвратить заданные по умолчанию услуги для этого класса. Например, класс учета может представлять пользователей в отделе учета, которые нуждаются в доступе к специфическому высококачественному принтеру.
В нижеследующем DHCP сценарии конфигурации сервера фирма "Х" имеет шесть IP сетей и имеет назначенные Центром Информации Сети Internet (InterNIC) сети диапазон адресов IP один класса C и один класса B.
Общие пользователи фирмы "Х" сгруппированы как или динамические или статические.
Сеть класса C используется для отдела маркетинга и коммерческими агентами, которые приходят в офис иногда (динамически) и используют любую доступную комнату. Для этих динамических пользователей, каждая комната в здании имеет порт интерфейса и станцию стыковки.
Сеть класса B используется и разделяется людьми в пяти статических рабочих группах: бухгалтерия, вычислительный центр, отдел проектирования и разработок, производственный отдел и отдел контроля качества.
Сеть класса B разбита на под сети класса C для пяти рабочих групп. Имеется только четыре сети класса C, потому что рабочие группы бухгалтерии и вычислительного центра совместно используют одну сеть класса C.
Ниже показывается, как сконфигурирована сеть класса C для отдела маркетинга.
Состояние network имеет два параметра: первый параметр - сетевой адрес, и второй параметр определяет диапазон разрешенных адресов, которые могут быть назначены.
Диапазон - от 2 до 240, потому что 1 используется маршрутизатором "Х" и не должен быть назначен, и адреса выше 240 зарезервированы для будущих статических пользователей.
(Если второй параметр не определен, это подразумевает, что можно присвоить все адреса.)
network 192.100.10.0 192.100.10.2-192.100.10. 240
{
option 1 255.255.255.0 * Маска подсети для класса C
option 3 193.100.10.1 * Заданный адрес gateway/маршрутизатора по умолчанию
option 6 129.35.40.5 * Заданный по умолчанию адрес сервера DNS
option 5 2 hours * Время «арендного договора», установлено 2 часа,
* потому что коммерческие агенты обычно
* находятся в офисе в течение только одного часа.
option 15 "marketing.x.com" * Заданное по умолчанию имя домена
}
Ниже показаны сетевые конфигурации сетей класса C для рабочих групп отдела проектирования и разработок, производственного отдела и отдела контроля качества.
network 129.35.0.0 24 * назначенный NIC адрес сети класса B 129.35.0.0
* используется маска подсети с 24 битами
{
option 1 255.255.255.0 * Маска подсети для класса B
subnet 129.35.10.0 * Адрес подсети
{ * Можно присваивать все адреса подсети
client 0 0 129.35.10.1 * Адрес 129.35.10.1
* зарезервирован для маршрутизатора
option 3 129.35.10.1 * Заданный адрес gateway/маршрутизатора по умолчанию
option 6 129.35.40.5 * Заданный по умолчанию адрес сервера DNS
option 15 "producttest.x.com" * Заданное по умолчанию имя домена
}
subnet 129.35.20.0 129.35.20.2-129.35.20.200
{ * Определенный диапазон адресов для подсети
option 3 129.35.20.1 * Заданный адрес gateway/маршрутизатора по умолчанию
option 6 129.35.40.5 * Заданный по умолчанию адрес сервера DNS
option 15 "manufacturing.x.com" * Заданное по умолчанию имя домена
}
subnet 129.35.30.0 129.35.30.2-129.35.30.215
{ * Диапазон всех присваиваемых адресов
option 3 129.35.30.1 * Заданный адрес gateway/маршрутизатора по умолчанию
option 6 129.35.40.5 * Заданный по умолчанию адрес сервера DNS
option 15 "rnd.x.com" * Заданное по умолчанию имя домена
}
}
Ниже показана сетевая конфигурация для рабочих групп бухгалтерии и вычислительного центра, которые совместно используют сеть класса C.
network 129.35.0.0 25 * nic-назначил класс B адресует 129.35.0.0 * маска подсети с 25 битами используется потому что * 256 адресов разделены две подсети. { option 1 255.255.255.128 * Маска подсети для сети класса B subnet 129.35.40.0 129.35.40.64-129.35.40.12 6 * Определенный диапазон адресов для подсети { option 3 129.35.40.1 * Заданный адрес gateway/маршрутизатора по умолчанию option 6 129.35.40.5 * Заданный по умолчанию адрес сервера DNS option 15 "netserver.x.com" * Заданное по умолчанию имя домена } subnet 129.35.40.128 * Адрес подсети { option 3 129.35.40.129 * Заданный адрес gateway/маршрутизатора по умолчанию option 6 129.35.40.5 * Заданный по умолчанию адрес сервера DNS option 15 "accounting.x.com" * Заданное по умолчанию имя домена client 0 0 129.35.40.129 * Клиентский адрес 129.35.40.129 удален client 10x1005ACABADAE 129.35.40.130 * IP адрес 129.35.40.130 зарезервирован * для Ethernet адреса 0x1005ACABADAE } }
Ниже показан список глобальных параметров.
supportunlistedClients yes * Поддержка всей клиентуры без явного
* задания их списка в этом файле
supportBOOTP yes * Фирма «Х» имеет Х-станции и сетевые принтеры,
* использующие протокол BOOTP
leasetimedefault 5 days * Время «арендного договора» для адреса IP
leaseexpireInterval 1 day * Время для сервера DHCP для восстановления
* IP адреса, потерянного из-за того, что
* клиент при отключении не выходил из
* сеанса связи корректно
Конфигурация сервера состоит из инициализации всех параметров DHCP для всех потенциальных клиентов.
Данные конфигурации сохраняются в файле /etc/dhcpsd.cnf.
Сервер может стартовать автоматически используя последовательность, размещенную в /etc/rc.tcpip или, используя SMIT.
# Smit tcpip Further Configuration - > Server Network Services - > Other Available Services - > Dhcpsd Subsystem
Графический интерфейс сервера DHCP помогает спрятать сложность синтаксиса файла конфигурации и упрощает его конфигурацию. Для старта графического интерфейса сервера используется команда dhcpsconf.
Панель графического интерфейса состоит из трех основных рабочих областей:
Option list - список выбираемых
опций, поддерживаемых сервером
Key list - значения, которые описывают клиента,
включая сетевую позицию, класс и
идентификатор
Main window list - резюме опций для каждого ключа
Для клиентов, цель DHCP состоит в том, чтобы обеспечить полную мобильность без необходимости реконфигурации каждый раз когда создано новое соединение. Эта цель достигается определением набора предпочтений клиента, которые определяют то, что клиент требует от сервера и сети. Клиент передает по сети информацию о своих предпочтениях во время соединения. Один или большое количество серверов DHCP исследуют его предпочтения и делают свои предложения. Клиент затем использует алгоритм определения наилучшего соответствия, чтобы определить оптимальный сервер для себя. Когда клиент не имеет никаких предпочтений, DHCP все же обеспечивает базовый уровень обслуживания, основанном на серверной конфигурации по умолчанию.
Клиенты имеющие предпочтения, могут быть разделены на две категории:
Относительно сети TCP/IP - статические маршруты, сервер имен NetBIOS и т.п.
Относительно услуг сервера - управляющая программа локального принтера и спулера (LPR), сервер имен (DNS), сетевой сервер времени (NTP) и т.п.
Конфигурационная информация содержится в двух файлах:
dhcpcd.ini - файл конфигурации DHCP, состоящий из директив, которые могут быть определены для клиента. Содержит список привилегированных опций.
/etc/rc.net - информация для интерфейса запуска.
Клиент устанавливается используя SMIT нижеследующим образом:
smit tcpip- > Use DHCP for TCP/IP Configuration & Startup
Команды SMIT могут также использоваться, чтобы конфигурировать DHCP для TCP/IP и запускать управление демоном клиента следующим образом:
smit tcpip -> Further Configuration - > Server Network Services - > Other Available Services - > Dhcpcd Subsystem
Заявления клиента обеспечивают опции специфические конкретно для него, например, необходимость резервирования адреса IP или удаления адреса из диапазона.
При использовании параметра <строка>, каждая <строка> должна быть уникальна. Строка клиента - устройство-зависимая строка, которая может использоваться, чтобы идентифицировать специфическое устройство соответствующим MAC-адресом.
Строка дает возможность серверу DHCP идентифицировать клиента и обеспечить его корректное обслуживание.
Синтаксис для заявления клиента показывается ниже:
Client < тип аппаратуры> < адрес аппаратуры > < IP адрес >
1=Ethernet адрес <строка> <none>
6=token-ring <any>
1=FDDI
0= <строка> on the next field
Различные комбинации этих параметров имеют различный эффект. Результаты из определения различных комбинаций перечислены ниже:
Тип аппаратуры | Аппаратный адрес | IP адрес | Результат |
0 | 0 | <IP адрес> | <IP адрес> должен быть удален из диапазона |
0 | <строка> | <IP адрес> | Клиенту, который идентифицирован <строкой> должен быть присвоен <IP адрес> |
<type> | <address> | <IP адрес> | Конкретному устройству <type> с адресом <address> должен быть присвоен адрес IP <IP адрес> |
<type> | <address> | none | Не давать IP адрес для конкретной аппаратуры с конкретным адресом |
0 | <строка> | none | Не отвечать для конкретного клиента идентифицированного <строкой> |
<type> | <address> | any | Предоставить любой свободный адрес IP для конкретной аппаратуры с конкретным аппаратным адресом. Используется в комбинации с выставленным параметром supportunlistedclients=no. |
0 | <строка> | any | Предоставить любой свободный адрес IP для клиента идентифицированного <строкой>. Используется в комбинации с выставленным параметромsupportunlistedclients=no. |
При маршрутизации сообщений BOOTP из одной подсети в другую, маршрутизатор обычно выполняет ретрансляцию; однако, AIX поддерживает прогрессивную маршрутизацию BOOTP пересылки.
Агент ретрансляции BOOTP стартует и останавливается подобно серверу DHCP.
Конфигурация завершатся внесением строки в файл /etc/dhcprd.cnffile. Агент ретрансляции пошлЃт пакет всем серверам, определенным в этом файле.
Требования к дисковому пространству для сервера зависят от числа клиентов. Требуемое дисковое использование для поддержки одного клиента - 360 байт.