Domain Name Servers

by donpedro

De fiecare dată când navigaţi pe Internet sau trimiteţi un email folosiţi cel puţin un nume de domeniu (domain name). Spre exemplu adresa www.electronica-azi cât şi office@electronica-azi.ro conţin numele de domeniu electronica-azi.ro. Un astfel de nume este uşor de reţinut pentru orice persoană, dar pentru un computer este imposibil de folosit. Toate computerele conectate la Internet folosesc un cod unic pentru a se recunoaşte şi anume adresa IP (în cazul electronica-azi.ro adresa IP este 193.230.177.3). Pentru a face corespondenţa între numele domeniului şi adresa sa este necesar un Domain Name Server sau DNS. Aceste servere formează împreună cea mai mare bază de date distribuită existentă, iar fără ele Internetul nu ar putea funcţiona. Îmi propun să vă explic mai jos principiile de funcţionare ale acestor servere.
Rezervarea unui nume de domeniu (adică obţinerea adresei IP corespunzătoare) poate părea un lucru simplu. Ar fi cu siguranţă dacă nu ar fi nevoie să se ţină cont de câteva considerente.
– există sute de milioane de perechi IP – nume domeniu;
– un utilizator poate emite câteva sute de cereri într-o singura zi, şi milioane de oameni folosesc Internetul zilnic;
– milioane de nume de domenii şi adresele IP se schimbă zilnic sau apar unele noi;
Nici o altă bază de date nu primeşte atât de multe cereri şi suferă atât de multe schimbări, ceea ce face ca sistemul să fie într-adevar unic.
Adresa IP este formată din patru cifre de la 0 la 255 (Ex: 193.230.177.3), numărul mare de combinaţii permiţând ca fiecare calculator legat la Internet să aibă o adresă proprie unică. Un caz special sunt calculatoarele care se conectează prin dial-up (linie telefonică). Acestea primesc o adresă IP dintre cele disponibile la furnizorul de servicii Internet (ISP-ul) atât timp cât rămâne conectat. În momentul deconectării adresa se eliberează urmând ca la o eventuală reconectare să primească o alta, nu neapărat aceeaşi. Pentru un calculator conectat prin cablu sau un server adresa de IP se va schimba foarte rar sau de loc.
Aşadar, o adresă IP este tot ceea ce are nevoie browserul dumneavoastră pentru a vă oferi o pagină web. Dacă introduceţi http://193.230.177.3 veţi obţine serverul pe care este găzduit siteul www.electronica-azi.ro, numele de domeniu fiind doar o convenţie pentru uşurinţa navigării. Pentru mai multe detalii despre adresele IP puteţi vizita http://www.iana.org.
Dacă obişnuiţi să navigaţi regulat pe Internet, probabil că puteţi reproduce pe loc câteva nume de domenii gen www.kappa.ro, groups.yahoo.com sau ftp.microsoft.net. Extensiile .ro, .com sau .net reprezintă domenii de primul nivel (sau Top-Level Domains – TLD). Sunt câteva sute de astfel de domenii incluzând .com (prescurtare de la comercial), .net (network), .org (organizaţie), .gov, etc. precum şi câte un indicativ pentru fiecare ţară (.ro pentru România, .fr pentru Franţa, etc). Pe lângă acestea numele gen kappa, yahoo, microsoft reprezintă domenii de nivel doi (second level domains – acestea pot conţine orice combinaţie de litere şi caracterul special “-“). O adresă de genul www.bbc.co.uk este o adresă cu nume de domeniu de nivel trei. Deşi sunt posibile nume de domenii până la 127 de nivele, mai mult de patru nivele se întâlnesc foarte rar. Prima extensie (www, ftp, groups) reprezintă host name-ul pentru a diferenţia o anume maşină dintre cele care deservesc acelaşi domeniu. Numărul acestora poate fi nelimitat atât timp cât sunt unice pentru un acelaşi domain name.
În concluzie, numele de domenii se supun şi ele anumitor reguli, necesare pentru a le garanta unicitatea. Cu toate acestea este necesară existenţa unei organizaţii care să verifice acest lucru şi care să nu permită înregistrarea de două ori a aceluiaşi nume. Fiecare ţară are o astfel de organizaţie, în România responsabil fiind RNC (Romanian National Computer Network). Aceasta are rolul de a monitoriza numele înregistrate într-o bază de date cu numele de whois. Aceste date sunt publice şi puteţi verifica lista de domenii înregistrate în .ro de pe site-ul http://www.rnc.ro. Pentru domeniile cu extensii ce nu aparţin unei ţări anume, responsabil este Network Solutions a cărui bază de date whois este disponibilă la http://www.networksolutions.com/cgi-bin/whois/whois. Odată cu înregistrarea unui domeniu, aceste autorităţi vă vor crea şi o înregistrare în serverul DNS propriu.
Pentru o firmă mare (de exemplu Microsoft) care deţine un număr mare de domenii sau care oferă servicii de webhosting este totuşi incomod să apeleze la Network Solutions (sau RNC) de câte ori doresc să modifice o înregistrare în serverul DNS. Aceste firme, şi nu sunt puţine, au posibilitatea de a menţine şi administra propriile servere DNS. Astfel baza de date cu corespondenţele IP – domain name este distribuită în milioane de computere administrate separat. A fost nevoie de gândirea unui sistem care să poată permite funcţionarea ireproşabilă chiar şi în aceste condiţii.
Un server DNS acceptă cereri de la programe (client de mail, browser) sau chiar de la alte servere DNS. Acesta poate face patru lucruri în funcţie de numele de domeniu primit:
– poate răspunde cu adresa IP a numelui căutat atât timp cât aceasta se află în baza de date pe care o găzduieşte;
– poate contacta un alt server DNS pentru a afla adresa dorită (şi acest lucru îl poate face de mai multe ori);
– poate răspunde că nu are nici o informaţie despre numele căutat şi redirectează la un alt server DNS ce poate conţine informaţiile dorite;
– poate returna un mesaj de eroare pentru că domeniul cerut nu există sau este invalid.
Să presupunem că dumneavoastră introduceţi în browser adresa https://www.electronica-azi.ro. Browser-ul va contacta serverul DNS pe care l-aţi introdus dumneavoastră în setările conexiunii Internet (sau pe cel atribuit automat de către ISP-ul folosit). Acesta poate furniza browserului adresa IP exactă dacă o ştie (sau dacă i-a mai fost cerută recent şi se află în cache-ul serverului). Presupunând că serverul nu ştie, va trimite cererea browserului mai departe la serverul (sau serverele) celui care se ocupă de de TLD-ul respectiv (în cazul nostru .ro va trimite la DNS-ul RNC). De acolo va obţine adresa IP 193.230.177.3 şi o va trimite browserului.
Pentru o adresă .com lucrurile sunt un pic mai complicate având în vedere că există mai multe servere care au în grijă numele de domenii top level. DNS-ul în cauză va căuta recursiv în toate cele pe care le ştie până va afla adresa IP. Mai jos puteţi vedea cum arată lista de servere top-level pe care un DNS le poate întreba la nevoie:
; This file holds the information on root name servers
; needed to initialize cache of Internet domain name
; servers (e.g. reference this file in the
; “cache . ” configuration file of BIND domain
: name servers).
; This file is made available by InterNIC registration
; services under anonymous FTP as
; file /domain/named.root
; on server FTP.RS.INTERNIC.NET
; -OR- under Gopher at RS.INTERNIC.NET
; under menu InterNIC Registration Services (NSI)
; submenu InterNIC Registration Archives
; file named.root
; last update: Aug 22, 1997
; related version of root zone: 1997082200
;
; formerly NS.INTERNIC.NET
;
. 3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
;
; formerly NS1.ISI.EDU
;
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107
;
; formerly C.PSI.NET
;……………………………………………….
. 3600000 NS M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
; End of File

