DHCP

Vēsture

DHCP protokola standarts tika pieņemts 1993.gada oktobrī. Strādājoša pašreizējā protokola versija (pieņemta 1997.gada martā) ir aprakstīta 2131 RFC. Jaunā DHCP protokola versija ir paredzēta izmantošanai Ipv6 vidē, tās nosaukums ir DHCPv6 un tā ir noteikta RFC 3315 (2003.gada jūlijā).

Protokola uzbūve

DHCP protokols ir klienta-servera protokols, tas ir, viņa darbībā piedalās DHCP klients un DHCP serveris. Datu pārraide tiek veikta izmantojot UDP protokolu, serveris pieņem ziņojumus no klientiem uz 67. portu un sūta ziņojumus klientiem uz 68.portu.

Adreses saņemšanas procesa piemērs

Aplūkosim IP adreses iegūšanas piemēru, kad klients to iegūst no DHCP servera. Pieņemsim, ka klientam vēl nav savas IP adreses, bet tam ir zināma iepriekšējā IP adrese – 192.168.1.100. Process sastāv no četrām fāzēm.

DHCP piedāvājums

Saņemot ziņojumu no klienta, serveris nosaka vēlamo klienta konfigurāciju saskaņā ar tīkla administratora iestatījumiem. Šajā gadījumā DHCP serveris piekrīt klienta pieprasītajai IP adresei 192.168.1.100. Serveris nosūta klientam atbildi (DHCPOFFER), kurā piedāvā tam konfigurāciju. Klientam piedāvātā IP adrese tiek norādīta laukā yiaddr. Pārējie parametri ( maršrutētāja un DNS servera adreses) ir norādīti kā iespējas attiecīgajā laukā.
Šo ziņojumu DHCP serveris sūta resursdatoram (kurš sūtīja DHCPDISCOVER) uz tā MAC adresi. Klients var saņemt vairākus dažādus DHCP piedāvājumus no dažādiem serveriem, no kuriem tam ir jāizvēlas viens kurš to "apmierinās."

DHCP pieprasījums

Izvēloties vienu no DHCP servera piedāvātajām konfigurācijām, klients nosūta DHCP (DHCPREQUEST) pieprasījumu, pievienojot laukā iespējās īpaša iezīme – servera identifikators – kas norāda DHCP servera adresi, kuru izvēlējies klients (šajā gadījumā – 192.168.1.1).

DHCP apstiprināšana

Visbeidzot, serveris apstiprina pieprasījumu un nosūta apstiprinājumu (DHCPACK) klientam. Pēc tā klientam jānokonfigurē savu tīkla saskarni izmantojot piedāvātās iespējas.

Pārējie DHCP ziņojumi

Papildus ziņojumiem, kas nepieciešami sākotnējai klienta IP adreses saņemšanai DHCP paredz dažus papildus ziņojumus izpildāmajiem uzdevumiem.

DHCP noraidījums

Ja pēc apstiprinājuma saņemšanas (DHCPACK) no servera, klients atklāj, ka servera norādītā IP adrese jau tiek lietota tīklā, tas izsūta DHCP atteikuma ziņojumu (DHCPDECLINE) pēc kura atkārtojas IP adrese iegūšanas procedūra. Lai noteiktu vai IP adresi jau lieto cits klients, tiek veikts ARP pieprasījums.

DHCP atteikums

Ja kāda iemesla dēļ serveris nevar sniegt klientam viņa pieprasīto IP adresi, serveris sūta apraides ziņojumu par DHCP atteikumu (DHCPNAK) pēc kura atkārtojas IP adrese iegūšanas procedūra.. Saņemot šādu ziņojumu klientam jāveic atkārtotu IP adreses pieprasīšanas procedūru.

DHCP atbrīvošana

Klients var izbeigt IP adreses izmantošanu. Lai to izdarītu, tas nosūta uz serveri ziņojumu atbrīvot DHCP (DHCPRELEASE) tam serverim, kurš viņam piešķīra IP adresi.

DHCP informācija

DHCP informācijas ziņojumi (DHCPINFORM) ir paredzēta, lai noteiktu papildus parametrus TCP / IP (piemēram, noklusētā maršrutētāja IP adrese, DNS serveri utt) tiem klientiem, kuriem nav nepieciešama dinamiskā IP adrese. Serveri uz šādu ziņojumu atbild ar pieprasījuma apstiprinājumu (DHCPACK) bez IP adreses izdalīšanas.

Ieviešanas vēsture

Microsoft pirmo reizi DHCP serveri iekļāva „Windows NT 3.5” servera versijā, kuru izlaida 1994.gadā. Sākot ar „Windows 2000 Server” versiju DHCP serveris spēja dinamiski atjaunināt DNS ierakstus, kas tiek izmantots aktīvajā direktorijā (Angliski - Active Directory).
Interneta Systems Consortium 1997.gada 6.decembrī izlaida ISC DHCP Server pirmo versiju (Unix veidīgajām sistēmām). 1999.gada 22.jūnijā tika izlaista 2.0 versija, kura daudz precīzāk atbilda standartam.
Cisco DHCP serveri iekļāva savā produktā - „Cisco IOS 12.0” 1999.gada februārī. Sun iekļāva DHCP serveri „Solaris 8” produktā 2001.gada jūlijā.
Pašlaik DHCP servera risinājumi, priekš Windows operētājsistēmām, pastāv atsevišķu programmu izskatā, kas ļauj datoriem veikt DHCP servera lomu neizmantojot servera OS versijas.