Протокол DHCP

DHCP (Dynamic Host Configuration Protocol) е динамичен протокол, осигуряващ IP конфигурационни параметри на устройства, като хостове или шлюзове. Тези параметри включват локален IP адрес, адрес на шлюз, DNS (Domain Name Service) адреси и много други. DHCP използва точно същите стойности за UDP(67 за DHCP сървър и 68 за DHCP клиент).

Действие на DHCP:

Протоколът DHCP е базиран на архитектурата клиент/сървър. Клиентите изпращат запитвания, а в отговорите сървърите изпращат конфигурационни параметри. DHCP поддържа три метода за предоставяне на конфигурационна информация:

Автоматичен – Автоматичното предоставяне е постоянно предоставяне на конфигурационна информация, например задаване IP адрес на клиент.

Динамичен - Динамичното предоставяне позволява на DHCP сървър да предостави на клиент конфигурационна информация която да бъде използвана за зададен период от време (ограничено ползване), обикновено идентифициран с помощта на стойността на времето за лизинг. Това е най-разпространеният метод на предоставяне. Динамичното предоставяне е идеално, когато имате мобилни клиенти в група от устройства, които трябва да поделят едно обединение от адреси. Този метод за предоставяне работи чрез обратно получаване на неизползвани адреси и повторното им задаване на нови хостове, когато е необходимо. Това позволява по-ефективно използване на обединението от адреси.

Ръчен – Методът за ръчно разпределяне, както подсказва неговото име, изисква администраторът ръчно да зададе IP адрес на устройство.

Продължителност на лизинг

Администраторът може да конфигурира продължителността на лизинга, измерена в секунди, на DHCP сървъра. Стойността на лизинга варира в зависимост от имплементацията. Статичните асоциации на DHCP сървъра имат неограничени стойности за лизинг, тъй като асоциирането на хардуерен адрес с IP адрес е зададено твърдо и никога не се променя, освен при ръчно модифициране. Този конкретен адрес бива запазен постоянно за даден клиент.

Динамичното задаване на адреси обикновено включва време на лизинг, което указва    колко дълго даден клиент може да запази даден IP адрес. Ако клиентът остава постоянно активен, сървърът продължава да обновява този лизинг за използване от клиента. Но ако лизингът изтече, защото клиентът не може да контактува с DHCP сървър, клиентът прекратява използването на този IP адрес и не може да участва в мрежата. Ако това се случи, клиентът трябва отново да стартира четирифазовия процес на предоставяне, придобивайки нов IP адрес от DHCP сървър.

DHCP хедърът изглежда и функционира почти по същия начин като хедъра на ВООТР. За пълнота на изложението ще повторим значението на отделните полета.

Код на операция

Това поле задава типа на изпращаната DHCP дейтаграма. Стойност 1 означава DHCP запитване (изпращано от клиенти), а стойност 2 DHCP отговор (изпращан от сървъри).

Тип на хардуера

Това поле определя типа на хардуера (Ethernet, Token Ring или някакъв друг тип мрежа).

Дължина на хардуерния адрес

Поле задаващо дължината в байтове на хардуерния адрес, който DHCP очаква като резултат от преобразуването на адреси. Тази стойност варира в зависимост от типа на хардуера, указан в полето за тип на хардуера.

Скокове

Това незадължително поле показва, че клиентът извлича отдалечена информация за първоначално зареждане през един или повече маршрутизатори. Стойността му отговаря на броя на скоковете, които трябва да направи тази дейтаграма. Клиентът първоначално задава на това поле стойност 0.

Идентификатор на транзакция

Въпреки че DHCP е без установяване на връзка, той имплементира стойността на идентификатор на транзакция, която позволява на клиента да постигне съответствие между своето запитване и отговора на сървъра. Клиентът избира стойността на идентификатора случайно.

Секунди

При инициализация всеки клиент задава тази стойност на таймер, определяйки по този начин колко дълго ще чака за отговор от DHCP сървър. Ако DHCP клиентът не получи отговор в рамките на определено време, той се опитва да предаде запитването отново. Всъщност клиентът поддържа система от няколко таймера. Когато последният таймер изтече, настъпва таймаут на устройството, то не успява да се самоинициализира и не може да участва в мрежата.

Флагове

Полето Флагове показва дали дейтаграмата е изпратена като бродкастен или уникастен кадър.

IP адрес на клиент

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

Вашият IP адрес

В DHCP запитване, изпратено от клиент, са възможни следните ситуации:

Ако предишното поле (IP адрес на клиент) съдържа само нули, това поле също ще съдържа нули. Ако клиентът знае своя клиентски IP адрес и иска да продължи да използва този адрес, това поле ще съдържа същата стойност (оригиналния IP адрес, зададен от сървъра).
В DHCP отговора тази стойност ще бъде IP адреса, зададен от DHCP сървъра на този клиент.

IP адрес на сървър

Ако клиентът не знае адреса на сървъра, това поле ще съдържа само нули. Това е така когато даден клиент се инициализира за първи път или ако това е бездисков клиент без област за съхраняване. Ако клиентът е съхранил тази информация от предишно първоначално зареждане, това поле ще съдържа IP адреса на DHCP сървъра, към който е изпратено съобщението. Ако това е DHCP отговор, това поле съдържа IP адреса на DHCP сървъра, отговорил на запитването.

IP адрес на шлюз

Когато нов хост изпраща своето първоначално запитване, това поле трябва да съдържа само нули. Ако локален шлюз или препредаващ агент трябва да препрати запитването, за да открие отдалечен DHCP сървър, шлюзът или агентът, препращащи тази дейтаграма, добавят своя IP адрес. Ако DHCP клиентът е приел преди това своята конфигурация от отдалечен DHCP сървър и е съхранил тази информация, това поле ще съдържа IP адреса на шлюза или препредаващия агент, който е използвал преди това.

Хардуерен адрес на клиент

Това поле показва хардуерния адрес на DHCP клиента. Например ако DHCP клиентът има хардуерен Ethernet адрес, това поле ще съдържа 6-байтовия или 48-битовия уникален адрес, записан в постоянната памет на мрежовия контролер.

Име на сървър (Server Name)

Тази незадължителна стойност идентифицира DHCP сървъра по име. Стойността показва, че конкретен DHCP сървър може да отговори. Ако тази стойност е оставена празна, всеки сървър може да отговори. Име на файл за първоначално зареждане Тази незадължителна стойност идентифицира името на файла за първоначално зареждане, който DHCP клиентът може да поиска в запитване до DHCP сървъра, за да извлече конфигурационна информация, пренасяща параметри за отдалечена инициализация на хоста. Когато хостинг сървърът отговори, той идентифицира пълния път до файла за първоначално зареждане. Ако клиентът остави това поле празно, сървърът се опитва да свали подразбиращия се файл за първоначално зареждане за клиента. Ако не съществува подразбиращ се файл и това поле е празно, сървърът връща на клиента само основни параметри като IP адрес и адрес на шлюз, но не и файл за първоначално зареждане.

Опции

Това поле съдържа списък от параметри, искани от клиента или предоставени от сървъра

Коментарите са забранени.