DNS – Domain Name System

De fiecare dată când primiţi un mail, de fiecare dată când accesaţi o pagină web, folosiţi DNS-ul. De fapt, peste 2 miliarde de astfel de cereri solicită root-serverele de DNS în fiecare zi. Fiecare dintre aceste 2 miliarde vin de la un DNS ce suportă un grup local de useri.

Internetul, sau orice altă reţea, funcţionează alocînd un IP local sau global fiecărui endpoint(host, server, router, interfaţă,etc.). Fără această posibilitate de asignare a unui nume unei resurse anume, de fiecare dată când am vrea să accesăm o resursă din reţea, de exemplu situl www.abcdefg.com, ar trebui să ştim adresa ei IP, cum ar fi 192.168.100.122. Cu sute de milioane de hosturi şi cu încă vreo 50 de milioane de situri, este cam imposibil…nu? :-) Ar fi chiar dificil chiar şi pentru câteva zeci de hosturi şi resurse.

Pentru a rezolva această problemă, conceptul de “name servers” a fost creat la mijlocul anilor ’70, astfel încât anumite atribute ale unei resurse, în acest caz adresa IP, să fie păstrate într-o locaţie bine-cunoscută, ideea principală fiind că este mult mai uşor de memorat un nume decât o adresă numerică.

Când într-o reţea este prezent un name server, orice host are nevoie să ştie doar adresa IP a acelui server şi numele resursei, numele unui site de exemplu ce se vrea accesat. Folosind această informaţie, poate afla adresa(sau orice atribut sau proprietate) resursei interogînd (querying) name serverul. Resursele pot fi adăugate, mutate, schimbate, sau şterse într-o singură locaţie, din name server, iar noile informaţii fiind imediat disponibile pentru fiecare host ce foloseşte acest name server. Name serverul este o simplă bază de date ce traduce numele în proprietăţi(adrese IP) şi vice versa. Name serverele simplifică managementul unei reţele şi totodată face ca o reţea să fie mai dinamică şi receptivă la schimbări.

Totuşi pot exista şi probleme…Dacă name serverul nostru nu este disponibil din orice motiv, hosturile din reţea nu pot accesa nicio resursă. Avem de a face astfel cu un name server ca şi resursă critică. Astfel că ar fi bine dacă am avea mai mult de un name server în caz de outage. Soluţia iniţială a disponibilităţii name serverului a fost introducerea de Primary şi Secondary name servere. Aşa de important este acest serviciu de DNS, că astăzi putem vedea liste de câte 3,4 sau mai multe servere de DNS.

Cu cât reţeaua noastră creşte mai mult, începem să construim un număr serios de nume în serverul nostru de DNS. Astfel se ridică 3 probleme importante:

1. Organizare: găsirea unei intrări în baza de date devine din ce în ce mai greoaie când căutăm prin milioane de nume. Ne trebuie o metodă de indexare şi organizare a numelor.

2. Scalability: Dacă fiecare host accesează DNS-ul, încărcătura devine foarte ridicată. Este necesar un procedeu de a “împrăştia” încărcătura pe mai multe name servere.

3. Management: Cu cât creşte numărul de înregistrări în baza noastră de date, problema managementului devine una stringentă, deoarece mai mulţi administratori încearcă să updateze înregistrările în acelaşi timp. Avem nevoie de o metodă de separare(delegating) a administrării acestor nume(resurse).

Nevoia de a satisface aceste 3 cerinţe a condus la crearea şi evoluţia Internet Domain Name System.

Internet’s Domain Name System este o implementare specifică a conceptului de name server, optimizat pentru a face faţă condiţiior din Internet. Avem 3 cerinţe:

-nevoia de ierarhizare a numelor;

-nevoia de împărţire a încărcării operaţionale a name serverelor;

-nevoia de delegări diferite pentru administrarea name serverelor.

Domenii şi delegare

DNS-ul foloseşte o structură de tip tree(ierarhică) pentru nume. În vârful “copacului” :) este nodul root, urmat de Top-Level Domains (TLDs), apoi de Second-Level Domains (SLD) şi tot aşa…cu câte nivele dorim, fiecare separate de un punct(.).

De cele mai multe ori, root-ul este reprezentat cu un punct(.).

TLD-urile sunt împărţite în două tipuri:

1. Generic Top-Level Domains (gTLD): de exemplu, .com, .edu, .net, .org, .mil, etc.

2. Country Code Top-Level Domains (ccTLD): de exemplu, .us, .ca, .tv, .uk, .ro, etc.

Mai jos aveţi o schemă care sper să fie cât de cât edificatoare în ce priveşte ierarhizarea domeniilor:

Ceea ce denumim în mod curent nume de domeniu, este format dintr-o combinaţie de SLD şi TLD, scris de la stânga la dreapta cu cel mai inferior nivel din ierarhie scris în stânga şi cu cel mai înalt în dreapta: sld.tld .

Termenul de Second-Level Domain vine de la nodul definit la al doilea nivel al ierarhiei. La fel şi cu Third-Level Domain. Să luam un domeniu exemplu: exemplu.com. Care este SLD-ul? Păi SLD-ul este “exemplu”, iar TLD-ul este “com”…iar “punctul” de la sfârşit este chiar root-ul.

Cam atât pentru început despre DNS…sper că aţi înţeles cam ce înseamnă acest serviciu foarte important. O să continuăm în materialele următoare să îl aprofundăm, configurăm, etc.

Numai bine vă urez!

Post a Response

Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Romania License.