Jak funguje přidělování adresy v DHCP?

1. DHCP klient vyšle do lokální sítě požadavek na IP adresu (UDP port 68) ve formě 342-576 bytů dlouhé zprávy DHCPDISCOVER ve formátu:

A) Zdrojová MAC adresa je adresa klienta

B) Cílové MAC adresy jsou všechny broadcastem zjištěné adresy na hardwarové vrstvě (FFFFFF-FFFFFF)

C) Typ zprávy je nastaven na DHCPDISCOVER.

Paket obsahuje adresu klienta 0.0.0.0

2. DHCP server naslouchá (je-li tedy DHCP server přítomen, aktivní a funkční, na UDP portu 67), zda někdo (nějaký klient) vysílá zprávuDHCPDISCOVER.

A) Zdrojová MAC adresa je adresa serveru.

B) Cílová MAC adresa je adresa klienta.

Klientu je nejrychleji reagujícím serverem nabídnuta IP adresa pomocí 342 bytů dlouhé zprávy DHCPOFFER (která obsahuje IP adresy poskytnuté DHCP serverem ze seznamu – poolu – volných IP adres a seznam konfiguračních parametrů DHCP). Tato zpráva obsahuje informace o konfiguraci zápůjčky pro klienta a nabízenou IP adresu vybranou na základě kontroly dostupnosti (resp. zjištění konfliktu) této adresy v rámci lokální sítě [DHCP server, je-li nastaven příslušný parametr ve vlastnostech DHCP serveru -> Upřesnit -> Počet pokusů o zjištění konfliktu: 0-6 pokusů (resp. Properties -> Advance -> Conflict Detection Attempts)], vyšle do lokální sítě definovaný počet příkazů PING na IP adresu, kterou hodlá zapůjčit. Pokud se vrátí negativní odpověď, tj. dojde k negativnímu výsledku operace, která je v logu uváděna pod šíleným názvem „Restartování zjištění konce“, adresa je nabídnuta DHCP klientovi*. Pokud klientovi v danou chvíli žádný DHCP server neodpoví (je např. vypnutý nebo LAN vůbec DHCP server nemá), posílá klient DHCPDISCOVER v intervalu 0, 4, 8, 16 a 32 sekund (plus/minus 1 sekunda). Pokud nedojde k reakci DHCP serveru do jedné minuty od zahájení procesu žádosti, mohou nastat dva případy:

A) (Ve Windows XP proti Windows Serveru 2003 ve vztahu k alternativní konfiguraci TCP/IP). Pokud klient používá alternativní Automatické privátní IP adresování (APIPA), klient si sám přidělí IP adresu pro svoje síťové rozhraní z adresního prostoru B-třídy rezerovaného Microsoftem 169.254.0.0 se subnetem 255.255.0.0. Pokud v síti existuje konflikt adres, zkouší klient zvolit jinou adresu deseti pokusy.

B) Pokud klient nepodporuje APIPA nebo pokud je automatická konfigurace IP vypnuta, inicializace v síti selže = klient se nestane součástí sítě.

V obou případech klient začíná na pozadí nový cyklus DHCPDISCOVER každých 5 minut s výše uvedenými intervaly, dokud neobdrží od DHCP serveru zprávu DHCPOFFER.

3. Klient hlásí potvrzení nabídnuté adresy* a jako odpověď odvysílá 342-576 bytů dlouhou zprávuDHCPREQUEST. Dále provede (některé nebo všechny) tyto operace:

A) požaduje od samostatného serveru hodnoty pro serverem nabízené parametry (zamítá všechny nabídky ostatních serverů).

B) potvrzuje správnost dříve alokované IP adresy (potom, co klient rebootoval nebo ztratil konektivitu do sítě).

C) Požaduje rozšíření již dřčíve zapůjčené adresy.

4. Klient má přidělenu IP adresu a DHCP server odpoví 342 bytů dlouhou zprávou DHCPACK (tj. potvrdí, že je srozuměn s tím, že klient IP adresu vzal za vlastní, stejně jako serverm nabízené možnosti) a ukončí proces přidělování IP adresy na serverové straně.

Když klient obdrží zpávu DHCPACK, zkonfiguruje si svoje vlastnosti TCP/IP podle odpovědi serveru a ukončí proces přidělování na své straně.

5. V ojedinělých případech DHCP server může klientu DHCP vrátit negativní potvrzení (DHCPNACK neboDHCPNOACK). To může znamenat, že klient požaduje chybnou nebo obsazenou/duplicitní IP adresu. V takovém případě musí klient opakovat proces přidělování IP adresy od začátku.

6. Klient udržuje všechny oběma stranami odsouhlasené informace po celou dobu zápůjčky.

7. Pokud klient opouští síť, vysílá k serveru zprávu DHCPRELEASE a ukončí tak okamžitě dobu zápůjčky.

  • Toto potvrzení nemusí nutně nastat (tj. nastane konflikt vybrané IP adresy s ARP tabulkou klienta = již je v ní obsažena) a klient vyšle serveru zprávu DHCPDECLINE, tj. server bude muset nabídnout jinou IP adresu.

Odkazy:

How DHCP Technology Works

Dynamic Host Configuration  Protocol