Таким образом, агент ретрансляции имеет внутренний IP-адрес, который является частью подсети. Агент ретрансляции также находится на маршрутизаторе. Я думаю, что это может также быть на коммутаторе, который поддержал бы мою теорию, что агент DHCP строго позади шлюза.

Агент ретрансляции DHCP получает сообщения об обнаружении и запросе DHCP, передаваемые на ПК, и направляет их непосредственно на сервер DHCP.

Многие источники, подобные этому (см. Https://www.netmanias.com/en/post/techdocs/6000/dhcp-network-protocol/understanding-dhcp-relay-agents) говорят об агенте ретрансляции, как будто он находится в передняя часть шлюза, или используется вместо шлюза.

Насколько я понимаю, агент ретрансляции обнаруживает пакеты с исходными IP-адресами 0.0.0.0, заменяет их исходным IP-адресом агента ретрансляции и IP-адресом назначения на DHCP-сервере, а затем передает его в очередь выхода на шлюзе. Поскольку шлюз и хост должны находиться в одной подсети (в отличие от рисунка 2), шлюз может оставить исходный IP-адрес агента ретрансляции неизменным и добавить свой MAC-адрес. Когда сервер DHCP отправляет обратно предложение на IP-адрес ретранслятора, оно должно быть принято шлюзом, так как он находится в той же подсети. Я понятия не имею, почему на рисунке 2 показано изменение исходного IP-адреса на IP-адрес шлюза, когда он не нужен, поскольку все шлюзы в домене-заглушке используют адреса RFC 1918 и, следовательно, NAT отсутствует.

Может ли кто-нибудь подтвердить это, если у меня возникнут какие-либо заблуждения?

1 ответ1

1

почему на рисунке 2 показано изменение IP-адреса источника на IP-адрес шлюза

Рисунок 2 фактически изменяет исходный IP-адрес на IP -адрес агента ретрансляции, который, по совпадению, также является шлюзом.

И агент ретрансляции делает не NAT-уровень, а проксирование на уровне приложения. Задача агента ретрансляции DHCP состоит не в том, чтобы просто пересылать пакеты на уровне IP (как это делают маршрутизаторы), а в том, чтобы фактически получать и обрабатывать их, а затем генерировать новые к другой стороне.

(В этом отношении DHCP в целом полностью независим от IP-маршрутизации / шлюза. Любое устройство, подключенное к подсети, может выступать в качестве DHCP-сервера или агента ретрансляции.)

Таким образом, поскольку два пакета (исходный и прокси) полностью независимы, а изображенный агент ретрансляции действительно является шлюзом с несколькими интерфейсами, для выбора поля «IP-адрес источника» используются разные алгоритмы, нежели «агент ретрансляции» DHCP. поле.

Поле «Агент ретрансляции» DHCP всегда является адресом, принадлежащим интерфейсу, который получил исходный запрос 1a обнаружение или 3a . Это позволяет одному устройству выступать в качестве агента ретрансляции для нескольких подсетей одновременно - каждый локальный интерфейс использует свой «адрес агента».

Поле IP «Source address», однако, не заботится о DHCP. Что касается стека IP, 1b или 3b - это новая дейтаграмма UDP, которую агент ретрансляции хочет отправить. Таким образом, после определения маршрута алгоритм выбора IP-адреса источника обычно выбирает адрес, принадлежащий исходящему интерфейсу. Это так же хорошо, как и любой.

(Для IPv4 это также возможно зависит от реализации). Но вы правы, что любой адрес будет работать, если DHCP-сервер знает, куда доставить ответ.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .