RFC 2132 DHCP Options and BOOTP Vendor Extensions

Network Working Group                                       S. Alexander
Request for Comments: 2132                        Silicon Graphics, Inc.
Obsoletes: 1533                                                 R. Droms
Category: Standards Track                            Bucknell University
                                                              March 1997

Опции DHCP и фирменные расширения BOOTP

DHCP Options and BOOTP Vendor Extensions

PDF

Статус документа

Этот документ задаёт проект стандартного протокола Internet для сообщества Internet и служит приглашением к дискуссии в целях развития и совершенствования протокола. Текущий статус стандартизации протокола можно узнать из документа Internet Official Protocol Standards (STD 1). Распространение документа не ограничивается.

Аннотация

Протокол динамической настройки конфигурации хоста (Dynamic Host Configuration Protocol или DHCP) обеспечивает основу для передачи хостам конфигурационных параметров через сеть TCP/IP. Конфигурационные параметры и другая управляющая информация переносятся в помеченных элементах данных, которые записываются в поле options сообщения DHCP. Эти элементы данных называют также опциями.

Документ задаёт текущий набор опций DHCP. Новые опции будут задаваться в отдельных RFC. Текущий список действующих опций доступен по ссылке ftp://ftp.isi.edu/in-notes/iana/assignments1 [22].

Все фирменные расширения, заданные в RFC 1497 [2], могут использоваться в качестве опций DHCP. Определения из RFC 1497 включены в данный документ, который заменяет RFC 1497. Все опции DHCP, заданные в этом документе, за исключением описанных в разделе 9 опций DHCP, могут использоваться в качестве фирменных расширений BOOTP2.

1. Введение

Этот документ задаёт опции для использования в протоколах DHCP и BOOTP.

Полное описание формата пакетов DHCP приведено в спецификации DHCP [1], а пакетов BOOTP – в спецификации BOOTP [3]. Этот документ определяет формат информации в последнем поле пакетов DHCP (options) и BOOTP (vend). В оставшейся части этого раздела дано обобщённое описания использования этой области для предоставления информации, полезной широкому классу машин, операционных систем и конфигураций. Сайты с одним сервером DHCP или BOOTP и разнотипными клиентами могут определять свои правила использования поля options.

В разделе 2 описаны форматы опций DHCP и фирменных расширений BOOTP. Раздел 3 посвящён опциям, определенным в предшествующих документах для использования с BOOTP (все они подходят для DHCP). Разделы 4 – 8 определяют новые опции, предназначенные для использования с DHCP и BOOTP, в разделе 9 определены опции, предназначенные только для DHCP.

Ссылки на дополнительные описания опций из разделов 2 – 6 приведены в разделе 12. Использование опций раздела 9 описано в спецификации DHCP [1].

Информация о регистрации новых опций приведена в разделе 10.

Этот документ обновляет определения опций DHCP/BOOTP, приведённые в RFC1533. Механизм классов расширен путём включения фирменных классов производителей, как описано в параграфах 8.4 и 9.13. В разделе 10 описана процедура задания новых опций DHCP/BOOTP. Добавлено несколько новых опций, включая домен и сервер NIS+, домашний агент Mobile IP, серверы SMTP, TFTP и Bootfile. В параграфе 1.1 добавлены определения, используемые в этом документе. В параграф 9.14 добавлено обоснование необходимости уникальных идентификаторов клиентов.

1.1 Уровни требований

В этом документе слова, используемые для определения значимости конкретных требований выделены шрифтом. Эти уровни перечислены ниже.

MUST – необходимо

Это слово, а также термин требуется (REQUIRED) используется для требований, которые являются абсолютно необходимыми в данной спецификации.

MUST NOT – недопустимо

Эта фраза означает абсолютный запрет в рамках спецификации.

SHOULD – следует

Это слово, а также глагол рекомендуется (RECOMMENDED) используется для обозначения требований, от выполнения которых можно отказаться при наличии разумных причин. Однако при таком отказе следует помнить о возможных проблемах в результате отказа и принимать взвешенное решение.

SHOULD NOT – не следует

Эта фраза используется применительно к особенностям или функциям, которые допустимы и могут быть полезными, но могут вызывать проблемы. При реализации таких опций следует учитывать возможность возникновения проблем и принимать взвешенное решение.

MAY – возможно

Это слово, а также прилагательное необязательный (OPTIONAL) обозначают элементы, реализация которых является необязательной. Одни разработчики могут включать такие опции в свою продукцию для расширения возможностей, а другие – опускать в целях упрощения.

1.2 Терминология

Ниже приведены определения используемых в документе терминов.

DHCP client – клиент DHCP

Клиентом DHCP является хост Internet, использующий протокол DHCP для получения параметров конфигурации, например, сетевого адреса.

DHCP server – сервер DHCP

Сервером DHCP является хост Internet, который возвращает параметры конфигурации клиентам DHCP.

Binding – привязка

Привязкой называется набор параметров конфигурации, включающий как минимум адрес IP, который привязан к клиенту DHCP. Привязками управляет сервер DHCP.

2. Формат поля BOOTP Extension/DHCP Option

Опции DHCP имеют такой же формат, какой был определён для фирменных расширений BOOTP в RFC 1497 [2]. Опции могут иметь фиксированный или переменный размер. Все опции начинаются с октета тега, однозначно указывающего опцию. Опции фиксированного размера без данных содержат лишь октет тега. Фиксированный размер имеют лишь опции 0 и 255. Все остальные опции имеют переменный размер, указываемый октетом, следующим за октетом тега. Значение октета размера не учитывает два первых октета (тег и размер). За октетом размера следует заданное этим октетом число октетов данных. В опции с данными NVT ASCII не следует включать завершающий NULL-символ, однако получатели таких опций должны быть готовы удалить такие символы в конце полученных опций. Получателям недопустимо требовать включение в данные завершающего NULL-символа. Для некоторых опций переменного размера поле размера всегда имеет одно значение, но его все равно нужно указывать.

Все опции, определённые после этого документа, должны включать октет размера даже при постоянном (в том числе 0) размере опции.

В многооктетных опциях используется сетевой порядок байтов.

При использовании с BOOTP первые 4 октета поля информации производителя содержат значение magic cookie (предложено в RFC 951). Это поле указывает режим интерпретации последующих данных. Значение magic cookie в четырёх первых октетах будет в десятичном формате с разделением точками 99.130.83.99 (шестнадцатеричное 63.82.53.63) с сетевым порядком байтов.

Все фирменные расширения (vendor extensions) из RFC 1497 являются также опциями DHCP.

Опции с десятичными кодами от 128 до 254 зарезервированы для локального (site-specific) определения.

Все опции, за исключением описанных в разделе 9, могут применяться как с DHCP, так и с BOOTP.

Многие из этих опций имеют принятые по умолчанию значения, которые определены в других документах. В частности, RFC 1122 [4] задаёт принятые по умолчанию значения для большинства параметров конфигурации IP и TCP.

Многие опции содержат один или несколько 32-битовых адресов IP. Использование IP-адресов вместо полных доменных имён (Fully-qualified Domain Name или FQDN) может осложнить смену адресов IP в будущем. Использования таких адресов следует избегать на сайтах, где может потребоваться смена адресов.

3. Фирменные расширения RFC 1497

В этом разделе описаны фирменные расширения из RFC 1497. Раздел представлен лишь для полноты.

3.1. Заполнение

Опция pad может использоваться для выравнивания следующего поля по границе слова.

 Code
+-----+
|  0  |
+-----+


Поле code для опции pad имеет значение 0, а размер опции всегда составляет 1 октет.

3.2. Конец опций

Опция end указывает завершение действительной информации в поле vendor. Последующие октеты следует заполнять опцией pad. Код опции end имеет значение 255, а размер опции всегда составляет 1 октет.

 Code
+-----+
| 255 |
+-----+


3.3. Маска подсети

Опция subnet mask задаёт маску подсети клиента в соответствии с RFC 950 [5].

Если в отклике DHCP указаны сразу опции subnet mask и router, маска подсети должна быть впереди.

Поле code для опции subnet mask имеет значение 1, а её размер составляет 4 октета.

 Code   Len        Subnet Mask
+-----+-----+-----+-----+-----+-----+
|  1  |  4  |  m1 |  m2 |  m3 |  m4 |
+-----+-----+-----+-----+-----+-----+


3.4. Часовой пояс

Поле time offset3 задаёт временной сдвиг подсети клиента относительно часового пояса UTC4. Сдвиг указывается 32-битовым целым числом с дополнением до 2. Положительные значения указывают смещение к востоку от нулевого меридиана, отрицательные – к западу.

Поле code для опции time offset имеет значение 2, а её размер составляет 4 октета.

 Code   Len        Time Offset
+-----+-----+-----+-----+-----+-----+
|  2  |  4  |  n1 |  n2 |  n3 |  n4 |
+-----+-----+-----+-----+-----+-----+


3.5. Маршрутизаторы

Опция router указывает список адресов IP для маршрутизаторов в подсети клиента. Маршрутизаторы следует указывать в порядке предпочтений.

Поле code для опции router имеет значение 3. Минимальный размер опции составляет 4 октета, а реальный размер должен быть кратным 4.

 Code   Len         Address 1               Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
|  3  |  n  |  a1 |  a2 |  a3 |  a4 |  a1 |  a2 |  ...
+-----+-----+-----+-----+-----+-----+-----+-----+--


3.6. Сервер времени

Опция time server задаёт список серверов времени RFC 868 [6], доступных для клиента. Серверы следует указывать в порядке предпочтения.

Поле code для опции time server имеет значение 4. Минимальный размер опции составляет 4 октета, а реальный размер должен быть кратным 4.

 Code   Len         Address 1               Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
|  4  |  n  |  a1 |  a2 |  a3 |  a4 |  a1 |  a2 |  ...
+-----+-----+-----+-----+-----+-----+-----+-----+--


3.7. Сервер имён

Опция name server задаёт список серверов имен IEN 116 [7], доступных для клиента. Серверы следует указывать в порядке предпочтения.

Поле code для опции name server имеет значение 5. Минимальный размер опции составляет 4 октета, а реальный размер должен быть кратным 4.

 Code   Len         Address 1               Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
|  5  |  n  |  a1 |  a2 |  a3 |  a4 |  a1 |  a2 |  ...
+-----+-----+-----+-----+-----+-----+-----+-----+--


3.8. Сервер DNS

Опция domain name server задаёт список серверов доменных имён DNS5 (STD 13, RFC 1035 [8]), доступных для клиента. Серверы следует указывать в порядке предпочтения.

Поле code для опции domain name server имеет значение 6. Минимальный размер опции составляет 4 октета, а реальный размер должен быть кратным 4.

 Code   Len         Address 1               Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
|  6  |  n  |  a1 |  a2 |  a3 |  a4 |  a1 |  a2 |  ...
+-----+-----+-----+-----+-----+-----+-----+-----+--


3.9. Log-сервер

Опция log server задаёт список журнальных серверов MIT-LCS UDP, доступных для клиента. Серверы следует указывать в порядке предпочтения.

Поле code для опции log server имеет значение 7. Минимальный размер опции составляет 4 октета, а реальный размер должен быть кратным 4.

 Code   Len         Address 1               Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
|  7  |  n  |  a1 |  a2 |  a3 |  a4 |  a1 |  a2 |  ...
+-----+-----+-----+-----+-----+-----+-----+-----+--


3.10. Сервер Cookie

Опция cookie server задаёт список cookie-серверов RFC 865 [9], доступных для клиента. Серверы следует указывать в порядке предпочтения.

Поле code для опции log server имеет значение 8. Минимальный размер опции составляет 4 октета, а реальный размер должен быть кратным 4.

 Code   Len         Address 1               Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
|  8  |  n  |  a1 |  a2 |  a3 |  a4 |  a1 |  a2 |  ...
+-----+-----+-----+-----+-----+-----+-----+-----+--


3.11. Сервер LPR

Опция LPR server задаёт список серверов печати RFC 1179 [10], доступных для клиента. Серверы следует указывать в порядке предпочтения.

Поле code для опции LPR server имеет значение 9. Минимальный размер опции составляет 4 октета, а реальный размер должен быть кратным 4.

 Code   Len         Address 1               Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
|  9  |  n  |  a1 |  a2 |  a3 |  a4 |  a1 |  a2 |  ...
+-----+-----+-----+-----+-----+-----+-----+-----+--


3.12. Сервер Impress

Опция Impress server задаёт список серверов Imagen Impress, доступных для клиента. Серверы следует указывать в порядке предпочтения.

Поле code для опции Impress server имеет значение 10. Минимальный размер опции составляет 4 октета, а реальный размер должен быть кратным 4.

 Code   Len         Address 1               Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
|  10 |  n  |  a1 |  a2 |  a3 |  a4 |  a1 |  a2 |  ...
+-----+-----+-----+-----+-----+-----+-----+-----+--


3.13. Сервер местоположения ресурсов

Опция задаёт список серверов Resource Location RFC 887 [11], доступных для клиента. Серверы следует указывать в порядке предпочтения.

 Code   Len         Address 1               Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
|  11 |  n  |  a1 |  a2 |  a3 |  a4 |  a1 |  a2 |  ...
+-----+-----+-----+-----+-----+-----+-----+-----+--


Поле code для этой опции имеет значение 11. Минимальный размер опции составляет 4 октета, а реальный размер должен быть кратным 4.

3.14. Имя хоста

Эта опция указывает имя клиента, которое может (но не обязано) быть полным именем в локальном домене (см. описание получения доменного имени в параграфе 3.17). Ограничения на использование символов даны в RFC 1035.

Поле code для этой опции имеет значение 12, а минимальный размер составляет 1 октет.

 Code   Len         Address 1               Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
|  12 |  n  |  h1 |  h2 |  h3 |  h4 |  h5 |  h6 |  ...
+-----+-----+-----+-----+-----+-----+-----+-----+--


3.15. Размер загрузочного файла

Эта опция задаёт размер используемого по умолчанию загрузочного файла для клиента в 512-октетных блоках. Размер указывается 16-целым числом без знака.

