DHCP-клиент

DHCP-клиент

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

Служба DHCP-клиент использует около 20 Кбайт памяти и запускается с правами локальной системы (Local System) автоматически при каждом входе пользователя в систему (при этом она запускается как часть процесса svchost.exe).

ПРИМЕЧАНИЕ

Как правило, существует три основных учетных записи, с правами которых запускаются службы. Это учетная запись локальной системы (Local System), локальной службы (NT AUTHORITYLocalService), а также учетная запись сетевой службы (NT AUTHORITYNetworkService). Учетная запись локальной системы обладает максимальными правами на доступ к компонентам операционной системы (создание учетных записей администраторов, редактирование любых ветвей реестра, а также доступ к любым файлам и папкам файловой системы). Учетные записи локальной и сетевой служб обладают всеми правами, доступными группе Пользователи. 

Как уже говорилось выше, данная служба необходима только в том случае, если существует сеть и в этой сети есть хотя бы один DHCP-сервер. Согласитесь, не многим домашним компьютерам может понадобиться служба DHCP-клиент, поэтому ее запуск можно отключить. Для этого необходимо DWORD-параметру Start, расположенному в ветви системного реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDhcp, присвоить значение 4.

ПРИМЕЧАНИЕ

Не обязательно для отключения служб пользоваться реестром — намного легче это сделать с помощью консоли services.msc, речь о которой пойдет в следующей главе книги. Для остановки/запуска службы можно воспользоваться следующими командами программы net: Net start — запустить службу; Net stop — остановить службу; Net pause — приостановить службу; Net continue — продолжить работу приостановленной службы.

В качестве параметра запуска все эти команды требуют для своей работы указания имени службы (команду net start можно запускать и без указания запускаемой службы, в этом случае она отобразит список всех запущенных в данный момент служб).

Имя службы является названием раздела реестра, в котором содержатся параметры настройки службы. Например, для службы DHCP-клиент раздел реестра называется Dhcp (другими словами, чтобы запустить службу DHCP-клиент, нужно воспользоваться командой net start dhcp). А чтобы запустить рассматриваемую далее службу DNS-клиент, которая хранит свои настройки в разделе реестра DNSCACHE, нужно воспользоваться командой net start dnscache. 

Для запуска службы DHCP-клиент нужно, чтобы также были запущены следующие службы: Драйвер протокола TCP/IP (для его работы необходима служба Драйвер IPSEC), AFD и NetBios через TCP/IP (для его работы требуется служба Драйвер протокола TCP/IP). Для запуска этих служб также необходимо воспользоваться DWORD-параметром Start, которому нужно присвоить значение 0 (запускать службу при загрузке системы), 1 (запускать службу при инициализации операционной системы), 2 (запускать службу автоматически) или 3 (запускать службу вручную). Этот параметр должен находиться в следующих ветвях реестра:

? HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesAFD — для службы AFD (параметр Start должен иметь значение 1);

? HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpip — для службы Драйвер протокола TCP/IP (параметр Start должен иметь значение 1);

? HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesIPSec — для службы Драйвер IPSEC (параметр Start должен иметь значение 1);

? HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNetBT — для службы NetBios через TCP/IP (параметр Start должен иметь значение 1).

Для работы службы DHCP-клиент также необходима библиотека dhcpcsvc.dll.

ПРИМЕЧАНИЕ

Как правило, сведения о необходимой для работы службы библиотеки находятся в параметре строкового типа ServiceDll, расположенном в разделе Parameters ветви реестра, содержащей настройки службы. В этом разделе также может храниться DWORD-параметр ServiceDllUnloadOnStop. Если его значение равно 1, то при остановке службы из памяти будет выгружаться библиотека, необходимая для ее работы.