Pentru a preîntâmpina erorile datorate nefuncţionării unui anumit server DNS datele sunt de obicei păstrate redundant pe mai multe maşini. Spre exemplu, serverele DNS care deservesc www.electronica-azi.ro se află pe două maşini diferite cu adresele 193.230.177.1 şi 193.230.177.2. O altă metodă folosită în acest scop este memorarea (sau cache-area) numelor de domeniu rezolvate. Spre exemplu, odată ce DNS-ul întrebat de dumneavoastră a aflat de la RNC adresa domeniului electronica-azi.ro, orice cerere ulterioară va fi rezolvată din cache fără a mai întreba serverul RNC. Timpul de viaţă al unei înregistrări în cache este totuşi finit, la libera alegere a administratorului.
Folosirea cache-ului are, pe lângă numeroase avantaje (rapiditate, fiabilitate) şi un dezavantaj. Dacă doriţi ca numele de domeniu să corespundă unei alte adrese IP şi schimbaţi acest lucru în DNS-ul în care este păstrată informaţia, anumite ISP-uri pot trimite vizitatorii care le folosesc serviciile la vechea adresă păstrată în cache. Astfel este nevoie de aproximativ trei săptămâni pentru ca modificarea dumneavoastră să se propage în toate DNS-urile.
Deşi necunoscute unui utilizator obisnuit, DNS-urile joacă probabil cel mai important rol dintre toate tehnologiile folosite pe Internet. Pentru mai multe detalii puteţi citi RFC 1034 şi 1035 care stabilesc principiile şi standardele de funcţionare ale DNS-urilor la adresele

http://www.freesoft.org/CIE/RFC/1034/ respectiv http://www.freesoft.org/CIE/RFC/1034/.
bogdan.nita@ealliance.ro

S-ar putea să vă placă și