Поле code для этой опции имеет значение 13, а её размер составляет 2 октета.

 Code   Len   File Size
+-----+-----+-----+-----+
|  13 |  2  |  l1 |  l2 |
+-----+-----+-----+-----+


3.16. Путь для записи дампа памяти

Эта опция задаёт путь к файлу, в который должен сбрасываться дамп памяти клиента в случае отказа. Путь указывается строкой символов NVT ASCII.

Поле code для этой опции имеет значение 14, а минимальный размер составляет 1 октет.

 Code   Len      Dump File Pathname
+-----+-----+-----+-----+-----+-----+---
|  14 |  n  |  n1 |  n2 |  n3 |  n4 | ...
+-----+-----+-----+-----+-----+-----+---


3.17. Имя домена

Эта опция задаёт имя домена, которое клиенту следует применять при распознавании имён хостов с помощью DNS.

 Code   Len        Domain Name
+-----+-----+-----+-----+-----+-----+--
|  15 |  n  |  d1 |  d2 |  d3 |  d4 |  ...
+-----+-----+-----+-----+-----+-----+--


Поле code для этой опции имеет значение 15, а минимальный размер составляет 1 октет.

3.18. Swap-сервер

Опция задаёт IP-адрес сервера, который клиент будет использовать для файла подкачки.

Поле code для этой опции имеет значение 16, а размер опции составляет 4 октета.

 Code   Len    Swap Server Address
+-----+-----+-----+-----+-----+-----+
|  16 |  n  |  a1 |  a2 |  a3 |  a4 |
+-----+-----+-----+-----+-----+-----+


3.19. Корневой путь

Эта опция задаёт путь к корневому диску клиента. Путь указывается строкой символов NVT ASCII.

Поле code для этой опции имеет значение 17, а минимальный размер составляет 1 октет.

 Code   Len      Root Disk Pathname
+-----+-----+-----+-----+-----+-----+---
|  17 |  n  |  n1 |  n2 |  n3 |  n4 | ...
+-----+-----+-----+-----+-----+-----+---


3.20. Путь к расширениям

Строка для указания файла, доступного по протоколу TFTP и содержащего информацию, которая может быть интерпретирована как 64-октетное поле фирменного расширения производителя в отклике BOOTP с двумя исключениями:

  • размер файла не ограничен;

  • все ссылки на тег 18 (т. е. экземпляры поля BOOTP Extensions Path) в этом файле игнорируются.

Поле code для этой опции имеет значение 18, а минимальный размер составляет 1 октет.

 Code   Len      Extensions Pathname
+-----+-----+-----+-----+-----+-----+---
|  18 |  n  |  n1 |  n2 |  n3 |  n4 | ...
+-----+-----+-----+-----+-----+-----+---


4. Параметры уровня IP для хоста

В этом разделе описаны опции, влияющие на работу уровня IP хоста в целом.

4.1. Опция управления пересылкой IP

Эта опция указывает, следует ли клиенту выполнять пересылку пакетов на уровне IP. Значение 0 отключает пересылку IP, 1 – включает .

 Code   Len  Value
+-----+-----+-----+
|  19 |  1  | 0/1 |
+-----+-----+-----+


Поле code для этой опции имеет значение 19, а её размер составляет 1 октет.

4.2. Опция управления Non-Local Source Routing

Эта опция указывает, следует ли клиенту настраивать свой уровень IP на пересылку дейтаграмм с нелокальными маршрутами, заданными отправителем (см. обсуждение в параграфе 3.3.5 работы [4]). Значение 0 запрещает пересылку таких дейтаграмм, 1 – разрешает.

Поле code для этой опции имеет значение 20, а её размер составляет 1 октет.

 Code   Len  Value
+-----+-----+-----+
|  20 |  1  | 0/1 |
+-----+-----+-----+


4.3. Опция фильтра правил

Задаёт фильтры правил для нелокальной маршрутизации, заданной отправителем. Фильтры представляют собой списки адресов IP и масок, которые задают пары получатель-маска для фильтрации входящих маршрутов source route.

Любую дейтаграмму source route, в которой адрес следующего маршрутизатора (next-hop) не соответствует фильтру, клиенту следует отбрасывать.

Дополнительная информация представлена в документе [4].

Поле code для этой опции имеет значение 21. Минимальный размер опции составляет 8 октетов, а реальный размер должен быть кратным 8 октетам.

 Code   Len         Address 1                  Mask 1
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
|  21 |  n  |  a1 |  a2 |  a3 |  a4 |  m1 |  m2 |  m3 |  m4 |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
        Address 2                  Mask 2
+-----+-----+-----+-----+-----+-----+-----+-----+---
|  a1 |  a2 |  a3 |  a4 |  m1 |  m2 |  m3 |  m4 | ...
+-----+-----+-----+-----+-----+-----+-----+-----+---


4.4. Максимальный размер собранной дейтаграммы

Эта опция задаёт максимальный размер дейтаграммы, которую клиент должен быть готов собрать. Размер указывает 16-битовым целым числом без знака. Минимальное пригодное значение составляет 576 октетов.

 Code   Len      Size
+-----+-----+-----+-----+
|  22 |  2  |  s1 |  s2 |
+-----+-----+-----+-----+


Поле code для этой опции имеет значение 22, а её размер составляет 2 октета.

4.5. Используемое по умолчанию значение IP TTL

Эта опция задаёт принятое по умолчанию значение TTL6, которое клиенту следует использовать в исходящих дейтаграммах. TTL задаётся октетом со значением от 1 до 255.

Поле code для этой опции имеет значение 23, а её размер составляет 1 октет.

 Code   Len   TTL
+-----+-----+-----+
|  23 |  1  | ttl |
+-----+-----+-----+


4.6. Тайм-аут Path MTU

Эта опция задаёт время (в секундах) старения значений Path MTU, определённых с помощью механизмов RFC 1191 [12]. Тайм-аут указывается 32-битовым целым числом без знака.

Поле code для этой опции имеет значение 24, а её размер составляет 4 октета.

 Code   Len           Timeout
+-----+-----+-----+-----+-----+-----+
|  24 |  4  |  t1 |  t2 |  t3 |  t4 |
+-----+-----+-----+-----+-----+-----+


4.7. Таблица значений Path MTU

Эта опция задаёт таблицу значений MTU для использования с механизмами Path MTU Discovery, определёнными в RFC 1191. Таблица содержит набор 16-битовых целых чисел без знака, упорядоченных по возрастанию. Минимальное значение MTU не может быть меньше 68.

Поле code для этой опции имеет значение 25. Минимальный размер опции составляет 2 октета, а реальный размер всегда должен быть кратным 2.

 Code   Len     Size 1      Size 2
+-----+-----+-----+-----+-----+-----+---
|  25 |  n  |  s1 |  s2 |  s1 |  s2 | ...
+-----+-----+-----+-----+-----+-----+---


5. Параметры уровня IP для интерфейса

В этом разделе описаны опции, влияющие на работу уровня IP отдельного интерфейса хоста. Предполагается, что клиент может выполнять множество запросов (по одному для каждого интерфейса) для настройки параметров интерфейсов.

