основываясь на ваших комментариях, я думаю, вы неправильно понимаете агенты ретрансляции DHCP и параметр DHCP 82. Я объясню это ниже.
вы должны понимать разницу между layer-2 (MAC) адресами и layer-3 (IP) адресами, и как они используются.
адреса уровня 2 используются в локальной сети для доставки кадры от одного хоста в локальной сети непосредственно к другому хосту в локальной сети. Кадры уровня 2 имеют адреса уровня 2 (MAC) источника и назначения. Хозяин отправки Хост на той же самой LAN будет использовать layer-2 (MAC) адрес хоста назначения в качестве уровня назначения-2 (MAC) адрес, и протокол уровня 2 (ethernet) поставит кадры непосредственно хостам назначения. Хост отправки кадры из одной локальной сети в другую LAN будет использовать layer-2 (MAC) адрес настроенного шлюза (маршрутизатора) в качестве целевого layer-2 (MAC) адреса. Отправляющий хост ничего не знает о том, как ethernet делает это (через прямое соединение, коммутатор, концентратор или что-нибудь еще); он только знает, что он посылает кадры out его интерфейс. Это означает, что хост не знает ни о каких коммутаторах или портах коммутатора в локальной сети.
Layer-2 (MAC) имеет специальный широковещательный адрес (ff-ff-ff-ff-ff-ff), что означает кадры С этим адресом доставляются на все хосты в локальной сети. запрос DHCP использует этот широковещательный адрес в качестве адреса назначения уровня 2 (MAC), поэтому каждый хост в локальной сети, включая DHCP-сервер, получит его. Layer-2 кадры существуют только в локальной сети, в которой они были созданы (описано ниже), поэтому это представляет проблему для широковещательных сообщений, включая запросы DHCP, поскольку они не могут быть отправлены из локальной сети в другую локальную сеть. Именно поэтому были созданы агенты ретрансляции DHCP и DHCP опция 82.
адреса уровня 3 используются для доставки пакетов от одной локальной сети к другой локальной сети, и они имеют адреса источника и назначения уровня 3 (IP). Когда маршрутизатор получает Уровень 2 рама С ним адрес слоя-2 (МАК), он обнажает и сбросит слой-2 рама, включая layer-2 (MAC) адреса, чтобы выставить layer-3 пакета. Маршрутизатор будет смотреть на уровень 3 (IP) адрес назначения и сравнивать его с целевыми сетями в его таблице маршрутизации. Если if находит, что layer-3 (IP) address совпадает с одной из сетей в его таблице маршрутизации, это передаст пакета к следующему интерфейсу, и он будет создать новый слой-2 рама для протокола нового интерфейса, который может или не может использовать MAC-адреса, но адреса уровня 2 для нового уровня-2 рама будет для нового интерфейса; весь предыдущий слой-2 рама информация была отброшена.
когда хост отправляет запрос DHCP, он отправляется на широковещательный адрес уровня 2 (MAC) в рама и широковещательный адрес уровня 3 (IP) (255.255.255.255
, что не допускается для маршрутизации) в пакета. Если DHCP-сервер находится в той же локальной сети, что и запрашивающий узел, это работает хорошо, поскольку DHCP-сервер получает запрос. Затем DHCP-сервер отправит предложение DHCP обратно запрашивающему узлу. В зависимости от того, как сервер DHCP настроен, это может передать его к широковещательному адресу уровня 2 (MAC) или адресу хоста уровня 2 (MAC), потому что это изучило это от запроса DHCP уровня 2 рама. Это также хорошо работает, если DHCP-сервер и запрашивающий хост находится в той же локальной сети. Специальные параметры DHCP не требуются.
проблема возникает, когда DHCP-сервер и запрашивающий хост находятся в разных локальных сетях. DHCP не работает, потому что они не могут передавать друг другу, и запрашивающего узла уровня 2 (MAC) адрес не подходит для локальной сети DHCP-сервера. На самом деле уровень запрашивающего хоста-2 (MAC) адрес будет удален на первом маршрутизаторе.
для решения этой проблемы были созданы агенты ретрансляции DHCP. протокол DHCP агент ретрансляции настроен на интерфейсе локальной сети маршрутизатора. Маршрутизатор получит запрос DHCP, потому что он передается широковещательному адресу уровня 2 (MAC). Агент ретрансляции DHCP настроен с адресами уровня 3 (IP) одного или нескольких серверов DHCP. Это потому, что DHCP-серверов на другие Ланс. Агент ретрансляции DHCP примет широковещательный запрос DHCP и упакует его в layer-3 пакета и отправить его в локальные сети, где находятся DHCP-серверы.
следующая проблема возникает, когда DHCP-сервер должен отправить обратно предложение DHCP. Это обычно передавало бы его к широковещательному адресу уровня 2 (MAC) или уровню 2 (MAC) исходный адрес, замеченный в запросе DHCP рама в локальной сети DHCP-сервера, но запрашивающий хост находится не там. Это не будет работать, поскольку запрашивающий узел находится в другой локальной сети. Это-то, где опция 82 DHCP входит.
параметр DHCP 82 позволяет агенту DHCP-ретрансляции сообщить DHCP-серверу отправить предложение DHCP вернуться к нему, вместо того, чтобы доставить его в локальной сети, где DHCP-сервер, как обычно. Это цепь, на которую вы ссылаетесь в своих комментариях.
Как вы можете видеть, DHCP работает хорошо, когда и сервер DHCP, и запрашивающий хост находятся в той же локальной сети, и DHCP не требует агента ретрансляции DHCP или опции DHCP 82 в этом случае. Агенты ретрансляции DHCP и параметр DHCP 82 были позже добавлены в DHCP как способ централизации DHCP-серверов в локальной сети, которая отличается от локальной сети, где запрашивающие хозяева. С помощью агент ретрансляции DHCP и DHCP опция 82, когда оба DHCP-сервера и запрашивающий узел локальной сети не имеет смысла, и они на самом деле добавлять ненужные сложности на DHCP процесс, но они имеют существенное значение для ситуации, когда DHCP-сервер и запрашивающий узел находятся в разных локальных сетях.
Edit:
рассмотрим такой сценарий:
Я хотел бы, чтобы мой DHCP-сервер назначение IP-адресов клиентам
к какому порту подключен клиент. Если клиент находится на Порту 1, я бы
как это IP, чтобы быть 192.168.0.1, клиент, подключенный к порту 2 должен
вам 192.168.0.2 и так далее. Теперь нам нужна информация с коммутатора.
Это может быть сделано SNMP, но это, вероятно, будет медленным. Так что если
сообщение DHCP DISCOVER содержало порт? Да, вот где вариант
82 приходит в игру. Идентификатор канала может содержать порт. И это
что делают переключатели. Тот опция 82 вставок коммутатора в сообщениях DHCP
и пересылает сообщения DHCP-серверу.
Как я объяснил в своих комментариях, коммутатор является прозрачным устройством, и как DHCP-сервер, так и хосты, подключенные к коммутатору, не знают о коммутаторе или портах коммутатора. Это не то, как работает DHCP-сервер, и DHCP не назначается так, как вы хотели бы, и если вы должны были переместить хост из одного порта коммутатора в другой во время его аренды DHCP, он все равно получит тот же IP адрес, поскольку он основан на его MAC-адрес.
DHCP использует области в качестве пулов, из которых можно выбрать IP-адреса для назначения MAC-адресам. Так как сервер DHCP и хосты не знают даже о том, используется ли коммутатор, у вас не может быть DHCP, назначают адреса, используя метод, который вы хотели бы.
Если ваша забота знает, какой IP-адрес назначен на какой порт коммутатора, вы можете найти эту информацию, сравнивая назначения MAC/IP-адресов DHCP (говорит вам какой IP-адрес назначен, к которому MAC-адрес) и таблица MAC-адресов коммутатора (говорит вам, к какому порту коммутатора подключен MAC-адрес).