Для всех транзакций DHCPv4 используется одинаковый формат сообщений DHCPv4. Сообщения DHCPv4 инкапсулируются в рамках транспортного протокола UDP. Сообщения DHCPv4 отправляются от клиента через протокол UDP из порта источника 68 в порт назначения 67. Сообщения DHCPv4 отправляются с сервера через протокол UDP из порта источника 67 в порт назначения 68.
На рисунке показан формат сообщения DHCPv4. Сообщение содержит следующие поля:
- Код операции (OP) —указывает общий тип сообщения. Значение 1 означает сообщение-запрос; значение 2 — сообщение-ответ.
- Тип оборудования — определяет тип аппаратного оборудования, используемого в сети. Например, 1 — Ethernet, 15 — Frame Relay, 20 — последовательный канал. Эти же коды используются в сообщениях ARP.
- Длина физического адреса — задаёт длину адреса.
- Переходы — управление процессом пересылки сообщений. Устанавливается клиентом на 0 перед отправкой сообщения-запроса.
- Идентификатор транзакции — используется клиентом для согласования запроса с ответами от DHCPv4-серверов.
- Секунды — обозначают количество секунд, пройденных с момента, когда клиент начал пытаться получить или продлить аренду. Используется DHCPv4-серверами для расстановки приоритетности ответов, в случае нескольких клиентских запросов.
- Флаги — применяются клиентом, который не знает своего IPv4-адреса при отправлении запроса. Используется только один из 16 бит, являющийся флагом широковещательной рассылки. Значение 1 в этом поле сообщает DHCPv4-серверу или агенту-ретранслятору, принимающему запрос, что ответ должен быть послан в форме широковещательной рассылки.
- IP-адрес клиента — используется клиентом при обновлении адреса по истечении срока аренды продлении аренды, т.е. когда клиент имеет собственный IP-адрес, но не в процессе первоначального его получения. Клиент подставляет собственный IPv4-адрес в это поле только в случае, если у него есть действующий IPv4-адрес, совпадающий с ранее назначенным; в противном случае значение поля устанавливается на 0.
- Ваш IP-адрес — используется сервером для присвоения нового IPv4-адреса клиенту.
- IP-адрес сервера — применяется сервером для распознавания адреса сервера, который клиент должен использовать для следующего шага в процессе самонастройки. Этот сервер может являться (или не являться) сервером, посылающим ответ. Сервер, посылающий ответ, всегда включает собственный IPv4-адрес в отдельное поле - опцию Идентификатор сервера DHCPv4.
- IP-адрес шлюза — направляет DHCPv4-сообщения при использовании агентов-ретрансляторов DHCPv4. Использование заданного адреса шлюза упрощает передачу DHCPv4- запросов и ответов между клиентом и сервером, которые находятся в разных подсетях или сетях.
- Физический адрес клиента — указывает физический уровень клиента.
- Имя сервера — используется сервером, отправляющим сообщения DHCPOFFER или DHCPACK. Данное поле является необязательным для заполнения. Именем сервера может быть простой текстовый псевдоним или доменное имя DNS-сервера, как например dhcpserver.netacad.net.
- Имя файла загрузки — опциональное поле, используемое клиентом для запроса файла загрузки определённого типа посредством сообщения DHCPDISCOVER. Применяется сервером в сообщении DHCPOFFER для точного задания директории файла загрузки и имени файла.
- Опции DHCP — поле включает в себя опции DHCP, а также некоторые параметры, необходимые для основных операций протокола DHCP. Длина этого поля меняется. Поле может использоваться как клиентом, так и сервером.