5.1. MTU для интерфейса

Эта опция задаёт значение MTU для интерфейса, указываемое 16-битовым целым числом без знака. Минимально допустимое значение MTU составляет 68 октетов.

Поле code для этой опции имеет значение 26, а её размер составляет 2 октета.

 Code   Len      MTU
+-----+-----+-----+-----+
|  26 |  2  |  m1 |  m2 |
+-----+-----+-----+-----+


5.2. Опция All Subnets are Local

Эта опция указывает клиенту, может ли он считать, что все подсети сети IP, к которой клиент подключён, используют то же значение MTU, что и подсеть клиента. Значение 1 указывает использование во всех подсетях одного значения MTU. Значение 0 говорит, что клиенту следует предполагать использование в некоторых подсетях, напрямую соединённых с сетью, меньших значений MTU.

Поле code для этой опции имеет значение 27, а её размер составляет 1 октет.

 Code   Len  Value
+-----+-----+-----+
|  27 |  1  | 0/1 |
+-----+-----+-----+


5.3. Широковещательный адрес

Эта опция задаёт широковещательный адрес для использования в подсети клиента. Допустимые широковещательные адреса указаны в параграфе 3.2.1.3 документа [4].

Поле code для этой опции имеет значение 28, а её размер составляет 4 октета.

 Code   Len     Broadcast Address
+-----+-----+-----+-----+-----+-----+
|  28 |  4  |  b1 |  b2 |  b3 |  b4 |
+-----+-----+-----+-----+-----+-----+


5.4. Определение маски

Эта опция показывает, следует ли клиенту определять маску подсети с помощью ICMP. Значение 0 указывает, что клиенту не следует выполнять определение маски, 1 указывает что это следует делать.

Поле code для этой опции имеет значение 29, а её размер составляет 1 октет.

 Code   Len  Value
+-----+-----+-----+
|  29 |  1  | 0/1 |
+-----+-----+-----+


5.5. Опция Mask Supplier

Эта опция показывает, следует ли клиенту отвечать на запросы маски подсети с использованием ICMP. Значение 0 указывает, что клиенту не следует отвечать, 1 говорит, что отвечать на запросы следует.

Поле code для этой опции имеет значение 30, а её размер составляет 1 октет.

 Code   Len  Value
+-----+-----+-----+
|  30 |  1  | 0/1 |
+-----+-----+-----+


5.6. Обнаружение маршрутизатора

Эта опция показывает, следует ли клиенту находить маршрутизаторы с помощью механизма Router Discovery, заданного в RFC 1256 [13]. Значение 0 указывает, что клиенту не следует выполнять обнаружение маршрутизаторов, 1 показывает, что следует.

Поле code для этой опции имеет значение 31, а её размер составляет 1 октет.

 Code   Len  Value
+-----+-----+-----+
|  31 |  1  | 0/1 |
+-----+-----+-----+


5.7. Адрес для запросов обнаружения маршрутизаторов

Эта опция указывает адрес, по которому клиенту следует передавать запросы обнаружения маршрутизаторов.

Поле code для этой опции имеет значение 32, а её размер составляет 4 октета.

 Code   Len            Address
+-----+-----+-----+-----+-----+-----+
|  32 |  4  |  a1 |  a2 |  a3 |  a4 |
+-----+-----+-----+-----+-----+-----+


5.8. Статический маршрут

Эта опция7 задаёт список статических маршрутов, которые клиенту следует поместить в свой кэш маршрутов. При наличии нескольких маршрутов к одному получателю их следует указывать в порядке снижения предпочтений. Маршрут представляет собой список пар адресов IP, первым указывается адрес получателя, вторым – маршрутизатор. Используемый по умолчанию маршрут (0.0.0.0) не пригоден в качестве статического (см. описание опции router в параграфе 3.5).

Поле code для этой опции имеет значение 33. Минимальный размер опции составляет 8 октетов, а реальный размер всегда должен быть кратным 8 октетам.

 Code   Len         Destination 1           Router 1
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
|  33 |  n  |  d1 |  d2 |  d3 |  d4 |  r1 |  r2 |  r3 |  r4 |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
        Destination 2           Router 2
+-----+-----+-----+-----+-----+-----+-----+-----+---
|  d1 |  d2 |  d3 |  d4 |  r1 |  r2 |  r3 |  r4 | ...
+-----+-----+-----+-----+-----+-----+-----+-----+---


6. Параметры канального уровня для интерфейса

В этом разделе указаны опции, воздействующие на канальный уровень для отдельного интерфейса.

6.1. Трейлерная инкапсуляция

Эта опция показывает, следует ли клиенту согласовывать применение трейлеров (RFC 893 [14]) при использовании протокола ARP. Значение 0 говорит о том, что не следует пытаться использовать трейлеры, 1 указывает, что такую попытку следует предпринимать.

Поле code для этой опции имеет значение 34, а её размер составляет 1 октет.

 Code   Len  Value
+-----+-----+-----+
|  34 |  1  | 0/1 |
+-----+-----+-----+


6.2. Тайм-аут для кэша ARP

Опция задаёт тайм-аут (в секундах) для записей кэша ARP. Время указывается 32-битовым целым числом без знака.

Поле code для этой опции имеет значение 35, а её размер составляет 4 октета.

 Code   Len           Time
+-----+-----+-----+-----+-----+-----+
|  35 |  4  |  t1 |  t2 |  t3 |  t4 |
+-----+-----+-----+-----+-----+-----+


6.3. Инкапсуляция Ethernet

Эта опция показывает, следует клиенту использовать инкапсуляцию Ethernet Version 2 (RFC 894 [15]) или IEEE 802.3 (RFC 1042 [16]) на интерфейсе Ethernet. Значение 0 указывает применение инкапсуляции RFC 894, 1 – RFC 1042.

Поле code для этой опции имеет значение 36, а её размер составляет 1 октет.

 Code   Len  Value
+-----+-----+-----+
|  36 |  1  | 0/1 |
+-----+-----+-----+


7. Параметры TCP

В этом разделе описаны опции, указывающие влияние на уровень TCP для отдельного интерфейса.

7.1. Опция TCP Default TTL

Эта опция задаёт принятое по умолчанию значение TTL, которое клиенту следует указывать при передаче сегментов TCP. Значение представляется 8-битовым целым числом без знака. Минимальное время жизни равно 1.

Поле code для этой опции имеет значение 37, а её размер составляет 1 октет.

 Code   Len   TTL
+-----+-----+-----+
|  37 |  1  | 0/1 |
+-----+-----+-----+


7.2. Интервал TCP Keepalive

Эта опция задаёт для клиента интервал (в секундах) передачи сообщений TCP keepalive в соединениях TCP, указываемый 32-битовым целым числом без знака. Нулевое значение указывает, что клиенту не следует передавать сообщений keepalive, пока это явно не запрошено приложением.

Поле code для этой опции имеет значение 38, а её размер составляет 4 октета.

 Code   Len           Time
+-----+-----+-----+-----+-----+-----+
|  38 |  4  |  t1 |  t2 |  t3 |  t4 |
+-----+-----+-----+-----+-----+-----+


