Autor sekcije: Nikola Barković, Vedran Miletić

Dinamičko dodjeljivanje adresa domaćinima

Todo

Ovaj dio treba pročistiti.

Dynamic Host Configuration Protocol (DHCP, Wikipedia) je mrežni protokol koji se koristi za konfiguraciju mrežnih uređaja kako bi mogli komunicirati u IP mreži. DHCP klijent koristi DHCP protokol da bi dobio mrežnu konfiguraciju, kao što su IP adresa, zadanu rutu i jednu ili više adresa DNS. DHCP klijent tada koristi te informacije kako bi se spojio s poslužiteljem. Nakon što je proces gotov omogućena je komunikacija s internetom.

DHCP server održava bazu slobodnih IP adresa i konfiguracijske informacije. Kada zaprimi zahtjev od klijenta DHCP server alocira IP adresu koja je prikladna klijentu i šalje konfiguracijske informacije klijentu. Budući da je DHCP protokol mora raditi ispravno prije nego su DHCP klijenti konfigurirani, DHCP server i DHCP klijent moraju biti spojeni na istu mrežu. U velikim mrežama ovo nije praktično. Kod takvih mreža, svaka mrežna poveznica sadrži jedan ili više DHCP usmjerivač agenta. Ovi DHCP usmjerivač agenti primaju poruke s DHCP klijenta i prosljeđuju ih DHCP serveru. DHCP server šalje odgovor usmjerivač agentu, a usmjerivač agent onda šalje odgovore DHCP klijentu u lokalnoj mreži.

DHCP obično dodjeljuje IP adresu klijentu na određeno vrijeme. DHCP klijenti su odgovorni za obnavljanje IP adrese prije nego to vrijeme istekne i mora prestat koristit tu adresu ako je vrijeme isteklo, a adresa nije obnovljena.

DHCP se koristi za IPv4 i IPv6. Iako obje verzije služe istoj svrsi, detalji protokola su dovoljno različiti da bi bili različiti protokoli.

Poslužitelji koji ne koriste DHCP za konfiguraciju adrese i dalje mogu koristi protokol za druge informacije.

Povijest

DHCP je prvi put definiran kao standardani protokol 1993., kao dodatak Bootstrap protokola (BOOTP). Motivacija za nadogradnju BOOTP protokola je postojala jer kod BOOTP je bilo potrebno ručno unositi konfiguracijske informacije za svaki od klijenata i nije postojao mehanizam za uzimanje nekorištenih IP adresa. Dosta korisnika je radilo na poboljšanju protokla, kako je dobivao na popularanosti i 1997. se počinje koristit kao samostalni protokol i danas je standard za IPv4 mreže. Za IPv6 mreže se koristi DHCPv6 protokol.

Svojstva

DHCP automatizira dodjeljivanje mrežnih parametara mrežnim uređajima s jednog ili više DHCP servera. I kod malih mreža DHCP je koristan jer omogućuje jednostavno dodavanje novih uređaja na mrežu.

Kada se DHCP klijent spoji na mrežu, DHCP klijent šalje broadcast upit i zatražuje potrebne informacije od DHCP servera. DHCP server upravlja s IP adresama i informacijama o konfiguraciji klijenta kao što su: zadani pristupnik, naziv domene i ime servera. Kada zaprimi ispravam upit server dodjeljuje klijentu IP adresu i ostale konfiguracijske parametre. Upit se obično inicijalizira nakon pokretanja sustava i mora se obaviti kako bi klijent mogao radit s IP protokolom i komunicirat s ostalim poslužiteljima. Nakon sto se klijent isključi s mreže IP adresa se može ponovno korist od strane drugih klijenata.

Ovisno o implementaciji DHCP server ima tri načina alokacije IP adrese:

  • Dinamička alokacija: mrežni administrator dodjeli niz IP adresa DHCP serveru, a svaki klijent u LAN mreži je konfiguriran tako da potražuje IP adresu od DHCP servera tokom inicijalizacije konekcije. DHCP server koristi koncept iznajmljivanja IP adrese s kontroliranim vremenom kako bi mogao adresu dodjeliti nekom drugom klijentu ako prvi ne zatraži produljenje.
  • Automatska alokacija: DHCP server trajno dodjeljuje slobodnu IP adresu klijentu koji je potražuje iz niza koji je definirao administrator, kao i kod dinamičke alokacije, ali u ovom slučaju DHCP server pohranjuje u tablicu dodjelu adrese kako bi klijent mogao ako opet zatraži adresu dobiti istu.
  • Statička alokacija: DHCP server alocira IP adrese na temelju tablice s parovima MAC adresa i IP adresa koji su ručno uneseni od strane administratora. Samo klijentima s MAC adresom koja je u tablici će biti dodjeljena IP adresa. Ova opcija nije moguća kod svih DHCP servera.

