Dynamic Host Configuration Protocol
DHCP (anglicky Dynamic Host Configuration Protocol) je v informatice název protokolu z rodinyTCP/IP nebo označení odpovídajícího DHCP serveruči klienta. Používá se pro automatickou konfiguracipočítačů připojených do počítačové sítě. DHCP server přiděluje počítačům pomocí DHCP protokolu zejména IP adresu, masku sítě, implicitní bránu a adresu DNS serveru. Platnost přidělených údajů je omezená, proto je na počítači spuštěn DHCP klient, který jejich platnost prodlužuje.
Charakteristika
DHCP protokol umožňuje prostřednictvím DHCPserveru nastavovat stanicím v počítačové síti sadu parametrů nutných pro komunikaci pomocí IP protokolu (tj. využívat rodinu protokolů TCP/IP). Umožňuje předávat i doplňující a uživatelsky definované parametry.[1] Významným způsobem tak zjednodušuje a centralizuje správu počítačové sítě (například při přidávání nových stanic, hromadné změně parametrů[2] nebo pro skrytí technických detailů před uživateli). DHCP servery mohou být sdruženy do skupin, aby bylo přidělování adres odolné vůči výpadkům. Pokud klient některým parametrům nerozumí, ignoruje je.
Typicky se pomocí DHCP nastavují tyto parametry:
· implicitní brána (anglicky default gateway)
· DNS server (seznam jedné nebo více IP adres DNS serverů)
· a další údaje, např. servery pro NTP, WINS, …
Zpětná kompatibilita
Protokol DHCP nebyl se svým předchůdcem BOOTP zpětně kompatibilní, což je pro internetové protokoly a vydávání RFC velmi nezvyklé. Protokol DHCP přinesl pouze možnost „pronájmu IP adresy“. Vzhledem k modularitě BOOTP protokolu ale bylo možné tuto vlastnost implementovat i do tohoto předchůdce. V tehdejších počítačových sítích (unixové stanice, DOS s NCSA Telnetem, ve Windows klient Trumpet Winsock) byl protokol BOOTP běžně používán.
Zpětně nekompatibilní protokol prosadila firma Microsoft, která pro systémyWindows 95 a novější implementovala jako standardní součást pouze podporu protokolu DHCP. Pro správce tak bylo tehdy nutné společně s novou verzí stolního systému Windows nakoupit a provozovat též serverovou edici Windows NT, protože podpora DHCP byla do stávajících BOOTP serverů (typicky provozovaných na unixových systémech) implementována až se zpožděním.
Historie
Standard DHCP vznikl v říjnu 1993 v RFC 1531 jako nástupce protokoluBOOTP, se kterým není zpětně kompatibilní. Aktualizace z roku 1997 je aktuální definicí DHCP. Protokol přinesl možnost dynamického přidělování adres (tj. na žádost klienta server přidělí IP adresu, která nemusí být pokaždé stejná), které si stanice zapůjčuje na určitou dobu a v případě potřeby zapůjčení prodlužuje. Poslední navržený standard pro DHCP v sítích IPv6 (DHCPv6) je obsažen v RFC 3315.
V současnosti je DHCP hlavním protokolem pro automatické přidělování IP adres stanicím. Protokol BOOTP se již téměř nepoužívá (kromě míst, kde jehardwarově implementován – např. do BootROM v síťových kartách). Pro usnadnění přechodu z BOOTP na DHCP byly BOOTP i DHCP servery vybaveny schopností odpovídat na požadavky stanic oběma protokoly. Stejnou schopnost mají i někteří DHCP klienti.[3] Avšak klient v Microsoft Windows podporuje pouze DHCP.
Princip činnosti
Klienti žádají server o IP adresu, ten u každého klienta eviduje půjčenou IP adresu a čas, do kdy ji klient smí používat (doba zapůjčení, anglicky lease time). Poté co vyprší, smí server adresu přidělovat jiným klientům.
Klient komunikuje na UDP portu 68, server naslouchá na UDP portu 67. Po připojení do sítě klient vyšle broadcastem DHCPDISCOVER paket. Na ten odpoví DHCP server paketem DHCPOFFER s nabídkou IP adresy. Klient si z (teoreticky několika) nabídek vybere jednu IP adresu a o tu požádá paketem DHCPREQUEST. Server mu ji vzápětí potvrdí odpovědí DHCPACK. Jakmile klient obdrží DHCPACK, může už IP adresu a zbylá nastavení používat. Klient musí před uplynutím doby zapůjčení z DHCPACK obnovit svou IP adresu. Pokud lhůta uplyne aniž by dostal nové potvrzení, klient musí IP adresu přestat používat.
Protokol definuje roli i tzv. DHCP relay agenta. Používá se v situaci, kdy existují dvě nebo více sítí oddělené směrovačem a jen jedna síť obsahuje DHCP server. V takovém případě správce na směrovači zapne relay agenta a nastaví jej tak, aby všesměrové (broadcast) DHCP dotazy ze sítí bez DHCP serveru přeposílal DHCP serveru. Agent k přeposílanému dotazu přidá číslo sítě a masku sítě, na které klienta zaslechl, aby DHCP server poznal, ze kterého adresního rozsahu má klientovi adresu přiřadit.
Možnosti přidělení IP adresy
IP adresa může být stanici přidělena několika způsoby:
Ruční nastavení
V tomto případě správce sítě nevyužívá DHCP serveru a konfiguraci jednotlivých stanic zapisuje jednotlivě přímo do konfigurace jednotlivých stanic.
Statická alokace
DHCP server obsahuje seznam MAC adres a k nim příslušným IP adres. Pokud je žádající stanice v seznamu, dostane vždy přidělenu stejnou pevně definovanou IP adresu.
Dynamická alokace
Správce sítě na DHCP serveru vymezí rozsah adres, které budou přidělovány stanicím, které nejsou registrovány. Časové omezení pronájmu IP adresy dovoluje DHCP serveru již nepoužívané adresy přidělovat jiným stanicím. Registrace dříve pronajatých IP adres umožňuje DHCP serveru při příštím pronájmu přidělit stejnou IP adresu.
V IPv6 sítích je automatickému nastavení stanice věnována vyšší pozornost, aby byla konfigurace počítačové sítě ještě jednodušší.