Protokol DHCP pod drobnohľadom
Posledným zaujímavým a aj známym protokolom, ktorý si predstavíme je DHCP (Dynamic Host Configuration Protocol). Ten spadá do aplikačnej vrstvy, o ktorej bola reč v minulom dieli, ale vzhľadom na to, že sa v ňom spomínajú pojmy zo sieťovej vrstvy, som sa ho rozhodol predstaviť až teraz.
Protokol DHCP každý deň používajú naše počítače aj bez toho, aby sme o tom vedeli. DHCP klient beží na pozadí ako služba a je možné ho vidieť v správcovi úloh.
Protokol umožňuje jednoduchšiu konfiguráciu zariadení, nakoľko poskytuje staniciam údaje ako IP adresu, masku, adresu brány či adresu DNS servera. Tieto údaje tak nie je nutné ručne nastavovať na každom počítači zvlášť.
Podrobné informácie o získaných IP adresách ponúka príkaz ipconfig /all. DHCP démona ovládneme ďalšími príkazmi ipconfig. DHCP pracuje na portoch UDP 67 a 68. Podstatou sú 4 správy: DHCP Discover (klient „kričí“ do siete a pýta si IP adresu a iné údaje), DHCP Offer (DHCP server odpovedá a ponúka IP adresu), DHCP Request (klient si vyžaduje pridelenie ponúknutej IP adresy) a DHCP Acknowledge (DHCP server potvrdzuje pridelenie adresy).
Pre ukážku práce DHCP protokolu uvoľníme IP adresu a ostatné údaje príkazom ipconfig /release. V tomto momente stratíme pripojenie do siete, nakoľko nemáme platnú IP adresu. Príkazom ipconfig /renew si vyžiadame znovu IP adresu od DHCP servera.
Ako sa to prejaví pri odchytávaní paketov vo wiresharku?
Po zadaní príkazu ipconfig /release nastane DHCP Release - adresa je uvoľnená a môže byť priradená ďalšiemu zariadeniu. Príkazom ipconfig /renew požadujem nové parametre. Podľa vyššie uvedeného obrázka prebehnú medzi DHCP klientom a DHCP serverov 4 správy. Discover z adresy 0.0.0.0 (to som ja bez IP adresy), ktorá sa vysiela ako broadcast a hľadá DHCP server, ktorý by vypočul prosby. Nasleduje Offer, ktorým mi DHCP server ponúka IP adresu 192.168.1.3. Správou Request si túto adresu vyžadujem, avšak ešte ju nemám pridelenú (preto ide paket stále z adresy 0.0.0.0). Až správa ACK mi túto adresu definitívne pridelí.
IP adresy sú staniciam prideľované na vopred dohodnutý čas (Lease), počas ktorého DHCP klienti pravidelne kontaktujú DHCP server, aby obnovili zapožičanie adresy. Môže sa niekedy stať, že nastane konflikt IP adries, keď je jedna adresa priradená viacerým staniciam. V takomto prípade je táto IP adresa vyčlenená z rozsahu adries, ktoré DHCP môže prideľovať a konflikt musí vyriešiť administrátor.
Na záver DHCP témy ešte zaujímavosť, s ktorou sa doma zrejme nestretnete. Pozornejší z Vás si možno všimli, že routre nepreposielajú broadcast ďalej a práve DHCP Discover je posielaná ako broadcast. Ako by požadovanie parametrov dopadlo v nasledujúcej situácii?
Odpoveď nie je ťažká, nakoľko je vysvetlená na obrázku. Počítače by síce žiadali údaje z DHCP servera, avšak neúspešne. V takomto prípade je nutné na smerovači nastaviť tzv. Relay agent, ktorý prenesie DHCP broadcasty ďalej za smerovač na inú sieť (výnimka, pri ktorej smerovače prepúšťajú broadcast von zo siete). Relay agentom bude IP adresa DHCP servera.
BiGTomEE