Зависят ли DHCP и IP друг от друга?

Зависят ли DHCP и IP друг от друга?

DHCP — это протокол на прикладном уровне, поэтому он должен зависеть от протокола IP на сетевом уровне. Но протокол IP требует назначения IP-адресов сетевым интерфейсам, что является работой DHCP. Зависят ли DHCP и IP друг от друга и, следовательно, требуют существования друг друга заранее? Как работает эта циклическая зависимость?

решение1

DHCP — это протокол на прикладном уровне, поэтому он должен зависеть от протокола IP на сетевом уровне. Но протокол IP требует назначения IP-адресов сетевым интерфейсам, что является работой DHCP. Зависят ли DHCP и IP друг от друга и, следовательно, требуют существования друг друга заранее? Как работает эта циклическая зависимость?

Это нежесткийзависимость; DHCP существует только для удобства пользователя, а IP(v4) существовал задолго до DHCP (или BOOTP, или RARP). Хосты могут иметь свой IP-адрес, настроенный вручную или любым другим способом 1 без DHCP.

Но DHCP на IPv4 работает несколько необычно — в отличие от других (обычных) протоколов на основе UDP, DHCP-клиенту разрешено отправлять пакеты с «нулевого» адреса, 0.0.0.0пока у хоста еще нет действительного IP-адреса.

(Чтобы увидеть это, установите Wireshark или другой инструмент для перехвата пакетов.)

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

В IPv6 ситуация иная, поскольку каждый интерфейс с поддержкой IPv6 автоматически имеет «локальный для канала» адрес IPv6 (адрес fe80:…), поэтому хост может просто использовать его для отправки и получения своих пакетов DHCPv6 или запросов маршрутизатора ICMPv6 или чего-либо еще, необходимого для настройки.


1 Некоторые типы соединений имеют собственные механизмы настройки: например, все, что использует PPP — например, PPPoE для ADSL или PPTP VPN, или старый добрый dial-up — будет использовать интегрированную конфигурацию PPP вместо DHCP. Мобильные сети также делают свое дело. И обычно все такие механизмы используются только для соединений «пользователя», тогда как «основные» соединения между маршрутизаторами почти всегда используют вручную настроенные IP-адреса.

Связанный контент