Dynamic Host Configuration Protocol version 6

DHCPv6

Trumpas įvadas į DHCP

DHCP (Dynamic Host Configuration Protocol) naudojamas prietaisų konfigūravimui, kurie yra prijungti prie tinklo, tam kad jie galėtų komunikuoti tinkle naudojantis IP adresais. Protokolas įgyvendintas klientas-serveris modelyje, kuriame DHCP klientai prašo konfigūracijos duomenų (IP adreso, DNS serverių adresų) iš DHCP serverio. Su DHCP kiekvienas tinklas turi turėti DHCP serverį, kuris yra atsakingas už viso tinklo konfigūraciją. Kai kompiuteris paleidžiamas, jis ištransliuoja prašymą suteikti jam IP adresą savo tinkle. Tai jis daro išsiųsdamas DHCP DISCOVER paketą. Šis paketas turi pasiekti DHCP serverį. Jei serveris nėra šiame tinkle, maršrutizatorius turi būti sukonfigūruotas taip, kad jis galėtų perduoti ir priimti užklausas iš DHCP serverio, kad ir kur jis būtų. Kai serveris gauna prašymą, jis rezervuoja laisvą IP adresą ir išsiunčia jį klientui DHCP OFFER paketu (kuris gali būti perduodamas per maršrutizatorių). Tam, kad tai būtų galima padaryti klientui, kuris neturi IP adreso, serveris identifikuoja klientą naudojantis jo eterneto adresu, kuris yra nusiunčiamas su DHCP DISCOVER paketu. Kai klientas gauna DHCP OFFER paketą, jis atsako DHCP REQUEST paketu prašydamas pasiūlyto adreso. Klientas gali gauti DHCP pasiūlymus iš keletos serverių, bet sutiks tik su vienu pasiūlymu. Tada serveris gavęs šį paketą išsiųs DHCPACK paketą, kurio suteikiama informacija apie IP adreso galiojimo trukmę ir visa kita informacija, kurios klientas užprašė. Po šio įvykio IP konfigūracijos procesas pasibaigia. Visą šį procesą galite pamatyti pirmame paveiksle. Vis gi iškyla šiokia tokia problema – kiek ilgai IP adresas turėtų būti suteikiamas. Jei klientas palieka tinklą ir negražina IP adreso DHCP serveriui, adresas gali būti prarastas visiems laikams. Po kiek laiko daug adresų gali būti prarasti. Kad taip nenutiktų IP adresai yra skiriami fiksuoto laiko periodui. Prieš pat pasibaigiant šiam laikui, klientas turi prašyti DHCP atnaujinimo. Jei nepavyksta to padaryti arba prašymas atmetamas, klientas nebegali naudoti jam anksčiau suteikto IP adreso.

DHCP veikimo principas2.jpg
1 pav. DHCP veikimo principas

Antrajame paveiksle pavaizduotas DHCP veikimo principas, kai klientas prašo serverio atnaujinti IP adreso galiojimo laiką.

Detalesnis DHCP veikimo principas2.jpg
2 pav. Detalesnis DHCP veikimo principas

DHCPv6 atsiradimas

IPv6 buvo kurtas norint atsikratyti priklausomybės nuo DHCP. Klientai turėtų sugebėti patys konfigūruoti sau adresus. Bendraudamas su maršrutizatoriumi klientas turėtų gauti visą reikiamą informaciją pačiam susikonfigūruoti globalų adresą. Vis dėlto trūkstama dalis buvo DNS serveriai ir kita tinklo aplikacijų informacija. Taigi ir vėl DHCPv6 buvo pabrėžta kaip reikalinga paslauga daugumoje tinklų. Tačiau prireikė daug laiko, kad ji būtų įdiegta - Mac OS/X Lion išleistame 2011 metais buvo pirmasis DHCPv6 palaikymas.

DHCPv6 rėžimai

DHCPv6 gali dirbti įvairiuose rėžimuose palyginus su DHCPv4.

