Forma komunikace
Komunikace klienta se serverem probíhá pomocí tzv. DHCP zpráv, které posílá buď klient serverovi nebo server klientovi. Celkem existuje typů 8 zpráv, z toho 5 zpráv posílá klient (DHCPDISCOVER, DHCPREQUEST, DHCPRELEASE, DHCPDECLINE, DHCPINFORM) a 3 zprávy posílá server (DHCPOFFER, DHCPACK, DHCPNAK). Tyto zprávy mají předem určenou strukturu:
Vysvětlení pojmů
- op
- Operační kód/typ zprávy (1 = BOOTREQUEST – žádost, 2 = BOOTREPLY – odpověď).
- htype
- Typ hardwarové adresy (např. 1 = 10Mb Ethernet).
- hlen
- Délka hardwarové adresy (např. 6 pro 10Mb Ethernet).
- hops
- Vždy nastaveno na nula.
- xid
- Identifikační číslo transakce, klientem náhodně zvolené číslo, používá se k přidělení zpráv a odpovědí mezi klientem a serverem.
- secs
- Vyplňuje klient, jsou to sekundy, které uplynuly od začátku procesu komunikace.
- flags
- Příznaky.
- ciaddr
- IP adresa klienta, tato položka je vyplněna jen v případě, že klientovi už byla přidělena IP adresa, ale podal žádost o obnovení.
- yiaddr
- IP adresa, kterou server přidělil klientovi.
- siaddr
- IP adresa serveru.
- giaddr
- IP adresa agenta, který zprávu přenáší (pouze pokud se pomocí něj bootuje).
- chaddr
- Hardwarová adresa klienta.
- sname
- Hostitelský název serveru (řetězec zakončený nulou).
- file
- Název bootovacího souboru (řetězec zakončený nulou).
- options
- Parametry (může být vynecháno). Může mít libovolnou délku.
DHCP Zprávy
Zprávy, které klient posílá serveru:
- DHCPDISCOVER
- Slouží k nalezení vhodného DHCP serveru, který by klientovi přidělil adresu.
- DHCPREQUEST
- Pomocí této zprávy klient příjmá nabídnuté parametry (viz. zpráva DHCPOFFER) od jednoho serveru a zároveň odmítne všechny ostatní nabídky.
- DHCPDECLINE
- Klient indikuje serveru, že se síťová adresa kterou mu přidělil už používá (tzn. že je neplatná a klient ji tedy nemůže použít).
- DHCPRELEASE
- Klient oznamuje serveru, že již dál nechce svoji adresu používat.
- DHCPINFORM
- Klient žádá server pouze o lokální konfigurační parametry (externí síťovou adresu už má přidělenou).
Zprávy, které server posílá klientovi:
- DHCPOFFER
- Pomocí této zprávy server odešle odpověď na zprávu DHCPDISCOVER ve které jsou konfigurační parametry, které server nabízí klientovi.
- DHCPACK
- V této zprávě posílá server klientovi vyžádané konfigurační parametry včetně potvrzené síťové adresy.
- DHCPNAK
- Server indikuje klientovi, že jeho síťová adresa je špatná (např. se klient přesunul do jiné podsítě nebo se adresa zneplatnila kvůli vypršení časového limitu).
Posílání zpráv
DHCP používá jako transportní protokol UDP. Klient posílá zprávy serveru skrz port 67. Server posílá zprávy klientovi skrz port 68.