Таблица 1. Описание полей сообщения DHCP
Поле | Байт | Описание |
op | 1 | Код операции сообщения / тип сообщения. |
1 | = BOOTREQUEST, 2 = BOOTREPLY | |
htype | 1 | Тип аппаратного адреса, смотри раздел ARP в RFC "Assigned Numbers"; например, '1' для 10 мегабитного Ethernet. |
Hlen | 1 | Длина аппаратного адреса (например, '6' для 10 мегабитного Ethernet). |
Шаги | 1 | Клиент устанавливает это поле равным нулю, поле используется опционно агентами транспортировки, когда загрузка осуществляется через посредника. |
Xid | 4 | ID-транзакции, случайное число, выбираемое клиентом, и используемое как клиентом, так и сервером для установления соответствия между запросами и откликами. |
Secs | 2 | Заполняется клиентом, число секунд с момента начала запроса адреса или рестарта процесса. |
Флаги | 2 | Флаги (смотри Рисунок 2). |
Ciaddr | 4 | IP-адрес клиента заполняется только в случае, если клиент находится в состоянии BOUND, RENEW или REBINDING и может реагировать на запросы ARP. |
Yiadd | 4 | IP-адрес следующего сервера, используемого в процессе загрузки; присылается сервером в DHCPOFFER, DHCPACK. |
Giaddr | 4 | IP-адрес агента транспортировки, используется когда загрузка осуществляется через посредника. |
Chaddr | 16 | Аппаратный адрес клиента. |
Sname | 64 | Опционное имя ЭВМ-сервера, строка завершается нулем. |
Файл | 128 | Имя файла загрузки (Boot-файла), строка завершается нулем; имя "generic" или нуль в DHCPDISCOVER, полное описание прохода в DHCPOFFER. |
Опции | var | Поле опционных параметров. |
Поле опции имеет переменную длину. Клиент DHCP должен быть готов получать DHCP-сообщения с полем 'опции' длиной, по крайней мере, 312 октетов. Это требование подразумевает, что DHCP-клиент должен быть готов получать сообщения длиной до 576 октетов. DHCP-клиенты могут согласовать применение более длинных DHCP-сообщений с помощью опции 'maximum DHCP message size'. Поле options может быть еще расширено в полях 'файл' и 'sname'.
В случае, когда клиент использует DHCP для начальной конфигурации (прежде чем программа клиента TCP/IP полностью сконфигурирована), DHCP требует использования клиентского программного обеспечения TCP/IP в вольной интерпретации RFC-1122.
Программа TCP/IP должна принять и передать IP-уровню любой IP-пакет, доставленный по аппаратному адресу клиента, до того как IP-адрес будет сконфигурирован; DHCP-серверы и агенты транспортировки BOOTP могут быть неспособны доставить DHCP-сообщения клиентам, которые не могут принимать уникастные дейтограммы, до того, как программа TCP/IP сконфигурирована должным образом.
Для того чтобы работать с клиентами, которые не могут воспринимать уникастные IP-дейтограммы до того, как будет сконфигурирована программа TCP/IP, DHCP использует поле 'флаги' [21]. Самый левый бит определен как флаг BROADCAST (B). Остающиеся биты поля флаги зарезервированы на будущее. Они должны быть установлены равными нулю клиентами и игнорироваться серверами и агентами транспортировки. На Рисунок 2 показан формат поля флаги.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
B | MBZ |