•Rankinis nustatymas:
IPv6 adresas gali būti sukonfigūruotas žmogaus, tačiau toks būdas nėra saugus, gali būti iššaukiamos klaidos.
•Be nustatytos būsenos adreso autokonfigūravimas:
Šis būdas pats patogiausias skiriant IPv6 adresus. Jis nereikalauja žmogaus įsikišimo. Svarbu yra tai, kad tinkle turi būti bent vienas IPv6 maršrutizatorius, kuris (sukonfigūruotas administratoriaus) išsiunčia pranešimus klientui. Šie pranešimai gali leisti klientui savarankiškai konfigūruoti sau IPv6 adresą ir maršrutizavimo parametrus be tolimesnio žmogaus įsikišimo.

Be nustatytos būsenos adreso autokonfigūravimas2.jpg
3 pav. Be nustatytos būsenos adreso autokonfigūravimas

•Be nustatytos būsenos DHCPv6 rėžimas:
Šis rėžimas labai panašus į be nustatytos būsenos adreso autokonfigūravimo rėžimą, tik čia klientas gali gauti papildomos informacijos - tokios kaip DNS ir NTP serverių adresai. Taip pat serveriui nereikia laikyti informacijos apie suteiktus IPv6 adresus, taigi nėra ir IP atnaujinimo užklausų. Tai smarkiai sumažina DHCPv6 žinučių skaičių.
•Su nustatyta būsena DHCPv6 rėžimas:
Klientas turi konfigūruoti savo IP adresą su DHCPv6 pagalba (kaip ir su DHCPv4). DHCPv6 įgalina DHCP serverius perduoti konfigūracijos parametrus, tokius kaip IPv6 interneto adresus IPv6 klientams.
•DHCPv6-PD rėžimas:
DHCPv6-PD nutaikytas suteikiant pilnus potinklius ir kitus sąsajos parametrus iš DHCPv6-PD serverio DHCPv6-PD klientui. Tai reiškia, kad vietoj vieno adreso suteikimo, DHCPv6-PD suteiks būrį IPv6 potinklių. Tai leidžia DHCPv6-PD klientui gavus būrį IPv6 adresų juos išdalinti dinamiškai kitiems su IPv6 pritaikytais įrenginiams.

DHCPv6 kliento-serverio komunikacija

DHCPv6 pranešimais apsikeičiama per UDP protokolo 546 ir 547 portus. Klientai klauso DHCP pranešimų per UDP 546 portą, o serveriai per UDP 547. Prijungtas į tinklą kompiuterį, jis, pirmiausia, išsiunčia SOLICIT (1) pranešimą, tam kad rastų DHCPv6 serverius. Serveris atsako ADVERTISE (2) paketu, pranešdamas kad DHCP paslauga yra galima. Tada klientas išsiunčia REQUEST (3) pranešimą prašydamas konfigūracijos parametrų, tokių kaip IP adresas. Po šio pranešimo klientas gali išsiųsti CONFIRM (4) pranešimą norėdamas nustatyti ar adresas, kuris buvo jam paskirtas, vis dar tinkamas sąsajai prie kurios klientas yra prisijungęs. Tai gali atsitikti kai klientas aptinka kad sąsajos lygmenyje įvyko koks pasikeitimas. Taip patikrinama ar klientas naudojasi dar ta pačia sąsaja ar ji pasikeitė. Taip pat klientas gali išsiųsti RENEW (5) pranešimą serveriui, kuris jam anksčiau jau suteikė IP adresą, tam kad būtų pratęstas laikas suteiktiems adresams ir atnaujinti kai kuriuos sujungimo parametrus. Po šio pranešimo gali būti siunčiamas REBIND (6) pranešimas, kuriuo klientas siunčia pranešimą bet kuriam DHCP serveriui, norėdamas pratęsti IP adreso galiojimą ir atnaujinti sujungimo parametrus. Galiausiai serveris atsako į šiuos pranešimus REPLY (7) paketu. Siunčiama informacija apie konfigūracijos parametrus ir atsakymas į CONFIRM pranešimą, nurodant ar klientas prisijungęs prie tos pačios sąsajos. Tada klientas gali siųsti RELEASE (8) pranešimą serveriui nurodydamas, kad jis nebesinaudos vienu ar keliais jam suteiktais adresais. Klientas taip pat gali siųsti DECLINE (9) pranešimą, nurodydamas, kad jis nustatė, jog vienas ar keli adresai, kuriuos suteikė serveris, jau yra naudojami. Serveris gali siųsti RECONFIGURE (10) pranešimą paskelbdamas, kad pasikeitė konfigūracijos parametrai ir taip priversdamas klientą išsiųsti RENEW pranešimą. Klientas gali siųsti ir INFORMATION-REQUEST (11) pranešimą, prašydamas suteikti jam konfigūracijos parametrus, nesuteikiant IP adreso. Paprasčiausias ryšio užmezgimas su DHCPv6 serveriu pavaizduotas 4 paveiksle. Jeigu DHCP serveriai yra kitame tinkle, visi pranešimai turi būti įdėti į RELAY-FORW ir RELAY-REPL pranešimus (kaip parodyta 5 paveiksle).

