Domain Name System

(abreviat DNS, în traducere literală Sistemul Numelor de Domenii) este un sistem distribuit de nume utilizat pentru identificarea calculatoarelor din Internet sau din alte rețele pe bază de Internet Protocol (IP).
 
Caracteristicile sistemului de nume (DNS) sunt: 
 folosește o structură ierarhizată;
 deleagă autoritatea pentru nume;
 baza de date cu numele și adresele IP este distribuită.
 
Fiecare implementare TCP/IP conține o rutină software (name resolver) specializată în interogarea serverului de nume (DNS) în vederea obținerii translatării nume/adresă IP sau invers.
 
Există 2 tipuri de rezoluție de nume:
 rezoluție recursivă (name resolverul cere serverului de nume să facă translatarea);
 rezoluție iterativă (name resolverul cere serverului de nume să îi furnizeze adresa IP a unui server care poate face translatarea).
 
Tipic, procesul de rezoluție a numelor se desfășoară astfel:
 Name resolverul primește de la o aplicație client TCP/IP un nume; acesta formulează o interogare primului server de nume din lista serverelor;
 Serverul de nume (DNS) determină daca este mandatat (autorizat) pentru domeniul respectiv (dacă există configurată o zonă DNS care conține numele respectiv);
 Dacă este autorizat, transmite răspunsul clientului;
 Dacă nu, transmite o interogare altui server de nume pentru un răspuns autorizat; obține răspunsul autorizat și transmite clientului un răspuns neautorizat; totodată stochează răspunsul local pentru a răspunde la alte cereri pentru același nume.
 Resolverul de nume transmite răspunsul aplicației utilizator și îl păstrează într-un cache pentru o anumită perioadă;
 Dacă name resolverul nu primește un răspuns într-un anumit timp, transmite cererea următorului server de nume din listă. Când lista este epuizată, va genera o eroare.
 
Protocolul DNS 
 
Redirectorul. La un calculator conectat la o rețea se pot executa atât aplicații care necesită
numai resursele sistemului respectiv (programe de calcul tabelar, programe de procesare de
texte etc.), cât și aplicații care accesează resursele rețelei (browsere de navigare în internet
etc.). Nivelul aplicație este cel care permite accesul aplicațiilor la mediul de rețea. 
 
Într-o rețea LAN, redirectorul este protocolul care lucrează la nivelul sistemului de operare al
calculatorului și permite să se facă distincție între cererile adresate unității centrale a
calculatorului respectiv și cele adresate unui server. Redirectorul permite administratorului de
rețea să atribuie nume logice resurselor aflate pe diverse unități, iar utilizatorul, pentru a accesa o anumită resursă, va utiliza numai acești identificatori, fără nici o referință la rețeaua respectivă. Astfel, redirectoarele extind componentele software locale. Astfel, este posibilă
utilizarea în comun a resurselor logice și fizice ale rețelei, precum și integrarea aplicațiilor locale cu cele de rețea. 
 
Fiecare “site” de pe Internet are alocată o adresă IP. Folosirea de către utilizatorii obișnuiți a acestor adrese este dificilă și poate genera erori. Astfel, este necesar un protocol care să facă corespondența dintre numele diverselor componente de rețea și adresele lor IP. Această
problemă este rezolvată de către protocolul DNS (Domain Names System).
 
Domeniul este un grup de calculatoare care sunt asociate prin localizarea lor geografică sau prin tipul de activitate al organizației pe care o deservesc. Numele de domeniu este un șir de caractere și/sau numere, de obicei un nume sau prescurtarea unui nume.  
 
La începutul existenței Internetului, când numărul de calculatoare legate în rețea era relativ
mic, a existat o tabelă realizată de organizația NIC (Network Information Center), care făcea
corespondența dintre adresa IP și numele gazdei. Numele de gazde erau șiruri de caractere,
fără a avea o organizare ierarhică.  Aceste corespondențe erau introduse manual în tabelă și
erau transmise tuturor administratorilor de rețele conectate la Internet.  
 
Ierarhia de domeniu. DNS implementează un spațiu ierarhizat de nume pentru obiectele din Internet. Spre deosebire de numele de fișiere (calea către acestea), care sunt prelucrate de la dreapta la stânga, fiind separate de slash-uri, numele DNS sunt prelucrate de la stânga la dreapta, separatorul fiind caracterul “.”. Asemănător ierarhiei de fișiere, ierarhia DNS poate fi văzută ca un arbore. 
 
Servere de nume Primul pas în organizarea acestor servere este partiționarea ierarhiei în zone. Fiecare zonă poate fi gândită ca fiind corespondentă la o anumită autoritate
administrativă, responsabilă pentru acea porțiune a ierarhiei.

Principalele caracteristici ale DNS 
DNS are următoarele caracteristici:
 Repartizarea administrației. Diferite persoane sau organizații sunt responsabile pentru diferite părți ale structurii ierarhice.
 Distribuirea stocării informațiilor. Fiecare gazdă din rețea trebuie să stocheze doar datele care se află în aria sa de responsabilitate și (eventual) adresele serverelor DNS rădăcină.
 Memorarea în cache a informațiilor. Un nod poate stoca o anumită cantitate de date în afara zonei sale de responsabilitate pentru a reduce încărcarea rețelei.
 Structură ierarhică, în care toate nodurile sunt combinate într-un arbore și fiecare nod poate fie să determine în mod independent munca nodurilor inferioare, fie să le delege (transferă) către alte noduri.
 Rezervare. Mai multe servere (de obicei) sunt responsabile de stocarea și întreținerea nodurilor (zonele) lor, separate atât fizic, cât și logic, ceea ce asigură siguranța datelor și continuarea lucrului chiar dacă unul dintre noduri eșuează.
DNS este important pentru funcționarea Internetului, deoarece necesită informații despre adresa IP a unei gazde pentru a se conecta la o gazdă și este mai ușor să vă amintiți adresele alfabetice decât șirurile de numere. În unele cazuri, acest lucru permite utilizarea serverelor virtuale, cum ar fi serverele HTTP, distingându-le după numele cererii. Inițial, conversia între domenii și adrese IP a fost efectuată folosind un fișier text special hosts, care a fost compilat central și trimis automat la fiecare dintre mașinile din rețeaua locală. Odată cu creșterea Web-ului, a fost nevoie de un mecanism eficient, automatizat, care a devenit DNS. Cu toate acestea, utilizarea gazdelor hosts este cea mai simplă modalitate de a verifica site-ul web migrat înainte de a schimba DNS-ul. DNS a fost dezvoltat de Paul Mokapetris în 1983; descrierea originală a mecanismelor de lucru este conținută în RFC 882 și RFC 883. În 1987, publicarea RFC 1034 și RFC 1035 a schimbat specificația DNS și a depreciat RFC 882, RFC 883 și RFC 97

Legături externe

 
 Zytrax.com, Open Source Guide – DNS for Rocket Scientists.
 Domain Name System on Microsoft TechNet
 Internet Governance and the Domain Name System: Issues for Congress Congressional Research Service

Referințe