Protokol

DHCP koristi ista dva porta koja je IANA dodjelila za BOOTP, a to su UDP 67 za slanje podataka serveru i UDP port 68 za slanje podataka klijentu. DHCP komunikacija je bezkonekcijska po prirodi.

DHCP komunikacija se sastoji od četri osnovne faze: otkriće (engl. discovery), ponuda (engl. offer), zahtjev (engl. request) i prihvat ponude (engl. acknowledgment).

Oktriće

Klijent šalje broadcast poruku na fizičkoj podmreži kako bi otkrio moguće DHCP servere. Mrežni administrator može konfigurirat lokalni usmjerivač da prosljeđuje DHCP pakete DHCP serveru s druge podmreže. Ovakva implemetacija kreira UDP paket sa broadcast destinacijom 255.255.255.255 ili sa specifičnom podmrežnom broadcast adresom.

DHCP klijent također traži adresu koja mu je bila dodjeljena prethodni put. Ako je klijent spojen na mrežu za koju mu je dodjeljena valjana IP adresa server mu može odobriti zahtjev. U suprotnom slučaju ovisno o serveru može ili zanemarit zahtjev i u tom sučaju nakon što prođe određen period u kojem mu server ne odgovoara klijent odustaje od takvog zajteva i traži novu adresu ili server može odbiti zahtjev i u tom slučaju klijent odmah traži novu adresu.

Ponuda

Kada DHCP server primi zahtjev za IP adresom od klijenta, tada server rezervira tu adresu za klijenta i šalje ponudu klijentu. Ova poruka sadrži MAC adresu , IP adresu koju server nudi, podmrežnu masku, duljinu trajanja valjanosti adrese i IP adresu DHCP servera koju je poslao ponudu.

Zahtjev

Odgovor klijenta na DHCP ponudu je DHCP zahtjev, klijent odgovara s DHCP zahtjevom koji se šalje DHCP serveru tražeći ponuđenu adresu. Klijent može primiti više DHCP ponuda, ali će prihvatiti samo jednu. DHCP zahtjev se može slati na samo jedan server (onaj čiji je zahtjev prihvaćen) ili na sve servere. Kada DHCP serveri prime poruku da njihova ponuda nije prihvaćena ponuđenu adresu vraćaju u skup adresa za dodjelu.

Prihvat ponude

Kada DHCP server primi zahtjev od servera proces konfiguracije ulazi u posljednju fazu. U ovoj fazi se klijentu šalje DHCP paket koji sadrži sve potrebne informacije koje je klijent tražio i IP konfiguracija je onda gotova.

Sigurnost

U osnovi DHCP protokol ne nudi niti jedan mehanizam za autentifikaciju. Zbog toga je podložan različitim vrstama napada koji se mogu podjelit u tri glavne kategorije:

  • Neautorizirani DHCP server daje pogrešne podatke klijentima.
  • Neautorizirani klijent ima pristup resursima.
  • Napadi koji zagušuju resurse.

Budući da za klijenta nema načina da provjeri identitet DHCP servera, neautorizirani DHCP serveri mogu raditi na bilo kojoj mreži. Ovo može biti napad koji brani pristup klijenta mreži (engl. denial-of-service attack) ili napad prisluškivanjem (engl. man-in-the-middle attack).

Budući da DHCP server nema sigurnog mehanizma za provjeru klijenata, klijenti mogu neautorizirano prestupiti IP adresama prezentirajući se kao drugi DHCP klijenti. Ovo omogućava da se iskoriste sve dostupne IP adrese i onemogući pristup pravim korisnicima.

DHCP ipak ima neke mehanizme za rješavanje ovih problema. The Relay Agent Information Option protokol omogućuje mrežnim operaterima da dodaju potpis na DHCP poruke. Ovaj potpis se koristi kao provjera kako bi se kontrolirao pristup mrežama od strane klijenata.

Jos jedna mogućnost je Authentication for DHCP Messages koja omogućuje provjeru DHCP poruka. Problem kod ove metode je spremanje ključeva za velik broj DHCP klijenata.