Понимание протокола DHCP (часть 1)

Опубликовано: 24 Марта, 2023

DHCP и вы

Многие из обычных пользователей компьютеров сегодня уделяют очень мало внимания тому, как именно их компьютер выполняет свою работу. Это касается не только того, как ваш компьютер формирует пакеты для передачи информации, но и того, как он первоначально получает необходимую информацию, чтобы настроить себя для связи. В частности, такая информация, как его IP-адрес, DNS-серверы, которые он будет использовать, DNS-серверы для использования, среди других важных деталей, которые необходимы вашему компьютеру для доступа в Интернет.

Ну, что такое DHCP или как его обычно называют; Протокол динамического конфигурирования сервера. Проще говоря, это протокол, который передает вашему компьютеру его IP-адрес, DNS-серверы, IP-адрес шлюза (т. е. IP-адрес вашего маршрутизатора) и маску подсети. Для многих из нас, кто использует компьютеры в своей работе, эту информацию часто делает за нас системный администратор. Обычно системный администратор просто включает DHCP на маршрутизаторе, чтобы сэкономить время. Хотя в некоторых сетях, где безопасность вызывает определенные опасения, DCHP отключается по разным причинам. Я кратко коснусь некоторых из них чуть позже в этой статье. На этом этапе мы также должны понимать, что протокол BOOTP играет роль симбиоза с DHCP. Мы также увидим это позже в статье.

Если сетевой администратор отключил DHCP, то у него или у него будет гораздо больше ручных задач, поскольку им нужно будет вручную настроить каждый компьютер с необходимой информацией. Это может занять довольно много времени, и именно поэтому DHCP действительно включен на маршрутизаторе, чтобы упростить жизнь сетевому администратору. При этом DHCP не является исключением из почти де-факто модели клиент/сервер. Этот протокол следует ему так же, как почти любой другой протокол, например: Internet Explorer (клиент) на веб-сервер IIS (сервер). Обычно есть хорошо известные порты, связанные с такими службами, как DHCP. В этом случае он падает на два отдельных порта. В частности, у вас есть порт 67 UDP для DHCP-сервера и порт 68 UDP для хоста, то есть: хост DHCP будет отправлять свои сообщения с порта 68 на сервер DHCP через свой порт 68, используя транспортный протокол UDP. Наконец, когда дело доходит до протоколов, я всегда упоминаю, к какой части эталонной модели OSI они относятся. DHCP как таковой считается протоколом прикладного уровня.

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

  1. Он может автоматически выделять клиенту постоянный IP-адрес.
  2. Он может динамически выделять IP-адрес в течение конечного периода времени или до тех пор, пока DHCP-клиент не освободит IP-адрес.
  3. Распределение вручную, здесь сетевой системный администратор фактически вручную настраивает клиент (фактическая рабочая станция).

Что обычно используется в реальной сети? Обычно используется второй вариант, указанный выше. Это делается по разным причинам. Как правило, в большинстве корпоративных сетей сегодня присутствует небольшой и перегруженный работой ИТ-персонал. Наличие возможности разрешить маршрутизатору действовать в качестве DHCP-сервера для обработки распределения IP-адресов является довольно привлекательным. Переход к каждому новому компьютеру для ручной настройки, как правило, занимает слишком много времени, чтобы его можно было рассматривать как практичный вариант. В идеале DHCP не должен быть включен из-за его последствий для безопасности.

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

Тем не менее, с учетом вышесказанного, есть ли какие-либо общие утверждения, которые мы можем сделать в отношении самого DHCP и его применения в вашей сети? Конечно, есть, и, надеюсь, их запоминание подтолкнет вашу память к более мелким деталям самого протокола. Общая цель DHCP — предоставить сведения о конфигурации DHCP-клиентам. Это также предназначено для того, чтобы убедиться, что все используемые IP-адреса уникальны и что в вашей сети нет двух одинаковых IP-адресов. Если бы это было так, это вызвало бы довольно очевидные проблемы в вашей сети. Когда происходит перезагрузка клиента/рабочей станции, они должны сохранять те же параметры конфигурации, то есть: IP-адрес, информацию о DNS-сервере, маску подсети и тому подобное. Также он должен уметь работать со статически назначенными IP-адресами. Вы можете назвать эти цели проектирования DHCP, поскольку они представляют собой функциональные возможности, предоставляемые им.

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

Типы сообщений DHCP

  1. DHCPDISCOVER
    Этот тип сообщения DHCP используется клиентом DHCP для обнаружения серверов DHCP.
  2. DHCPOFFER
    Этот тип сообщения DHCP используется сервером DHCP для ответа на полученное сообщение DHCPDISCOVER, а также предлагает детали конфигурации в это время.
  3. DHCPREQUEST
    Это сообщение поступает от клиента на DHCP-сервер для передачи трех различных сообщений. Первый заключается в запросе сведений о конфигурации с одного конкретного DHCP-сервера и, в частности, отклонении предложений от любых других потенциальных DHCP-серверов. Во-вторых, его можно использовать для проверки ранее использовавшегося IP-адреса после перезагрузки системы. Наконец, его можно использовать для продления аренды определенного IP-адреса.

Есть и другие типы сообщений, но вы можете читать их отдельно, если хотите. Самое главное, что нужно понять, это то, что существует множество типов сообщений DHCP, которые можно отправлять. Каждый из них предоставляет клиенту или серверу различные функциональные возможности. Важно отметить, что изучение сетевых протоколов, хотя иногда и сухое, является ключом к более глубокому пониманию того, как взаимодействуют компьютеры. Если вы сможете усвоить основы межкомпьютерной связи, то вы значительно расширите свои знания в ключевой области, которая требуется от современного ИТ-специалиста. В заключительной части нашей серии статей о DHCP мы рассмотрим и обсудим два фактических пакета DHCP. В конце концов, как говорится, видишь, значит веришь, и всегда полезно иметь практический пример, который поможет закрепить усвоенные уроки. До тех пор!