7.3. Опция TCP Keepalive Garbage

Эта опция показывает, следует ли клиенту передавать сообщения TCP keepalive с «мусорным» (garbage) октетом для совместимости со старыми версиями. Значение 0 указывает, что этот октет не следует передавать, 1 указывает передачу октета garbage.

Поле code для этой опции имеет значение 39, а её размер составляет 1 октет.

 Code   Len  Value
+-----+-----+-----+
|  39 |  1  | 0/1 |
+-----+-----+-----+


8. Параметры приложений и служб

В этом разделе описаны опции, служащие для настройки различных приложений и служб.

8.1. Домен сетевой информации

Эта опция задаёт для клиента имя домена NIS8 [17], указываемое строкой символов NVT ASCII.

Поле code для этой опции имеет значение 40, а минимальный размер составляет 1 октет.

 Code   Len      NIS Domain Name
+-----+-----+-----+-----+-----+-----+---
|  40 |  n  |  n1 |  n2 |  n3 |  n4 | ...
+-----+-----+-----+-----+-----+-----+---


8.2. Серверы NIS

Эта опция задаёт список адресов IP доступных для клиента серверов NIS. Серверы следует указывать в порядке предпочтения.

Поле code для этой опции имеет значение 41. Минимальный размер опции составляет 4 октета, а реальный размер должен быть кратным 4.

 Code   Len         Address 1               Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
|  41 |  n  |  a1 |  a2 |  a3 |  a4 |  a1 |  a2 |  ...
+-----+-----+-----+-----+-----+-----+-----+-----+--


8.3. Серверы NTP

Эта опция задаёт список адресов IP доступных для клиента серверов NTP9 [18]. Серверы следует указывать в порядке предпочтения.

Поле code для этой опции имеет значение 42. Минимальный размер опции составляет 4 октета, а реальный размер должен быть кратным 4.

8.4. Фирменная информация производителя

Эта опция используется клиентами и серверами для обмена фирменной информацией производителя. Эти сведения представляет собой объект из n октетов, предположительно интерпретируемый клиентами и серверами по коду, заданному производителем. Назначение этой информации определяется производителем и указывается опцией vendor class identifier. Серверы, не способные обрабатывать фирменные данные, отправленные клиентом, должны игнорировать их (но могут информировать об этом). Клиенту, не получившему фирменную информацию, следует предпринять попытку работы без неё, хотя это может приводить к деградации клиента (он должен сообщить об этом).

Если производителю нужно представить в этой опции более одного информационного элемента, ему следует представлять опцию с использованием инкапсуляции, как описано ниже.

Поле Encapsulated vendor-specific options следует представлять в форме последовательности полей «код-размер-значение», идентичной полю опций DHCP, с учётом приведённых ниже ограничений.

  1. Не следует включать поле magic cookie в инкапсулированные фирменные расширения.

  2. Коды (за исключением 0 и 255) могут быть переопределены производителем внутри поля инкапсулированных фирменных расширений, но следует соответствовать синтаксису «тег-размер-значение», определенному в разделе 2.

  3. При наличии кода 255 (END) он означает завершение поля инкапсулированных фирменных расширений, а не всего поля фирменных расширений. Если код 255 не указан, поле фирменной информации завершается в конце поля инкапсулированных фирменных расширений.

Поле code для этой опции имеет значение 43, а минимальный размер составляет 1 октет.

 Code   Len   Vendor-specific information
+-----+-----+-----+-----+---
|  43 |  n  |  i1 |  i2 | ...
+-----+-----+-----+-----+---


При использовании поля инкапсулированных фирменных расширений байты информации 1-n имеют приведённый ниже формат.

 Code   Len   Data item        Code   Len   Data item       Code
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
|  T1 |  n  |  d1 |  d2 | ... |  T2 |  n  |  D1 |  D2 | ... | ... |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+


8.5. Сервер имен NetBIOS over TCP/IP

Опция NetBIOS name server (NBNS) задаёт список серверов имён NBNS RFC 1001/1002 [19] [20] в порядке предпочтения.

Поле code для этой опции имеет значение 44. Минимальный размер опции составляет 4 октета, а реальный размер должен быть кратным 4.

 Code   Len           Address 1              Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+----
|  44 |  n  |  a1 |  a2 |  a3 |  a4 |  b1 |  b2 |  b3 |  b4 | ...
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+----


8.6. Сервер NBDD

 Code   Len           Address 1              Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+----
|  45 |  n  |  a1 |  a2 |  a3 |  a4 |  b1 |  b2 |  b3 |  b4 | ...
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+----


Опция NBDD10 server задаёт список серверов NBDD RFC 1001/1002 в порядке их предпочтения. Поле code для этой опции имеет значение 45. Минимальный размер опции составляет 4 октета, а реальный размер должен быть кратным 4.

8.7. Тип узла NetBIOS over TCP/IP

Опция NetBIOS node type позволяет настраивать конфигурацию клиентов NetBIOS over TCP/IP в соответствии с RFC 1001/1002. Значение задаётся в одном октете, который указывает тип клиента, как показано в таблице (префикс 0x указывает шестнадцатеричные значения).

Значение

Тип узла

0x1

B-node

0x2

P-node

0x3

M-node

0x4

H-node

Поле code для этой опции имеет значение 46, а размер опции составляет 1 октет.

 Code   Len  Node Type
+-----+-----+-----------+
|  46 |  1  | см. выше  |
+-----+-----+-----------+


8.8. Область действия NetBIOS over TCP/IP

Опция NetBIOS scope задаёт для клиента параметр NetBIOS over TCP/IP scope в соответствии с RFC 1001/1002. Ограничения для набора символов приведены в [19], [20] и [8].

Поле code для этой опции имеет значение 47, а минимальный размер составляет 1 октет.

 Code   Len       NetBIOS Scope
+-----+-----+-----+-----+-----+-----+----
|  47 |  n  |  s1 |  s2 |  s3 |  s4 | ...
+-----+-----+-----+-----+-----+-----+----


8.9. Сервер шрифтов X Window System

Эта опция указывает список серверов шрифтов X Window System [21] Font, доступных для клиента. Серверы следует указывать в порядке предпочтения.

Поле code для этой опции имеет значение 48. Минимальный размер составляет 4 октета, а реальный размер должен быть кратным 4.

 Code   Len         Address 1               Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
| 48  |  n  |  a1 |  a2 |  a3 |  a4 |  a1 |  a2 |  ...
+-----+-----+-----+-----+-----+-----+-----+-----+--


8.10. Менеджер системы X Window

Эта опция задаёт список адресов IP, указывающих доступные клиенту менеджеры X Window System Display. Адреса следует указывать в порядке предпочтения.

 Code   Len         Address 1               Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
| 49  |  n  |  a1 |  a2 |  a3 |  a4 |  a1 |  a2 |  ...
+-----+-----+-----+-----+-----+-----+-----+-----+--


Поле code для опции this имеет значение 49. Минимальный размер составляет 4 октета, а реальный размер опции должен быть кратным 4.

8.11. Домен NIS+