DHCPv6 veikimas2.jpg
4 pav. DHCPv6 veikimas

DHCPv6 veikimas jei tinkle yra ryšio agentas2.jpg
5 pav. DHCPv6 veikimas, jei tinkle yra ryšio agentas

Adresų rezervavimas panašus kaip ir DHCPv4, vienintelis skirtumas yra tame, kaip prietaisas identifikuoja save DHCP serveriui. DHCPv4 pagrįstas MAC adresais. Pradinis teiginys buvo, kad dažniausiai klientas turi tik vieną prieigos prie interneto sąsają. Pasaulis pasikeitė ir dabar dauguma įrenginių turi po kelias tokias sąsajas. Kompiuteris gali būti prijungtas prie interneto per Bluetooth, WLAN, Firewire ir eterneto tuo pačiu metu, plius USB 3G moduliu. DHCPv6 turi kliento identifikatorių vadinamą DUID – Device UID – ir būrį sąsajos identifikatorių. Kiekviena sąsaja turi ID, pavadintą IAID (Interface Association Identifier), kuri suriša sąsają ir vieną iš kelių IP adresų. Kiekviena rezervacija DHCPv6 serveryje identifikuojama DUID ir IAID. Pagrindinis klausimas, kaip šie yra sukuriami. Tai ne tas pats kas MAC adresas, bet gali būti pagrįsti juo. DUID identifikatoriumi gali būti:
1. Sujungimo lygmens adresas plius laikas;
2. Gamintojo sukurtas unikalus ID;
3. Sujungimo lygmens adresas.
DUID turi būti globaliai unikalus, bet kartu ir lengvai generuojamas. Gamintojai turėtų paskirti DUID identifikatorius kiekvienam įrenginiui ir spausdinti juos šalia senojo MAC adreso. Tapatumo sujungimas (identity-association (IA) tai darinys per kurį serveris ir klientas gali identifikuoti, grupuoti ir tvarkyti IPv6 adresus. Kiekvienas IA susideda iš IAID ir susijusios konfigūracijos informacijos. Kiekvienas klientas turi turėti bent vieną išskirtinį IA kiekvienam jo interneto sąsajos įtaisui, kurie gali prašyti IPv6 adreso iš DHCP serverio. Klientas naudoja IA priskirtą sąsajos įtaisui gauti konfigūracijos informaciją iš serverio. Kiekvienas IA turi būti susietas tik su viena sąsaja. IAID unikaliai identifikuoja IA ir kiekvienas IAID turi būti unikalus kliento kompiuteryje. IAID pasirenka pats klientas. IAID kodas turi pastovus ir nesikeisti. Klientas šį kodą gali saugoti pasirinktoje talpykloje arba naudoti generavimo algoritmą, kuris visada sugeneruos tą patį IAID. IAID ir DUID kodų pavyzdys 6 paveiksle.

IAID ir DUID pavyzdys2.jpg
6 pav. IAID ir DUID pavyzdys

paskutinį kartą redaguota 2013-10-20 09:12:36 redaktoriaus Saulius