воскресенье, октября 21, 2012

Протокол DHCP


Ранее, мы с вами уже обсуждали вопрос установки IP адреса. Как вы помните, это делалось совершенно не трудно и занимало от силы пару минут. Но что если вам требуется задать IP адрес не одному и не двум компьютерам, а скажем ста. Что делать тогда? Битый час сидеть и вбивать IP адреса на каждой из машин? Конечно же нет, ученые умы уже давно придумали как упростить этот процесс, и разработали протокол DHCP. Именно о нем мы сегодня с вами и поговорим.

Название протокола DHCP (Dynamic Host Configuration Protocol) дословно расшифровывается как «Протокол динамической конфигурации хоста». Данный протокол работает на прикладном уровне модели OSI и позволяет компьютерам сети получать ряд настроек (в том числе IP адрес) от расположенного в сети DHCP сервера. Как уже становится понятно все устройства в сети, при работе с  протоколом DHCP можно разделить на два вида: DHCP сервера и DHCP клиенты. DHCP клиенты пытаются получить настройки, а DHCP сервера выдают их.

Рассмотрим как работает данный протокол, на примере следующей топологии сети.
На примере данной сети мы рассмотри работу протокола DHCP
Пусть у нас имеется некоторая сеть, в которой существует DHCP сервер. Все компьютеры и DHCP сервер связываются друг с другом через коммутатор. К данной сети подключают еще один новый компьютер. Зная что в сети существует DHCP сервер, в его настройках указывают получать IP адрес автоматически. После этого новый компьютер попытается получить IP адрес от DHCP сервера.  Для этого он выполняет широковещательный запрос на IP адрес 255.255.255.255, а в качестве своего IP адреса указывает 0.0.0.0 (так как у него еще нет IP адреса). В ходе данного широковещательного запроса рассылается сообщение DHCPDISCOVER, данное сообщение содержит в себе информацию позволяющую отличить его от других типов запросов/сообщений (тоесть указывает на то, что это сообщение предназначено для DHCP сервера, для получения IP адреса), MAC адрес устройства сформировавшего запрос, а также предыдущий IP адрес устройства (если он у него был).
Процесс рассылки сообщения DHCPDISCOVER
Так как сообщение DHCPDISCOVER рассылается широковещательным способом, оно попадает не только на DHCP сервер, но и на другие устройства данного сегмента сети, но так как в сообщение DHCPDISCOVER указывается, что оно предназначено только для DHCP сервера, остальные устройства сети отвергают данное сообщение.





При получении сообщения DHCPDISCOVER DHCP сервером, он анализирует его содержание и в соответствии со своими настройками выбирает подходящую конфигурацию для запросившего компьютера и отправляет ее обратно в сообщении DHCPOFFER. Обычно сообщение DHCPOFFER отсылается только на MAC адрес компьютера, который был указан в сообщении DHCPDISCOVER, но иногда оно может рассылаться и методом широковещательной рассылки.
DHCP сервер отвечает сообщением DHCPOFFER
В случае если в сети существует несколько DHCP серверов компьютер может получить в ответ на сообщение DHCPDISCOVER несколько сообщений DHCPOFFER от разных DHCP серверов. Из них компьютер выбирает одно, обычно полученное первым. И отвечает на него сообщением DHCPREQUEST, которое содержит в себе всю туже информацию, что и сообщение DHCPDISCOVER + IP адрес выбранного DHCP сервера. Сообщение DHCPREQUEST рассылается широковещательным методом, для того чтобы его могли получить все DHCP сервера сети, если их несколько.
Рассылка сообщения DHCPREQUEST
Все устройства сети, не являющиеся DHCP серверами игнорируют сообщение DHCPREQUEST. DHCP сервера, IP адрес которых не содержится в сообщении DHCPREQUEST понимают, что их не выбрали в качестве DHCP сервера. DHCP сервер IP адрес которого указан в сообщении DHCPREQUEST получает его и понимает, что именного его выбрали в качестве DHCP сервера для нового компьютера, на что он отвечает сообщением DHCPACK, которое как бы подтверждает данный выбор. Сообщение DHCPACK отправляется на MAC адрес компьютера указанного в сообщении DHCPREQUEST.
Отсылка подтверждающего сообщения DHCPACK
Компьютер, запрашивающий конфигурацию, получает сообщения DHCPACK. И применяет конфигурацию, которая была получена в сообщении DHCPOFFER. Вот так путем несложного обмена сообщениями функционирует протокол DHCP.

DHCP сервер может быть настроен по разному, и в зависимости от его конфигурации он будет выдавать IP адреса, запрашивающим компьютерам разными способами. Например, можно настроить DHCP сервер так, чтобы он выдавал запросившим компьютерам любые свободные IP адреса из некоторого диапазона, а можно настроить так, чтобы он выдавал определенные IP адреса устройствам с заданными MAC адресами. В общем все зависит от конфигурации.

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

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

13 коммент.:

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

Пожалуйста, очень рад что Вам понравилось.

Спасибо что читаете!

Спасибо,вы прям прирожденный докладчик)

Спасибо, и за доступные lab-ы тоже.

Спасибо за доступное изложение

Материал - супер!

Спасибо Егор, очень ценный материал )

Отправить комментарий