Эта опция задаёт для клиента имя домена NIS+11 [17], укзываемое строкой символов NVT ASCII.

Поле code для этой опции имеет значение 64, а минимальный размер составляет 1 октет.

 Code   Len      NIS Client Domain Name
+-----+-----+-----+-----+-----+-----+---
|  64 |  n  |  n1 |  n2 |  n3 |  n4 | ...
+-----+-----+-----+-----+-----+-----+---


8.12. Сервер NIS+

Эта опция задаёт список адресов IP, указывающих доступные клиенту серверы NIS+. Серверы следует указывать в порядке предпочтения.

Поле code для этой опции имеет значение 65. Минимальный размер составляет 4 октета, а реальный размер опции должен быть кратным 4.

 Code   Len         Address 1               Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
| 65  |  n  |  a1 |  a2 |  a3 |  a4 |  a1 |  a2 |  ...
+-----+-----+-----+-----+-----+-----+-----+-----+--


8.13. Домашний агент Mobile IP

Эта опция задаёт список адресов IP, указывающих доступные клиенту домашние агенты mobile IP. Агенты следует указывать в порядке предпочтения.

 Code Len    Home Agent Addresses (0 или более)
+-----+-----+-----+-----+-----+-----+--
| 68  |  n  | a1  | a2  | a3  | a4  | ...
+-----+-----+-----+-----+-----+-----+--


Поле code для этой опции имеет значение 68. Минимальный размер опции равен 0 (нет доступных домашних агентов), а реальный размер опции должен быть кратным 4. Предполагается, что обычно размер будет составлять 4 октета (один домашний агент).

8.14. Сервер SMTP

Опция SMTP server задаёт список серверов SMTP12, доступных для клиента. Серверы следует указывать в порядке предпочтения.

Поле code для опции SMTP server имеет значение 69. Минимальный размер составляет 4 октета, а реальный размер опции должен быть кратным 4.

 Code   Len         Address 1               Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
| 69  |  n  |  a1 |  a2 |  a3 |  a4 |  a1 |  a2 |  ...
+-----+-----+-----+-----+-----+-----+-----+-----+--


8.15. Сервер POP3

Опция POP3 server задаёт список серверов POP313, доступных для клиента. Серверы следует указывать в порядке предпочтения.

 Code   Len         Address 1               Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
| 70  |  n  |  a1 |  a2 |  a3 |  a4 |  a1 |  a2 |  ...
+-----+-----+-----+-----+-----+-----+-----+-----+--


Поле code для опции POP3 server имеет значение 70. Минимальный размер составляет 4 октета, а реальный размер опции должен быть кратным 4.

8.16. Сервер NNTP

Опция NNTP server задаёт список серверов NNTP14, доступных для клиента. Серверы следует указывать в порядке предпочтения.

Поле code для опции NNTP server имеет значение 71. Минимальный размер составляет 4 октета, а реальный размер опции должен быть кратным 4.

 Code   Len         Address 1               Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
| 71  |  n  |  a1 |  a2 |  a3 |  a4 |  a1 |  a2 |  ...
+-----+-----+-----+-----+-----+-----+-----+-----+--


8.17. Используемый по умолчанию сервер WWW

Опция WWW server задаёт список серверов WWW15, доступных для клиента. Серверы следует указывать в порядке предпочтения.

Поле code для опции WWW server имеет значение 72. Минимальный размер составляет 4 октета, а реальный размер опции должен быть кратным 4.

 Code   Len         Address 1               Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
| 72  |  n  |  a1 |  a2 |  a3 |  a4 |  a1 |  a2 |  ...
+-----+-----+-----+-----+-----+-----+-----+-----+--


8.18. Используемый по умолчанию сервер Finger

Опция Finger server задаёт список серверов Finger, доступных для клиента. Серверы следует указывать в порядке предпочтения.

Поле code для опции Finger server имеет значение 73. Минимальный размер составляет 4 октета, а реальный размер опции должен быть кратным 4.

 Code   Len         Address 1               Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
| 73  |  n  |  a1 |  a2 |  a3 |  a4 |  a1 |  a2 |  ...
+-----+-----+-----+-----+-----+-----+-----+-----+--


8.19. Используемый по умолчанию сервер IRC

Опция IRC server задаёт список серверов IRC16, доступных для клиента. Серверы следует указывать в порядке предпочтения.

 Code   Len         Address 1               Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
| 74  |  n  |  a1 |  a2 |  a3 |  a4 |  a1 |  a2 |  ...
+-----+-----+-----+-----+-----+-----+-----+-----+--


Поле code для опции IRC server имеет значение 74. Минимальный размер составляет 4 октета, а реальный размер опции должен быть кратным 4.

8.20. Сервер StreetTalk

Опция StreetTalk server задаёт список серверов StreetTalk, доступных для клиента. Серверы следует указывать в порядке предпочтения.

 Code   Len         Address 1               Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
| 75  |  n  |  a1 |  a2 |  a3 |  a4 |  a1 |  a2 |  ...
+-----+-----+-----+-----+-----+-----+-----+-----+--


Поле code для опции StreetTalk server имеет значение 75. Минимальный размер составляет 4 октета, а реальный размер опции должен быть кратным 4.

8.21. Сервер STDA

Эта опция задаёт список серверов STDA17, доступных для клиента. Серверы следует указывать в порядке предпочтения.

Поле code для опции StreetTalk Directory Assistance server имеет значение 76. Минимальный размер опции составляет 4 октета, а реальный размер опции должен быть кратным 4.

 Code   Len         Address 1               Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
| 76  |  n  |  a1 |  a2 |  a3 |  a4 |  a1 |  a2 |  ...
+-----+-----+-----+-----+-----+-----+-----+-----+--


9. Расширения DHCP

В этом разделе описаны опции, относящиеся только к протоколу DHCP.

9.1. Запрашиваемый адрес IP

Эта опция используется клиентом в сообщении DHCPDISCOVER для запроса определённого адреса IP.

Поле code для этой опции имеет значение 50, а её размер составляет 4 октета.

 Code   Len          Address
+-----+-----+-----+-----+-----+-----+
|  50 |  4  |  a1 |  a2 |  a3 |  a4 |
+-----+-----+-----+-----+-----+-----+


9.2. Время аренды адреса IP

Эта опция используется в запросе клиента (DHCPDISCOVER или DHCPREQUEST) для предложения времени аренды адреса IP. В отклике DHCPOFFER сервер DHCP использует эту опцию для указания предлагаемого им срока аренды. Время указывается в секундах 32-битовым целым числом без знака.

Поле code для этой опции имеет значение 51, а её размер составляет 4 октета.

 Code   Len         Lease Time
+-----+-----+-----+-----+-----+-----+
|  51 |  4  |  t1 |  t2 |  t3 |  t4 |
+-----+-----+-----+-----+-----+-----+


9.3. «Перегрузка» опций

Эта опция используется для индикации использования полей sname и file для записи опций DHCP. Сервер DHCP добавляет эту опцию, если размер возвращаемых параметров превосходит доступное для опций пространство. При наличии этой опции клиент обрабатывает указанные дополнительные поля после рассмотрения стандартных полей.

