User Tools

Site Tools


dhcp

DHCP

DHCP (Dynamic Host Configuration Protocol) upravljački je protokol koji služi za dinamičku dodjelu IP adrese računalima. Uz to, njegova je uloga konfiguriranje komunikacijskih parametara kao što su maska podmreže, pretpostavljeni usmjeritelj (engl. router), adresa DNS-a i drugi. Prije slanja zahtjeva mrežni administrator mora odrediti raspon adresa koje DHCP poslužitelj može određivati. Time se određuje i broj korisnika koji mogu istodobno biti na mreži jer se istu adresu mogu koristiti različiti korisnici, ali ne istodobno.

DHCP radi na aplikacijskog (najvišem) sloju TCP/IP protokola.

Dodjela adresa radi na načelu klijent-poslužitelj. Nakon što klijentsko računalo zatraži IP adresa od DHCP-poslužitelja kreće mehanizam dodjele. Postoji osam vrsta poruka.

1. DHCP Discover message

  • klijent generira ovu poruku kako bi dojavio da mu je potrebna IP adresa
  • poruka se šalje svim uređajima u blizini da bi se brže pronašao DHCP server

2. DHCP Offer message

  • poslužitelj ili više njih do kojih dođe prva poruka će potvrditi njezin primitak i ponuditi (engl. offer) IP adresu
  • u slučaju da više poslužitelja odgovori, klijent će reagirati na prvu poruku

3. DHCP Request message

  • klijent sad šalje ARP zahtjev da bi provjerio postoji li već neko drugo računalo koje koristi tu IP adresu
  • ako ne dobije odgovor, smatra da je IP adresa slobodna i šalje poruku da je prihvatio adresu
  • u toj poruci stavi i svoj identifikator da bi se znalo točno tko je zauzeo IP adresu

4. DHCP Acknowledgement message

  • poslužitelj daje do znanja da je prihvatio prethodnu poruku te povezuje identifikator klijenta s novom IP adresom

5. DHCP negative acknowledgement message

  • ova se poruka šalje samo u slučaju da je DHCP poslužitelj zatražio neispravnu IP adresu (primjerice, adresu izvan predefiniranog dosega)

6. DHCP decline

  • ako DHCP klijent utvrdi da je dobio drugačije ili neispravne parametre od poslužitelja, šalje ovu poruku DHCP poslužitelju
  • isto tako, ako dobije odgovor na svoj ARP zahtjev, šalje ovu poruku da bi svima dojavio da ipak nije uzeo tu adresu koja mu je bila ponuđena

7. DHCP release

  • kad završi s radom, klijent šalje ovu poruku da bi dojavio da je adresa koja mu je bila dodijeljena opet slobodna

8. DHCP inform

  • ako je klijent ručno dobio IP adresu, šalje ovu poruku kako bi dobio ostale konfiguracijske parametre koji su mu potrebni za rad (primjerice ime domene)

Na početku procesa računalo je zatražilo DHCP-poslužitelja da mu dodjeli adresu. Poslužitelj odabire jednu od raspoloživih adresa i potvrđuje računalu dodjelu te adrese. Nakon toga tu adresu prebacuje u skup izdanih (zauzetih) adresa i ona tamo ostaje dokle god računalo ne završi s radom. Nakon završetka rada adresa se vraća u skup slobodnih raspoloživih (slobodnih) adresa i može se dodijeliti nekom drugom.

Važno je da se adrese se dodjeljuju na zahtjev i samo na određeno vrijeme kako se ne bi zauzimali nepotrebni resursi. Vrijeme može biti unaprijed definirano ili se mora osigurati da će klijent vratiti adresu kad prestane s radom.

Prednosti DHCP-a su to što je upravljanje IP adresama centralizirano, dakle sprečava se da više računala istodobno koristi istu adresu. Pojednostavljuje dodavanje novih klijenata u mrežu jer se adresa ne mora dodijeliti ručno. Mogućnost dinamičke dodjele omogućuje ponovno korištenje istih IP adresa, što bitno smanjuje raspon adresa koji treba rezervirati. Ne treba rezervirati adresa dovoljno da svaki korisnik koji se ikad priključi na mrežu dobije različitu adresu, već samo toliko da svaki korisnik koji se istodobno nalazi na mreži ima jedinstvenu adresu.

Nedostatak je činjenica što klijent prihvaća odgovore bilo kojeg poslužitelja. Dakle, ako se netko nađe između klijenta i stvarnog DHCP poslužitelja, moguće je da klijent to ne primijeti. Ta vrsta napada zove se DHCP Spoofing.

Izvori

[1] FER, Predavanja iz kolegija Komunikacijske mreže
[2] https://www.geeksforgeeks.org/dynamic-host-configuration-protocol-dhcp/

dhcp.txt · Last modified: 2024/03/13 19:06 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki