DHCP protokol je jeden ze základních protokolů dnešního internetu. DHCP se jmenuje podle Dynamic Host Control Protocol.
DHCP protokol musí být implementován jak na straně serveru, tak i na straně klienta. Zatímco server se stará o dynamické přidělování IP adres, tak klient se stará o svou přidělenou IP adresu. Adresy jsou přidělovány na dobu určitou, klient i server tedy musí kontorolovat dobu od přidělení adresy. Pokud klient nestihne požádat o prodloužení platnosti adresy před jejím vypršením, musí adresu přestat používat.
Komunikace mezi klientem a serverem probíhá přes UDP a na portech 67 (server) a 68 (klient). Schéma komunikace je následující:
- klient odešle DHCP Discover
- server odpoví DHCP Offer
- klient odešle DHCP Request
- server ukončí komunikaci DHCP ACK
Vzhledem k tomu, že klient nemá v průběhu komunikace přidělenou IP adresu v síti, probíhá veškerá komunikace směrem od klienta pomocí broadcast zpráv. Jedno z potenciálních rizik s tímto modelem komunikace spojené je v tom, že případný narušitel může po nějaké době sledování sítě získat pojem o topologii sítě.
Na obrázku níže je zachycena komunikace mezi klientem a serverem během přidělování IP adresy.
Ze zachycené komunikace je vidět, že reálná komunikace úplně neodpovídá teoreticky popsanému modelu. Připojené zaříení se nejdříve pokusilo požádat DHCP server o přidělení adresy, ten ale tento pokus o přidělení negoval. Pak už přidělení probíhalo podle dokumentace.