Поле code для этой опции имеет значение 52, а её размер составляет 1 октет. Разрешённые значения даны в таблице.

Значение

Описание

1

Поле file служит для записи опций

2

Поле file служит для записи опций

3

Оба поля служат для записи опций

 Code   Len  Value
+-----+-----+-----+
|  52 |  1  |1/2/3|
+-----+-----+-----+


9.4 Имя сервера TFTP

Эта опция используется для указания сервера TFTP, когда поле sname в заголовке DHCP служит для записи опций.

Поле code для этой опции имеет значение 66, а минимальный размер составляет 1 октет.

 Code  Len   TFTP server
+-----+-----+-----+-----+-----+---
| 66  |  n  |  c1 |  c2 |  c3 | ...
+-----+-----+-----+-----+-----+---


9.5 Имя загрузочного файла

Эта опция используется для указания загрузочного файла, когда поле file в заголовке DHCP служит для записи опций.

 Code  Len   Bootfile name
+-----+-----+-----+-----+-----+---
| 67  |  n  |  c1 |  c2 |  c3 | ...
+-----+-----+-----+-----+-----+---


Поле code для этой опции имеет значение 67, а минимальный размер составляет 1 октет.

9.6. Тип сообщения DHCP

Эта опция служит для указания типа сообщения DHCP. Поле code имеет значение 53, а размер опции составляет 1 октет. Разрешённые коды типов сообщений приведены в таблице.

Значение

Тип сообщения

1

DHCPDISCOVER

2

DHCPOFFER

3

DHCPREQUEST

4

DHCPDECLINE

5

DHCPACK

6

DHCPNAK

7

DHCPRELEASE

8

DHCPINFORM

 Code   Len  Type
+-----+-----+-----+
|  53 |  1  | 1-9 |
+-----+-----+-----+


9.7. Идентификатор сервера

Эта опция используется в сообщениях DHCPOFFER и DHCPREQUEST, а также может включаться в сообщения DHCPACK и DHCPNAK. Сервер DHCP включает эту опцию в DHCPOFFER для того, чтобы обеспечить клиенту возможность различать предложения аренды. Клиенты DHCP используют содержимое поля server identifier в качестве адреса получателя всех сообщений DHCP, направляемых по индивидуальному адресу сервера DHCP. Клиенты DHCP также указывают, какое из предложений аренды было принято, включая эту опцию в сообщение DHCPREQUEST. Идентификатором является IP-адрес выбранного сервера.

Поле code для этой опции имеет значение 54, а её размер составляет 4 октета.

 Code   Len            Address
+-----+-----+-----+-----+-----+-----+
|  54 |  4  |  a1 |  a2 |  a3 |  a4 |
+-----+-----+-----+-----+-----+-----+


9.8. Список запрашиваемых параметров

Опция используется клиентом DHCP для запроса значений указанных конфигурационных параметров. Список параметров даётся в виде n октетов, каждый из которых указывает код опции DHCP, определённой в этом документе. Клиент может перечислять опции в порядке предпочтения. От сервера DHCP не требуется возвращать опции в запрошенном порядке, но он должен попытаться вставить опции в запрошенном клиентом порядке.

Поле code для этой опции имеет значение 55, а минимальный размер составляет 1 октет.

 Code   Len   Option Codes
+-----+-----+-----+-----+---
|  55 |  n  |  c1 |  c2 | ...
+-----+-----+-----+-----+---


9.9. Сообщение

Эта опция используется сервером DHCP для предоставления клиенту информации об ошибке в сообщении DHCPNAK при возникновении отказа. Клиент может использовать эту опцию в сообщении DHCPDECLINE для указания причины отказа от предложенных параметров. Сообщение включает n октетов текста NVT ASCII, который клиент может вывести на доступное устройство отображения.

Поле code для этой опции имеет значение 56, а минимальный размер составляет 1 октет.

 Code   Len     Text
+-----+-----+-----+-----+---
|  56 |  n  |  c1 |  c2 | ...
+-----+-----+-----+-----+---


9.10. Максимальный размер сообщения DHCP

Эта опция задаёт максимальный размер сообщений DHCP, которые будут восприниматься. Размер задаётся 16-битовым целым числом без знака. Клиент может использовать опцию максимального размера сообщений DHCP в своих сообщениях DHCPDISCOVER и DHCPREQUEST, но не следует указывать её в сообщениях DHCPDECLINE.

 Code   Len     Length
+-----+-----+-----+-----+
|  57 |  2  |  l1 |  l2 |
+-----+-----+-----+-----+


Поле code для этой опции имеет значение 57, а её размер составляет 2. Минимальное пригодное значение поля составляет 576 октетов.

9.11. Значение времени Renewal (T1)

Эта опция задаёт временной интервал с момента назначения адреса клиенту, по истечении которого клиент переходит в состояние RENEWING. Время задаётся в секундах 32-битовым целым числом без знака.

Поле code для этой опции имеет значение 58, а её размер составляет 4 октета.

 Code   Len         T1 Interval
+-----+-----+-----+-----+-----+-----+
|  58 |  4  |  t1 |  t2 |  t3 |  t4 |
+-----+-----+-----+-----+-----+-----+


9.12. Значение времени Rebinding (T2)

Эта опция задаёт временной интервал с момента назначения адреса клиенту, по истечении которого клиент переходит в состояние REBINDING. Время задаётся в секундах 32-битовым целым числом без знака.

Поле code для этой опции имеет значение 59, а её размер составляет 4 октета.

 Code   Len         T2 Interval
+-----+-----+-----+-----+-----+-----+
|  59 |  4  |  t1 |  t2 |  t3 |  t4 |
+-----+-----+-----+-----+-----+-----+


9.13. Идентификатор класса производителя

Эта опция используется клиентами DHCP для указания типа производителя и конфигурации клиента DHCP. Информация задаётся строкой из n октетов, интерпретируемых сервером. Производители могут определять свои идентификаторы классов для передачи определённой конфигурации или других идентификационных данных клиента. Например, идентификатор может представлять аппаратную конфигурацию клиента. Серверы, не способные интерпретировать относящуюся к определённому классу информацию клиента, должны игнорировать её (хотя могут сообщать об этом). При ответе серверам следует использовать только опцию 43 для возврата клиенту фирменной информации производителя.

Поле code для этой опции имеет значение 60, а минимальный размер составляет 1 октет.

Code   Len   Vendor class Identifier
+-----+-----+-----+-----+---
|  60 |  n  |  i1 |  i2 | ...
+-----+-----+-----+-----+---


9.14. Идентификатор клиента

Эта опция служит клиентам DHCP для задания своего уникального идентификатора. Серверы DHCP используют значение опции в качестве индекса в своей базе данных о привязках. Предполагается уникальность значений для всех клиентов в рамках административного домена. Серверам DHCP следует трактовать идентификаторы, как неинтерпретируемые. Идентификатор клиента может содержать пары «тип-значение» вроде полей htype/chaddr, определённых в [3]. Например, он может содержать тип оборудования и аппаратный адрес. В этом случае в качестве типа следует указывать один из аппаратных типов ARP, определённых в STD2 [22]. Тип оборудования 0 следует указывать в тех случаях, когда поле значения содержит идентификатор, не являющийся аппаратным адресом (например, полное доменное имя).

