Professional Documents
Culture Documents
Seminarski Rad Urnek4
Seminarski Rad Urnek4
Seminarski Rad Urnek4
DHCP
SEMINARSKI RAD
Kandidat: Mentor:
AĐ Ime i prezime
SAŽETAK....................................................................................................................1
UVOD...........................................................................................................................2
1. NASTANAK DHCP SERVISA........................................................................3
1.1. BOOTP PROTOKOL..................................................................................3
1.1.1. Format paketa.............................................................................................4
1.2. OPĆENITO O DHCP PROTOKOLU........................................................5
1.3. DIZAJNERSKI CILJEVI DHCP-A...........................................................7
2. PRINCIP RADA DHCP SERVISA.................................................................8
2.1. FORMAT DHCP PAKETA........................................................................8
2.2. POHRANA KONFIGURACIJSKIH PARAMETARA............................11
2.3. DINAMICKA DODJELA MREŽNIH ADRESA....................................12
2.4. KLIJENT – POSLUŽITELJ PROTOKOL..............................................13
2.4.1. Klijent – poslužitelj komunikacija: dodjela mrežnih adresa................13
2.4.2. Klijent – poslužitelj komunikacija: ponovno korištenje prethodno.....17
dodijeljene mrežne adrese..................................................................................17
2.4.3. Interpretacija vremenskih vrijednosti...................................................19
2.4.4. Dobivanje parametara sa rucno postavljenom mrežnom adresom.....19
2.4.5. DHCP parametri klijenta......................................................................20
2.4.6. Korištenje DHCP-a na klijentima sa više mrežnih kartica..................21
2.4.7. Klijenti: kada koristiti DHCP................................................................21
2.5. SPECIFIKACIJE DHCP KLIJENT – POSLUŽITELJ PROTOKOLA 21
2.5.1. Administrativne kontrole DHCP poslužitelja.......................................23
2.5.2. Ponašanje DHCP poslužitelja...............................................................24
2.5.3. Ponašanje DHCP klijenta.....................................................................27
3. ZAKLJUČAK..................................................................................................31
4. LITERATURA................................................................................................33
SAŽETAK
Tema rada je DHCP servis (eng.: Dynamic Host Configuration Protocol), tačnije
opis servisa i njegove značajke. Svaki uređaj na mreži mora imati jedinstvenu IP adresu.
Uređaj može biti poslužitelj, računalo, usmjerivač, prespojnik. IP adrese se mogu
dodjeljivati statički i dinamički. Pri statičkom dodjeljivanju adresa uređaju se postavlja
fiksna adresa koja je nepromjenjiva tokom vremena. Ukoliko se ukaže potreba, adresa se
može ručno promijeniti. Statičko dodjeljivanje adresa se koristi za uređaje kao što su
poslužitelji domene, web poslužitelji, pisači. IP adrese se mogu dodjeljivati i dinamički,
pomoću DHCP protokola. Protokol DHCP omogućava da uređaji prilikom inicijalizacije
automatski dobivaju adrese od DHCP poslužitelja. Dinamičko dodjeljivanje adresa
omogućava efikasniju raspodjelu adresnog prostora i smanjuje vjerojatnost da dva
uređaja dobiju istu IP adresu. Prednosti protokola DHCP vjerojatno se najviše očituju
prilikom administriranja mreže. DHCP znatno olakšava konfiguriranje IP adresa na
klijentima - nije potrebno konfigurirati svaki klijent pojedinačno, jer se sve promjene
obavljaju na centralnom DHCP poslužitelju. Ova prednost naročito dolazi do izražaja u
mrežama s velikim brojem računala. Umjesto da se ručno mijenjaju svojstva mreže na
nekoliko stotina računala, dovoljno je da se na DHCP poslužitelju napravi potrebna
izmjena. DHCP se često koristi prilikom spajanja na internet a da se na to niti ne obraća
pozornost. Pri povezivanju sve većeg broja računala na internet putem ADSL i
kablovske tehnologije koriste ste raznoliki usmjerivači. Oni se, uz poznavanje tematike,
jednostavno konfiguriraju kao DHCP poslužitelji te time pojednostavljuju spajanje na
internet do popularne fraze „plug and play“. DHCP poslužitelj računalu (klijentu)
dodjeljuje parametre (IP adresu, mrežnu masku, osnovni usmjernik, itd.). Time
omogućava direktan pristup internet stranicama, bez nepotrebnog pokretanja konekcije,
unošenja korisničkih imena i lozinki, spajanja itd.
1
UVOD
U prvom dijelu ovoga rada upoznat ćemo se sa povijesti DHCP protokola, koja
uključuje dio o prethodniku DHCP protokola - BOOTP (eng.: BOOTstrap Protocol)
protokolu te RFC (eng.: Request For Comment) dokumentaciju koja detaljno opisiva
DHCP servis. Obrađeni su i dizajnerski ciljevi DHCP-a. U drugom dijelu ovog rada
upoznat ćemo se sa principom rada DHCP servisa. Tu je detaljno opisan izgled DHCP
poruke, koji uključuje i opis polja DHCP paketa. Definirana je komunikacija
izmeđuDHCP klijenta i poslužitelja te proces u kojem klijent dobiva konfiguracijske
parametre od poslužitelja. Detaljno su opisane vrste poruka koje se koriste u DHCP
komunikaciji i njihova namjena.
2
1. NASTANAK DHCP SERVISA
DHCP je klijent/poslužitelj protokol koji omogućuje klijentu automatsko
pribavljanje IP adrese i ostalih relevantnih mrežnih konfiguracijskih postavki kao što su
mrežna maska i osnovni usmjernik. RFC 2131 i RFC 2132 definiraju DHCP kao IETF
(eng.: Internet Engineering Task Force) standard baziran na BOOTP protokolu, sa
kojim dijeli mnogo izvedbenih detalja.
4
Tablica 1. Opis i velicina polja BOOTP poruke
5
DHCP je sagrađen na principu klijent-poslužitelj, gdje određeni DHCP poslužitelj
dodjeljuje mrežne adrese i šalje konfiguracijske parametre dinamicki konfigurabilnim
klijentima. DHCP podržava tri načina dodjele IP adresa:
Kod automatske dodjele (eng.: automatic allocation) DHCP dodjeljuje stalnu IP
adresu klijentu.
Kod dinamicke dodjele (eng.: dynamic allocation), DHCP dodjeljuje IP adresu
klijentu na odre_eno vrijeme (ili dok klijent izricito ne vrati adresu).
Kod rucne dodjele (eng.: manual allocation), klijentu IP adresu dodjeljuje
mrežni administrator, a DHCP se koristi za prijenos te adrese klijentu.
Određena mreža može koristiti jednu ili više ovih metoda.
Od nabrojenih metoda, jedino dinamicka dodjela omogucava automatsko ponovno
korištenje adrese koja je dodijeljena klijentu i više mu nije potrebna. Stoga, dinamicka
dodjela je posebno korisna za dodjelu adresa klijentima koji ce privremeno biti povezani
na mrežu, ili za dijeljenje ogranicenog broja IP adresa u grupi klijenata koji ne trebaju
stalnu IP adresu. Dinamicka dodjela tako_er može biti dobar izbor za dodjelu IP adresa
novim klijentima koji su stalno povezani na mrežu, gdje je dodijeljena IP adresa ona
adresa koju je koristio klijent koji je npr. maknut sa mreže. Rucna DHCP dodjela IP
adresa uklanja rucno konfiguriranje računala s IP adresama (sklono greškama) u okolini
gdje je, iz bilo kojeg razloga, poželjno upravljanje IP adresama ne koristeći DHCP
mehanizam. Izgled DHCP paketa se temelji na izgledu BOOTP paketa, zbog pracenja
ponašanja BOOTP prijenosnog agenta i da bi se dozvolila koegzistencija postojecih
BOOTP klijenata s DHCP poslužiteljima. Korištenje BOOTP prijenosnog agenta
uklanja potrebu postojanja DHCP poslužitelja na svakom fizickom mrežnom segmentu.
Postoji nekoliko Internet protokola i s njim povezanih mehanizama koji rješavaju
neke probleme dinamicke konfiguracije klijenata. RARP protokol (eng.: Reverse
Address Resolution Protocol) iskljucivo rješava problem otkrivanja mrežnih adresa, i
uključuje mehanizam za automatsku dodjelu adresa. TFTP protokol (eng.: Trivial File
Transfer Protocol) služi za prijenos datoteka za pokretanje s poslužitelja na kojem se
iste nalaze. ICMP protokol (eng.: Internet Control Mesage Protocol) se koristi za
obavještavanje klijenata o dodatnim usmjerivačima, te se tako_er koristi za informacije
o mrežnoj maski kroz ICMP poruku zahtjev mrežne maske.
6
DHCP je dizajniran da pruža DHCP klijentima konfiguracijske parametre definirane
u RFC dokumentu zahtjevi klijenta (eng.: Host Requirements RFC). Nakon prikupljanja
parametara preko DHCP-a, klijent mora biti u mogućnosti izmjenjivati pakete s bilo
kojim drugimračunalom na Internetu. U iducim poglavljima se nalazi popis svih
parametara trenutno podržanih od strane DHCP-a. Svi ti parametri se ne trebaju
konfigurirati. Klijent i poslužitelj mogu dogovoriti prijenos samo onih parametara koje
zahtjeva klijent ili onih koji su specificni za odre_enu podmrežu. DHCP ne zahtjeva, ali
dozvoljava konfiguriranje klijentskih parametara koji nisu u izravnoj vezi s IP
protokolom. DHCP nije namijenjen za konfiguriranje usmjerivaca.
7
- Osigurati da se, u isto vrijeme, odre_ena mrežna adresa neće koristiti na više od
jednom DHCP klijentu.
- Sacuvati DHCP konfiguraciju klijenta nakon ponovnog pokretanja. DHCP klijent bi
trebao, kad je god to moguce, dobiti iste konfiguracijske parametre kao odgovor na svaki
zahtjev.
- Sacuvati DHCP konfiguraciju klijenta nakon ponovnog pokretanja poslužitelja, i
kad god je to moguce, DHCP klijentu treba dodijeliti iste konfiguracijske parametre bez
obzira na ponovno pokretanje DHCP mehanizma.
- Dozvoliti automatsko dodjeljivanje konfiguracijskih parametara novim klijentima i
izbjeci rucnu konfiguraciju novih klijenata.
- Podržavati unaprijed odre_ene ili stalne konfiguracijske parametre za odre_ene
klijente.
8
Slika 1. Format DHCP poruke
9
Tablica 2. Opis i velicina polja DHCP poruke
DHCP odre_uje novu opciju oznaka klijenta (eng.: client identifier) koja se koristi za
prijenos jednoznacne oznake klijenta prema DHCP poslužitelju. Ova promjena uklanja
korištenje ‘chaddr’ polja u BOOTP porukama gdje se ‘chaddr’ polje koristilo i kao
fizicka adresa i za prepoznavanje klijenta. Oznaka klijenta se ne obra_uje od strane
poslužitelja. Npr. ona može sadržavati fizičku adresu, isto kao i ‘chaddr’ polje, ili može
sadržavati bilo koji drugi oblik prepoznavanja, kao npr. DNS ime. Oznaka klijenta
odabrana od DHCP klijenta mora biti jedinstvena za tog klijenta na podmreži na koju je
klijent spojen. Ako klijent koristi oznaku klijenta u jednoj poruci, on mora istu
jednoznacnu oznaku koristiti i u svim sljedecim porukama, da bi ga svi poslužitelji
pravilno raspoznali. DHCP objašnjava interpretaciju ‘siaddr’ kao adresu poslužitelja
koju treba koristiti u iducem koraku klijentovog bootstrap procesa. DHCP poslužitelj
može vratiti svoju IP adresu u‘siaddr’ polju ako je poslužitelj spreman da pruži sljedece
bootstrap usluge (npr. Slanje izvršne datoteke operativnog sustava). DHCP poslužitelj
uvijek vraća vlastitu adresu u opciji oznaka poslužitelja (eng.: server identifier). Polje
10
opcije ima varijabilnu dužinu. DHCP klijent mora biti spreman primiti DHCP poruku sa
poljem opcije velicine najmanje 312 okteta. Ovaj zahtjev znači da DHCP klijent mora
biti spreman primiti poruke od 576 okteta što je minimalna velicina IP datagrama.
DHCP klijenti mogu dogovoriti korištenje vecih DHCP poruka kroz opciju maksimalna
velicina DHCP poruke (eng.: maximum DHCP message size). Opcijsko polje se može
još proširiti u polje datoteke (eng.: file) i polje opcijskog imena poslužitelja (eng.:
sname) polja. U slucaju kad klijent koristi DHCP za pocetnu konfiguraciju, DHCP
zahtjeva kreativno korištenje TCP/IP softvera klijenta. TCP/IP softver bi trebao primiti i
proslijediti IP sloju sve IP pakete dostavljene fizickoj adresi klijenta prije nego je IP
adresa konfigurirana; DHCP poslužitelj i BOOTP prijenosni agent ne mogu isporuciti
DHCP poruku klijentu koji ne može prihvatiti jednoznacno poslani fizički datagram
prije nego je TCP/IP konfiguriran. Da bi DHCP radio s klijentima koji ne mogu
prihvatiti jednoznacno poslane IP datagrame, prije nego li je TCP/IP softver
konfiguriran, DHCP koristi polje zastave (eng.: flags). Prvi bit je odre_en kao
BROADCAST (B) zastava. Znacenje ove zastave je kasnije opisano. Ostali bitovi ove
zastave su rezervirani za buducu upotrebu. Oni moraju biti postavljeni na nulu od strane
klijenta i ignorirani od strane poslužitelja i prijenosnog agenta.
B: BROADCAST zastava
Slika 2. Format polja zastave
12
primljenu adresu, npr. sa protokolom za rezoluciju adrese ARP (eng. Address Resolution
Protocol).
13
implementirani na način da mrežnim administratorima dozvole iskljucivanje provjere
ponu_ene adrese. Nakon toga poslužitelj šalje DHCPOFFER poruku klijentu, koristeći i
BOOTP prijenosne agente ako je potrebno.
14
Slika 3. Vremenski dijagram poruka izmijenjenih izmeđuDHCP klijenta i poslužitelja
kad se radi dodjela nove mrežne adrese
3. Klijent primi jednu ili više DHCPOFFER poruka od jednog ili više
poslužitelja. Može se izabrati da ceka više odgovora. Na temelju te poruke klijent izabire
jedan poslužitelj od kojeg zatraži konfiguracijske parametre. Klijent emitira
DHCPREQUEST poruku koja mora uključivati oznaku poslužitelja da bi naznačio koji
poslužitelj je izabrao, i ta poruka može uključivati ostale opcije posebno odre_ujuci
konfiguracijske vrijednosti. Opcija zatražena IP adresa (eng.: Requested IP address)
mora biti postavljena na vrijednost ‘yiaddr’ iz DHCPOFFER poruke od poslužitelja.
Ova DHCPREQUEST poruka je emitirana i prenesena preko DHCP/BOOTP
prijenosnog agenata. Da bi se osiguralo da ce svaki BOOTP prijenosni agent proslijediti
DHCPREQUEST poruku istom skupu DHCP poslužitelja koji su primili i originalnu
DHCPDISCOVER poruku, DHCPREQUEST poruka mora koristiti istu vrijednost u
15
DHCP zaglavlju ‘secs’ polju i biti poslana na istu IP adresu za emitiranje kao i izvorna
DHCPDISCOVER poruka. Ako klijent ne primi nijednu DHCPOFFER poruku, on
ponovo pošalje DHCPDISCOVER poruku.
4. Poslužitelji prime DHCPREQUEST poruku emitiranu sa klijenta. Oni
poslužitelji koji nisu izabrani s DHCPREQUEST porukom koriste poruku kao obavijest
da je klijent odbio ponudu poslužitelja. Poslužitelj izabran DHCPREQUEST porukom
zapocinje uskla_ivanje s klijentom uz pomoc DHCPACK poruke koja sadrži
konfiguracijske parametre. Kombinacija oznake ili ‘chaddr’ i dodijeljene mrežne adrese
sacinjava jednoznacnu oznaku koja se koristi od strane klijenta i od strane poslužitelja,
da bi se prepoznalo na koju se posudbu DHCP poruka odnosi. Svi konfiguracijski
parametri u DHCPACK poruci bi trebali biti isti kao oni u prijašnjoj DHCPOFFER
poruci na koju je klijent odgovorio. Poslužitelj ne bi trebao provjeravati ponu_enu
mrežnu adresu u ovom trenutku. ‘Yiaddr’ polje u DHCPACK poruci je popunjeno sa
izabranom mrežnom adresom. Ako izabrani poslužitelj ne može udovoljiti zahtjevima iz
DHCPREQUEST poruke (zatražena mrežna adresa je dodijeljena), onda treba
odgovoriti s DHCPNAK porukom.
5. Klijent primi DHCPACK poruku sa konfiguracijskim parametrima. Nakon
toga treba izvršiti završnu provjeru nad tim parametrima (ARP za dodijeljenu mrežnu
adresu) i označiti vrijeme posudbe odre_eno u DHCPACK poruci. U ovom trenutku
klijent je konfiguriran. Ako klijent detektira da je adresa vec u upotrebi (koristeći ARP),
klijent mora poslati DHCPDECLINE poruku poslužitelju i zapoceti ispocetka
konfiguracijski proces. Klijent bi trebao pricekati minimalno deset sekundi prije
ponovnog pokretanja konfiguracijskog postupka da bi se izbjegao prekomjerni mrežni
promet u slucaju petlje. Ako klijent primi DHCPNAK poruku, klijent ponovo zapocinje
konfiguracijski proces. Ako klijent ne primi ni DHCPACK ni DHCPNAK poruku onda
proglasi istek vremena i ponovo šalje DHCPREQUEST poruku. Klijent ponovo šalje
DHCPREQUEST prema algoritmu za ponovno slanje. Klijent bi trebao ponovo poslati
DHCPREQUEST zahtjev dovoljan broj puta da bi pružio odre_enu vjerojatnost za
kontaktiranje poslužitelja bez prevelikog cekanja prije odustajanja. Npr. klijent ponovo
šalje DHCPREQUEST zahtjeve cetiri puta u ukupnom vremenskom periodu od 60
sekundi, prije nego što ponovno zapocne inicijalizacijski postupak. Ako klijent ne primi
16
ni DHCPACK ni DHCPNAK poruku nakon ponovnog slanja algoritma, klijent se
prebacuje u INIT stanje i ponovo zapocinje inicijalizacijski postupak. Klijent bi trebao
obavijestiti korisnika da inicijalizacijski postupak nije uspio i da se ponovo pokrece.
6. Klijent može vratiti svoju adresu šaljuci DHCPRELEASE poruku poslužitelju.
Klijent raspoznaje posudbu sa oznakom klijenta ili ‘chaddr’ i mrežnom adresom u
DHCPRELEASE poruci. Ako je klijent koristio oznaku klijenta kad je primio posudbu,
mora koristiti istu oznaku klijenta u DHCPRELEASE poruci.
18
istek vremena i ponovo šalje DHCPREQUEST poruku. Ponovo šalje DHCPREQUEST
prema algoritmu za ponovno slanje.
4. Klijent može vratiti svoju posudbu mrežne adrese tako da pošalje
DHCPRELEASE poruku poslužitelju. Svoju posudbu odre_uje s oznakom klijenta ili s
‘chaddr’ i mrežnom adresom u DHCPRELEASE poruci. Treba primijetiti da u ovom
slucaju klijent, kada zadržava svoju adresu lokalno, neće vratiti posudbu mrežne adrese
tokom uobicajenog iskljucivanja računala. Jedino ce klijent poslati DHCPRELEASE
poruku kada definitivno treba vratiti svoju posudbu mrežne adrese, npr. prilikom
premještaja klijenta na drugu podmrežu.
19
Poslužitelji trebaju poslati DHCPACK odgovor poruku pojedinacnom klijentu, na
adresu iz ‘ciaddr’ polja DHCPINFORM poruke. Poslužitelj treba provjeriti da li postoji
mrežna adresa iz DHCPINFORM poruke, ali ne smije provjeravati postoji li vrijeme
posudbe. Poslužitelj kreira DCHPACK poruku koja sadrži konfiguracijske parametre za
klijenta i šalje poruku izravno klijentu.
20
poruku sa nevažecom opcijom zatražena IP adresa, trebao bi odgovoriti klijentu s
DHCPNAK porukom. Postoji opcija i da se navedeni problem prijavi sistem
administratoru. Poslužitelj može uključiti poruku o grešci u opciji poruka (eng.:
message).
21
adresama može koristiti bilo koju od svojih mrežnih adresa za odlaznu DHCP poruku.
Polje oznaka poslužitelja se koristi za prepoznavanje DHCP poslužitelja u DHCP poruci,
i kao odredišna adresa od klijenta prema poslužitelju. Poslužitelj sa višestrukim mrežnim
adresama mora biti spreman prihvatiti bilo koju od svojih mrežnih adresa za
prepoznavanje tog poslužitelja u DHCP poruci. Da bi se riješio potencijalno nepotpune
mrežne povezanosti, poslužitelj mora, kao oznaku poslužitelja, izabrati adresu koja je
prema spoznajama poslužitelja dostupna od strane klijenta. Npr. ako su DHCP
poslužitelj i DHCP klijent povezani na istu podmrežu (npr. ‘giaddr’ polje u poruci od
klijenta je nula), poslužitelj mora izabrati IP adresu poslužitelja koju koristi za
komunikaciju u toj podmreži, kao oznaku
poslužitelja. Ako poslužitelj koristi višestruke IP adrese na toj podmreži, bilo koja od
tih adresa se može koristiti. Ako je poslužitelj primio poruku preko DHCP prijenosnog
agenta, DHCP poslužitelj mora izabrati adresu te mrežne kartice na koju je poruka
primljena, kao oznaku poslužitelja (osim ako poslužitelj ima druge bolje informacije na
temelju kojih može donijeti odluku). DHCP klijent mora koristiti IP adresu primljenu u
opciji oznaka poslužitelja, za svaki jednoznacni zahtjev prema DHCP poslužitelju.
DHCP poruka emitirana od klijenta, prije nego klijent dobije vlastitu IP adresu, mora u
polju izvorišne adrese u IP zaglavlju biti postavljena na nulu. Ako je ‘giaddr’ polje u
DHCP poruci od klijenta razlicito od nule, poslužitelj šalje odgovor na prikljucnoj tocki
67 (DHCP poslužitelj) na BOOTP prijenosnom agentu cija je adresa prikazana u
‘giaddr’ polju. Ako je ‘giaddr’ polje nula a ‘ciaddr’ polje razlicito od nule, tada
poslužitelj pošalje jednoznacnu poruku, DHCPOFFER i DHCPACK na adresu u
‘ciaddr’ polju. Ako je ‘giaddr’ nula i ‘ciaddr’ je nula, a broadcast bit je postavljen, onda
poslužitelj emitira DHCPOFFER i DHCPACK poruku na 0xfffffff. Ako broadcast bit
nije postavljen i ‘giaddr’ je nula i ‘ciaddr’ je nula, onda poslužitelj jednoznacno šalje
poruku DHCPOFFER i DHCPACK poruke na klijentovu fizičku adresu i ‘yiaddr’
adresu. U svakom slucaju, kad je ‘giaddr’ nula, poslužitelj emitira sve DHCPNAK
poruke na 0xffffffff. DHCP klijent je odgovaran za sva ponovna slanja poruka. Klijent
se mora prilagoditi strategiji ponovnog slanja koja uključuje proizvoljno eksponencijalni
odbijajuci algoritam da bi utvrdio odgodu izmeđuslanja. Odgoda izmeđuponovnih slanja
bi trebala biti izabrana tako da dozvoli dovoljno vremena da se dostavi odgovor od
22
poslužitelja ovisno o karakteristikama mreže izmeđuklijenta i poslužitelja. Npr. u 10Mb
ethernet mrežama, odgoda izmeđuprvogponovnog slanja trebala bi biti 4 sekunde,
prilago_ena vrijednosti proizvoljno izabranog broja iz raspona od –1 do +1. Odgoda
prije sljedeceg ponovnog slanja trebala bi biti 8 sekundi, prilago_ena vrijednosti
proizvoljnog broja od –1 do +1. Ponovno slanje bi se trebalo duplo povecati svakim
sljedecim ponovnim slanjem, do maksimalno 64 sekunde. Klijent može pružiti pregled
ponovnih slanja korisniku, kao pregled konfiguracijskog procesa. Polje transakcijski ID
(eng.: xid) se koristi od strane klijenta da bi se povezala dolazeca DHCP poruka, sa
pokrenutim zahtjevom. DHCP klijent mora izabrati transakcijski ID na takav način da
minimalizira šanse poklapanja vrijednosti transakcijskog ID-a sa drugim klijentom. Npr.
klijent može izabrati razliciti, nasumicno izabrani inicijalni, transakcijski ID svaki put
kad se ponovno pokrene i stalno koristiti taj transakcijski ID sve do sljedeceg ponovnog
pokretanja. Korištenje nove vrijednosti transakcijskog ID-a za svako ponovno slanje je
odluka koja ovisi o pojedinoj implementaciji. Klijent može ponovno koristiti isti
transakcijski ID ili izabrati novi za svako novo ponovno slanje poruke. DHCP poslužitelj
i BOOTP prijenosni agent pokušavaju klijentu izravno dostaviti DHCPOFFER,
DHCPACK i DHCPNAK poruke koristeći jednoznacno slanje. IP odredišna adresa (u IP
zaglavlju) je postavljena na DHCP ‘yiaddr’ adresu i odredišna adresa sloja veze je
postavljena na DHCP ‘chaddr’ adresu. Nažalost, implementacije nekih klijenata nisu u
mogućnosti primiti takav jednoznacno poslani datagram sve dok nije konfiguriran sa
valjanom IP adresom (dolazimo do slijepe ulice u kojoj se IP adresa klijenta ne može
dodijeliti sve dok klijent nije konfiguriran s IP adresom). Na klijentu koji ne može
primiti jednoznacno poslani IP datagram, sve dok program protokola nije konfiguriran
sa IP adresom, treba postaviti broadcast bit u polju zastave na jedan, u svakoj
DHCPDISCOVER ili DHCPREQUEST poruci koju šalje. Broadcast bit ce naznačiti
DHCP poslužitelju i BOOTP prijenosnom agentu da emitira sve poruke prema klijentu
na klijentovoj podmreži. Klijent koji može primiti jednoznacno poslani IP datagram
prije nego je njegov program protokola konfiguriran treba broadcast bit postaviti na
nula.
23
DHCP specifikacije opisuju samo interakciju izmeđuklijenta i poslužitelja kad
klijent i poslužitelj odluce da komuniciraju. DHCP poslužitelj ne treba odgovoriti na
svaku DHCPDISCOVER i DHCPREQUEST poruku koju primi. Npr. mrežni
administrator, da bi sacuvao vecu kontrolu nad klijentima povezanim na mrežu, može
konfigurirati DHCP poslužitelj da odgovara samo onim klijentima koji su prethodno
registrirani preko nekog vanjskog mehanizma. Odre_ene implementacije DHCP
poslužitelja mogu podržavati razne kontrole ili pravila koje zahtjeva mrežni
administrator. U nekim okruženjima, DHCP poslužitelj mora razmotriti vrijednosti u
opcijama klasa proizvo_aca (eng.: vendor class) opcijama unutar DHCPDISCOVER i
DHCPDISCOVER poruka prilikom odre_ivanja odgovarajucih parametara za pojedinog
klijenta. DHCP poslužitelj treba koristiti neku jedinstvenu oznaku da bi povezao klijenta
s njegovim vremenom posudbe. Klijent može izabrati da eksplicitno pruži identifikaciju
kroz opciju oznaka klijenta. Ako klijent pruži oznaku klijenta mora koristiti istu oznaku
klijenta u svim sljedecim porukama. Poslužitelj mora koristiti istu oznaku klijenta da bi
raspoznao klijenta. Ako klijent ne pruži opciju oznaku klijenta, poslužitelj mora koristiti
sadržaj ‘chaddr’ polja da bi prepoznao klijenta. Od iznimne je važnosti da DHCP klijent
koristi jedinstvenu oznakuklijenta u svojoj podmreži. Korištenje ‘chaddr’ kao
jedinstvene oznake može stvoriti neželjene rezultate, jer se jedinstvena oznaka može
povezati s mrežnom karticom koja se naknadno može prebaciti u neko drugo računalo.
Da bi se to izbjeglo, u nekim se implementacijama koristi serijski broj mrežne kartice ili
DNS ime kao oznaka klijenta. Potonji uzrokuje da posudba adrese bude povezana s DNS
imenom, radije nego s odre_enim dijelom fizicke komponente.
24
DHCPINFORM.
DHCPDISCOVER poruka
Kad poslužitelj primi DHCPDISCOVER poruku od strane klijenta, poslužitelj
odabire mrežnu adresu za tog klijenta. Ako nijedna adresa nije slobodna, poslužitelj
može prijaviti problem mrežnom administratoru. Ako ima slobodnih adresa, nova adresa
bi se trebala izabrati na sljedeci način:
- trenutna adresa klijenta koja je zapisana u trenutnim pregovorima klijenta
- prethodna adresa klijenta koja je zapisana u pregovoru klijenta (sad vec
završenom) , ako je ta adresa u skupu slobodnih adresa
- adresa zahtijevana u opciji zatražena IP adresa, ako je takva adresa valjana i nije vec
dodijeljena
- nova adresa iz skupa slobodnih adresa; adresa je izabrana na osnovi podmreže iz
koje je poruka primljena (ako je ‘giaddr’ jednako 0) ili na osnovu adrese prijenosnog
agenta koji je proslijedio poruku (ako je ‘giaddr’ razlicito od 0)
Poslužitelj mora izabrati vrijeme posudbe na sljedeci način:
- ako klijent nije zatražio odre_eno vrijeme posudbe u svojoj DHCPDISCOVER
poruci i ako klijent vec ima dodijeljenu mrežnu adresu, poslužitelj ce klijentu dodijeliti
jednako vrijeme posudbe
- ako klijent nije zatražio odre_eno vrijeme posudbe u DHCPDISCOVER poruci i
klijent nema vec dodijeljenu mrežnu adresu, poslužitelj ce mu dodijeliti lokalno
konfigurirano podrazumijevano vrijeme posudbe
- ako je klijent zatražio odre_eno vrijeme posudbe u DHCPDISCOVER poruci (bez
obzira da li vec ima dodijeljenu mrežnu adresu) poslužitelj može izabrati da mu ponudi
zatraženo ili neko drugo vrijeme
Jednom kad se odredi mrežna adresa i vrijeme posudbe, poslužitelj konstruira
DHCPOFFER poruku s ponu_enim konfiguracijskim parametrima. Važno je da svi
DHCP poslužitelji vrate iste parametre, da bi se osiguralo predvidljivo ponašanje
klijenta, bez obzira koji je poslužitelj klijent izabrao. Konfiguracijski parametri se
moraju izabrati koristeći ispod opisana pravila, po navedenom rasporedu. Mrežni
administrator je odgovoran da osigura jednoznacni odgovor svih poslužitelja.
Poslužitelj mora poslati klijentu:
25
- mrežnu adresu klijenta, kao što je opisano u prijašnjem tekstu
- vrijeme isteka posudbe klijenta
- parametre koje je klijent zatražio, prema sljedecim pravilima
ako je poslužitelj konfiguriran iskljucivo na osnovnu vrijednost, poslužitelj mora
uključiti tu vrijednost u odgovarajucu opciju polja opcije
ako poslužitelj prepozna da je parametar definiran u dokumentu zahtjevi klijenta
mora uključiti osnovnu vrijednost za taj parametar kao što je navedeno u tom
dokumentu
poslužitelj ne smije vratiti vrijednost za taj parametar.
Poslužitelj mora podržavati što više zatraženih parametara i mora zanemariti
parametre koje ne može pružiti. Poslužitelj mora uključiti svaki od zatraženih
parametara samo jednom, osim ako nije drugacije dozvoljeno u DHCP opcijama.
DHCPREQUEST poruka
DHCPREQUEST poruka može doci od klijenta kao:
odgovor na DHCPOFFER poruku od poslužitelja
potvrda prethodno dodijeljene IP adrese
produženje vremena posudbe.
Ako DHCPREQUEST poruka sadrži opciju oznaka poslužitelja, poruka je odgovor
na DHCPOFFER poruku. Ako nema, onda je to poruka zahtjeva potvrde ili produženja
postojeće posudbe. Ako klijent koristi oznaku klijenta u DHCPREQUEST poruci, onda
mora koristiti istu oznaku klijenta i u svim sljedecim porukama. Ako klijent uključi
popis zatraženih parametara u DHCPDISCOVER poruci, onda mora uključiti taj popis i
u svim naknadnim porukama. Konfiguracijski parametri u DHCPACK poruci ne smiju
biti u proturjecju s onim u prijašnjim DHCPOFFER porukama na koje klijent odgovara.
Klijent bi trebao koristiti parametre iz DHCPACK poruke za konfiguraciju.
DHCPDECLINE poruka
Ako poslužitelj primi DHCPDECLINE poruku, to znači da je klijent, koristeći neke
druge načine, otkrio da je predložena mrežna adresa vec u upotrebi. Poslužitelj mora
označiti tu mrežnu adresu kao nedostupnu i treba obavijestiti lokalnog mrežnog
administratora o mogucim konfiguracijskim problemima.
DHCPRELEASE poruka
26
Nakon primitka DHCPRELEASE poruke, poslužitelj oznacava navedenu mrežnu
adresu slobodnom za dodjelu. Poslužitelj bi trebao sacuvati podatke o inicijalizacijskim
parametrimaklijenta za mogucu ponovnu upotrebu u odgovoru na naknadne
nadovezujuce poruke od strane klijenta.
DHCPINFORM poruka
Poslužitelj odgovara na DHCPINFORM poruku šaljuci DHCPACK poruku. Odgovor
šalje izravno na adresu koja je navedena u ‘ciaddr’ polju DHCPINFORM poruke.
Poslužitelj prema klijentu ne smije slati vrijeme isteka posudbe i ne smije popunjavati
‘yiaddr’ polje.
PORUKE KLIJENTA
Tablica 4. detaljno prikazuje razlike izmeđuporuka klijenta iz razlicitih stanja.
27
Slika 5. Dijagram stanja-prijelaza za DHCP klijente
29
koristiti tu adresu u DHCPDISCOVER ili DHCPREQUEST poruci, umjesto da
emitirana cijeloj podmreži. Klijent tako_er može jednoznacno slati DHCPINFORM
poruku poznatom DHCP poslužitelju. Ako klijent ne dobije odgovor na DHCP poruku
poslanu na IP adresu poznatog DHCP poslužitelja, onda emitira zahtjev.
30
3. ZAKLJUČAK
Korištenjem DHCP poslužitelja omogućeno je centralizirano upravljanje nad
dodjelom IP adresa i ostalih mrežnih parametara, koje nije ograničeno sa jednom
podmrežom jer DHCP poslužitelj može dodjeljivati IP adrese klijentima na više
podmreža, po potrebi koristeći usmjerivače i prijenosne agente. U slučaju potrebe za
promjenama, npr. IP adrese DNS poslužitelja, dovoljno je napraviti promjenu na jednom
centralnom DHCP poslužitelju. DHCP servis je normalna i očekivana stvar čak i u
mrežama sa par računala, a da ne govorimo o firmama sa velikim brojem računala.
Među prvim je servisima koji se implementiraju u mrežnoj infrastrukturi. Na njega se
obično naslanja DNS servis sa kojim ima definiranu interakciju, npr. prilikom koje vrši
registriranje PTR pokazivačkih zapisa koji se koriste za inverzno pretraživanje
(nalaženje imena računala po zadatoj IP adresi računala). Kao servis je definiran od
strane IETF organizacije (velika otvorena internacionalna organizacija mrežnih
dizajnera, istraživača, operatera i proizvođaca) pa nije vezan uz određenog proizvođaca,
bilo programa, bilo fizičkih uređaja. To mu omogućava jednostavnu interoperabilnost pa
su nerijetki scenariji da u jednoj mrežnoj infrastrukturi koegzistira DHCP poslužitelj
baziran na Windows Server platformi, fizičkom uređaju ili Linux platformi. Stabilnost
DHCP poslužitelja je najbolja kod fizičkog uređaja, u ovom slučaju Cisco usmjerivača,
za razliku od Linux i Microsoft platforme gdje uslijed blokiranja bilo koje programske
komponente može doći do blokiranja kompletnog poslužitelja pa tako i DHCP servisa.
Prednost Microsoft DHCP poslužitelja je jednostavno dodavanje dodatnih servisa i
njihova integracija sa postojećim servisima, npr. vrlo je jednostavno naknadno dodati
DNS servis u postojeće mrežno okruženje sa DHCP servisom. DHCP servis će
automatski, po osnovnoj postavci, obavljati registraciju adresnih i/ili pokazivačkih
zapisa na DNS poslužitelju. Slična stvar se događa ukoliko npr. poželimo implementirati
RRAS servis i VPN pristup, gdje nam se nudi opcija dodjeljivanja adresa za vanjske
klijente iz postojećeg DHCP skupa. Među prednosti DHCP poslužitelja na Microsoft
platformi definitivno spada i pregledno grafičko sučelje koje nam nudi nadzor nad
radom DHCP poslužitelja, jednostavan pregled izdanih IP adresa, konfiguracijskih
parametara i upravljanje rezervacijama. DHCP poslužitelj na Linux platformi nam
naizgled omogućava jednostavniju inicijalnu konfiguraciju, jer u datoteci dhcpd.conf
31
imamo primjere koji se mogu lako prilagoditi željenoj mrežnoj infrastrukturi, u običnom
tekst editoru. Nakon toga je potrebno pokrenuti DHCP servis koji učitava postavke iz
navedene datoteke i imamo funkcionalan DHCP poslužitelj. Mana DHCP poslužitelja na
Linux platformi je loša dokumentiranost odnosno nedostatak kvalitetne detaljne
dokumentacije jer je riječ o besplatnom softveru otvorenog programskog koda. Situaciju
dodatno pogoršava velik broj distribucija Linux baziranih operativnih sustava. Primjera
radi, lako se može doći do konkretnih primjera konfiguracije DHCP poslužitelja iz
prakse, no vrlo teško je naći detaljnije opise naredbi i sintakse za iste, ili načina
komunikacije između pojedinih komponenti. Kao što se i može vidjeti iz ovog rada,
DHCP je robustan servis na sve tri platforme. Dobro je prihvaćen od strane mrežnih
administratora zbog toga što obavlja cjelokupni posao dodjeljivanja IP adresa i ostalih
mrežnih parametara DHCP klijentima, što im olakšava posao. Smanjuje se broj konflikta
IP adresa koji su česta pojava kod ručnog definiranja IP adresa, pa se samim time
smanjuje i broj interventnih situacija.
32
4. LITERATURA
33