Для корректной идентификации клиентов client-identifier каждого клиента должен быть уникален в рамках подсети, к которой клиент подключён. За выбор уникальных идентификаторов для каждого клиента отвечают производители и системные администраторы.18

Поле code для этой опции имеет значение 61, а минимальный размер составляет 2 октета19.

Code   Len   Type  Client-Identifier
+-----+-----+-----+-----+-----+---
|  61 |  n  |  t1 |  i1 |  i2 | ...
+-----+-----+-----+-----+-----+---


10. Определение новых расширений

Авторам новых опций DHCP нужно следовать приведённым ниже рекомендациям для включения опции в процесс стандартизации DHCP (Internet Standard).

  1. Автор разрабатывает новую опцию.

  2. Для новой опции автор запрашивает номер, обратившись в IANA по адресу

    Internet Assigned Numbers Authority (IANA)
    USC/Information Sciences Institute
    4676 Admiralty Way
    Marina del Rey, California 90292-6695

    или по электронной почте iana@iana.org

  3. Автор описывает новую опцию с полученным для неё номером в документе Internet Draft.

  4. Автор представляет Internet Draft в обычный процесс стандартизации IETF в соответствии с Internet Official Protocol Standards (STD 1). Новая опция может быть принята в качестве Internet Standard.

  5. Новая опция проходит процесс стандартизации IETF и будет рассмотрена рабочей группой Dynamic Host Configuration (если группа продолжит работу) или представлена как Internet Draft не от рабочей группы IETF.

  6. Если новая опция не будет принята как Internet Standard, выделенный ей номер возвращается IANA.

    Такая процедура определения новых расширений гарантирует:

    • согласованное выделение номеров опций одной организацией;

    • рассмотрение новых опций с точки зрения корректности и применимости;

    • полноту документирования и публикации для новых опций.

11. Благодарности

Авторы признательны множеству (слишком много для перечисления!) участников рабочей группы DHC за их неустанную работу по развитию DHCP и подготовке этого документа.

Спасибо J. Allard, Mike Carney, Dave Lapp, Fred Lien и John Mendonca за организацию тестирования функциональной совеместимости DHCP.

Разработка этого документа частично поддерживалась в рамках гранта Corporation for National Research Initiatives (CNRI), Bucknell University и Sun Microsystems.

12. Литература

[1] Droms, R., “Dynamic Host Configuration Protocol”, RFC 2131, Bucknell University, March 1997.

[2] Reynolds, J., “BOOTP Vendor Information Extensions”, RFC 1497, USC/Information Sciences Institute, August 1993.

[3] Croft, W., and J. Gilmore, “Bootstrap Protocol”, RFC 951, Stanford University and Sun Microsystems, September 1985.

[4] Braden, R., Editor, “Requirements for Internet Hosts – Communication Layers”, STD 3, RFC 1122, USC/Information Sciences Institute, October 1989.

[5] Mogul, J., and J. Postel, “Internet Standard Subnetting Procedure”, STD 5, RFC 950, USC/Information Sciences Institute, August 1985.

[6] Postel, J., and K. Harrenstien, “Time Protocol”, STD 26, RFC 868, USC/Information Sciences Institute, SRI, May 1983.

[7] Postel, J., “Name Server”, IEN 116, USC/Information Sciences Institute, August 1979.

[8] Mockapetris, P., “Domain Names – Implementation and Specification”, STD 13, RFC 1035, USC/Information Sciences Institute, November 1987.

[9] Postel, J., “Quote of the Day Protocol”, STD 23, RFC 865, USC/Information Sciences Institute, May 1983.

[10] McLaughlin, L., “Line Printer Daemon Protocol”, RFC 1179, The Wollongong Group, August 1990.

[11] Accetta, M., “Resource Location Protocol”, RFC 887, CMU, December 1983.

[12] Mogul, J. and S. Deering, “Path MTU Discovery”, RFC 1191, DECWRL, Stanford University, November 1990.

[13] Deering, S., “ICMP Router Discovery Messages”, RFC 1256, Xerox PARC, September 1991.

[14] Leffler, S. and M. Karels, “Trailer Encapsulations”, RFC 893, U. C. Berkeley, April 1984.

[15] Hornig, C., “Standard for the Transmission of IP Datagrams over Ethernet Networks”, RFC 894, Symbolics, April 1984.

[16] Postel, J. and J. Reynolds, “Standard for the Transmission of IP Datagrams Over IEEE 802 Networks”, RFC 1042, USC/Information Sciences Institute, February 1988.

[17] Sun Microsystems, “System and Network Administration”, March 1990.

[18] Mills, D., “Internet Time Synchronization: The Network Time Protocol”, RFC 1305, UDEL, March 1992.

[19] NetBIOS Working Group, “Protocol Standard for a NetBIOS Service on a TCP/UDP transport: Concepts and Methods”, STD 19, RFC 1001, March 1987.

[20] NetBIOS Working Group, “Protocol Standard for a NetBIOS Service on a TCP/UDP transport: Detailed Specifications”, STD 19, RFC 1002, March 1987.

[21] Scheifler, R., “FYI On the X Window System”, FYI 6, RFC 1198, MIT Laboratory for Computer Science, January 1991.

[22] Reynolds, J., and J. Postel, “Assigned Numbers”, STD 2, RFC 1700, USC/Information Sciences Institute, July 1992.

13. Вопросы безопасности

Вопросы безопасности не рассматриваются в этом документе.

14. Адреса авторов


Перевод на русский язык

Николай Малых

nmalykh@protokols.ru

1Ссылка утратила актуальность. Действующий список опций можно получить здесь. Прим. перев.

2Bootstrap Protocol – протокол начальной загрузки.

3Использование этой опции отменено RFC 4833.

4Coordinated Universal Time – координированное универсальное время.

5Domain Name System – система доменных имён.

6Time-to-live – время жизни.

7В RFC 3442 использование этой опции было отменено. Прим. перев.

8Network Information Service – сетевая информационная служба.

9Network Time Protocol – протокол сетевого времени.

10NetBIOS datagram distribution – распространение дейтаграмм NetBIOS.

11Network Information Service+ – сервер сетевой информации.

12Simple Mail Transport Protocol – простой протокол доставки почты.

13Post Office Protocol – протокол «постового офиса».

14Network News Transport Protocol – протокол доставки сетевых новостей.

15World Wide Web – всемирная паутина.

16Internet Relay Chat.

17StreetTalk Directory Assistance.

18В соответствии с RFC 4361 этот и предшествующий абзац заменены текстом «Идентификатор клиента состоит из поля типа, которое обычно имеет значение 255, за которым следует 4-байтовое поле IA_ID, а затем значение DUID для клиента в соответствии с определением раздела 9 в RFC 3315». Прим. перев.

19В соответствии с RFC 4361 текст «а минимальный размер составляет 2 октета» удалён. Прим. перев.

Запись опубликована в рубрике RFC. Добавьте в закладки постоянную ссылку.