Blog

DNS – interfața între om și mașina de calcul, ce asigură funcționarea eficientă a Internetului

DNS – interfața între om și mașina de calcul, ce asigură funcționarea eficientă a Internetului

Toate computerele, laptopurile și chiar și telefoanele inteligente sau tabletele, mai pe scurt, tot ce poate fi considerat terminal informatic, odată conectate la Internet, se găsesc între ele și comunică unele cu celelalte cu ajutorul serverelor și prin folosirea numerelor. Calculatoarele nu cunosc limbajul uman, și, de aceea, folosesc înșiruiri de cifre sub forma unor adrese de IP. 

Atunci când deschizi un browser pe laptopul tău ca să vizitezi un site web, ar trebui, teoretic, să ții minte un șir de numere cu care se identifică locația pe care vrei să o vizitezi. Acest lucru ar fi o sarcină imposibil de realizat pentru o ființă umană, dacă ne gândim la câte zeci, sute sau mii de adrese web poți vizita pe parcursul vieții. De aceea, atunci când faci acest lucru, vei introduce un nume de domeniu format din litere, iar browser-ul va ști să te ducă pe pagina dorită. 

Tocmai de aceea, au fost inventate numele de domenii, care au rezolvat această problemă a recunoașterii unei adrese atât de către om, cât și de către computer, folosind, în cazul ființei biologice, literele alfabetului, iar în cazul mașinii, traducerea acestora în cifre.

Acest lucru a permis utilizatorilor să selecteze și să își amintească mai ușor adresele site-urilor web pe care vor să le viziteze.

Totuși, numele de domenii nu trebuie să fie confundate cu site-urile web sau cu serviciile de hosting și nici cu infrastructura pentru servere cloud sau VPS, deși sunt direct legate de acestea. Mai degrabă, spre exemplu, presupunând că website-ul pe care vrei să-l vizitezi este un imobil al unei familii, atunci, numele domeniului se comportă ca numărul de fix corespunzător acelei locații.

Așa cum majoritatea numerelor de telefon erau, nu demult, puse la un loc într-un fel de carte telefonică, tot astfel, în acest caz concret, acest catalog poartă denumirea de DNS (de la englezescul „Domain Name System”).

În acest articol vei afla câteva noțiuni despre ce este DNS și care sunt principiile sale de funcționare.

Cuprins

1. Ce este DNS – Definiție și mod de lucru

2. DNS server – tipurile de servere implicate în funcționarea paginilor web

3. Tipuri de cereri/solicitări de tip DNS

1. Ce este DNS – Definiție și mod de lucru

Așa cum deja se poate ghici, DNS poate fi definit ca tehnologia care are drept rol traducerea numelor de domenii scrise literal – pentru a fi înțelese de om – (de exemplu, www.cloudify.ro), în adrese IP ce pot fi înțelese de computere (de exemplu, 111.222.333.44).

Mecanismul poate fi descris în câțiva pași pentru o mai bună înțelegere a fenomenului.

Presupunând că ai vrea să accesezi un site web (www.exemplu.ro), iată cum se întâmplă operațiunile logice în „spatele scenei”:

  1. Deschizi un browser și tastezi numele domeniului, ca în exemplul de mai sus, iar imediat după ce ai apăsat tasta „Enter”, acesta face o scurtă verificare, pentru a vedea dacă ai mai vizitat anterior acest site. Dacă există o înregistrare de acest fel în cache-ul DNS al computerului tău, nu se va mai proceda la alte căutări și ți se va afișa imediat pagina web dorită.

Cache-ul DNS este, de fapt, un depozit temporar de informații despre căutările anterioare care se află într-un sistem de operare sau chiar în browser-ul web. Păstrarea acestei arhive permite direcționarea și accesarea unor adrese IP corespunzătoare într-un mod mult mai rapid și mai eficient. 

Dar ce este caching-ul DNS?

  • Cache-ul browserului

Browserele web moderne sunt construite astfel încât să aibă posibilitatea salvării înregistrărilor DNS în ceea ce se numește „cache” pentru o perioadă de timp prestabilită. Scopul acestei abilități este eficiența și rapiditatea: cu cât se petrece caching-ul DNS mai aproape de computerul tău, cu atât mai puține operațiuni și pași de procesare sunt necesari în vederea verificării acestuia și a transmiterii cererilor pentru o anumită adresă de IP. 

Atunci când se face o cerere de accesare a unei înregistrări DNS, cache-ul browserului va fi prima locație unde existența acesteia va fi verificată.  

Desigur, astfel, poți beneficia de o viteză mai mare pentru propriul calculator, însă dacă ai o afacere online și vrei să fii absolut sigur că toți potențialii tăi clienți vor beneficia de o experiență superioară de accesare și vizualizare a site-urilor tale, ar trebui să apelezi la firme de hosting care oferă o infrastructură pentru servere cloud VPS, unele din cele mai rapide și mai sigure tehnologii existente și în România.

  • Cache-ul DNS al sistemelor de operare

A doua locație unde va fi căutată înregistrarea DNS necesară și ultima, înainte ca cererea să părăsească computerul tău, este chiar la nivelul sistemului de operare al terminalului informatic. 

Acest proces ce se desfășoară local, în interiorul laptopului sau computerului tău, și care are sarcina de a rezolva cererea, este adesea denumit „stub resolver” sau „DNS client”. Terminalele informatice moderne fixe sau mobile au un mod de operare în acest domeniu, denumit „caching resolver”. 

Atunci când este primită o cerere de la o aplicație, procesul stub sau caching resolver va verifica, mai întâi, propriul cache pentru a identifica o eventuală înregistrare existentă. Dacă nu o găsește acolo, atunci solicitarea DNS va fi transmisă în afara rețelei locale către, așa cum vei vedea în cele ce urmează, un server „recursive/resolver” din cadrul furnizorului tău de Internet.

  1. Dacă nu este găsită nicio înregistrare DNS în cache, atunci, browserul trimite o cerere către serverul DNS local. Acesta aparține, de regulă, furnizorului de Internet și, de regulă, se denumește „rezolvator de nume”, din englezescul „resolving nameserver”. De regulă, se mai numește și „recursor”, datorită rolului său de a redirecționa cererile primite de la utilizatori.
  1. Dacă nici pe acest server nu există un cache, atunci, cererea este înaintată către un alt calculator denumit „root name server”, pentru a încerca găsirea unei înregistrări DNS. Aceste tipuri de servere au rolul special de a stoca date despre DNS și sunt plasate în locații prestabilite în întreaga lume. Odată ce înregistrarea a fost găsită în unul din acestea, el va răspunde resolverului cu adresa unui TLD (Top Level Domain), adică un alt computer pe care sunt găzduite informațiile de tipul „.com”, „.net”, „.ro” etc. 
  1. Serverul resolver face, apoi, o cerere către TLD-ul corespunzător domeniului selectat, de exemplu, „.roTLD”, iar acesta din urmă răspunde cu adresa IP corespunzătoare celei solicitate. 
  1. În final, în urma localizării și verificării DNS-ului, se poate realiza legătura directă cu serverul unde se află pagina web dorită și aceasta va putea fi afișată direct pe ecranul tău. 

2. DNS server – tipurile de servere implicate în funcționarea paginilor web

Există, așa cum ai observat deja, mai multe tipuri de servere DNS care cooperează în buna funcționare a Internetului, în general, și a afișării paginilor web în mod particular. 

Acestea sunt:

  • DNS recursor sau resolver

Acesta poate fi asemănat cu o bibliotecă, de unde utilizatorii pot cere să le fie găsită o anumită carte, undeva pe rafturile acesteia. Rolul său principal este de a primi cereri din partea computerelor utilizatorilor prin intermediul unor programe informatice, așa cum sunt browserele. Adesea, ele au rolul de a face solicitări către alte servere, pentru a încerca să satisfacă cererea clienților;

  • Root name server

Acesta este primul implicat în sarcina de a traduce (rezolva) numele de domenii scrise în limbajul uman în adrese de IP. Te-ai putea gândi la el ca la un catalog sau un index al unei biblioteci care te poate orienta către ce raft să cauți cartea dorită. Mai precis, rolul său este de a fi un sistem de referință, care indică către alte locații mai specifice;

  • TLD nameserver 

Acronimul TLD vine din englezescul „Top Level Domain Server” și desemnează un sistem informatic, ce poate fi asemănat, pentru a păstra comparația inițială, cu un raft specific de cărți dintr-o bibliotecă. Acesta este pasul următor care trebuie făcut în căutarea unei anumite adrese IP, iar pe aceste servere sunt găzduite terminațiile site-urilor web căutate. Spre exemplu, terminația „.ro” sau „.com” sunt doar câteva din exemplele de referință;

  • Serverele autoritare sau oficiale

Aceasta este ultima linie de servere și ultima oprire în lanțul căutărilor pentru anumită cerere.  Ele pot fi asemănate cu un dicționar aflat pe un raft de cărți, în care un nume specific poate fi tradus în definiția acestuia. Dacă acest server are acces la înregistrarea solicitată, el va returna adresa IP a locației unde se află pagina web căutată înapoi către serverul inițial DNS recursiv, adică cel de la care s-a făcut solicitarea inițială.

3. Tipuri de cereri/solicitări de tip DNS

În cele de mai sus s-a amintit destul de des despre cererile de tip DNS. Te-ai putea întreba ce sunt acestea și de câte feluri pot fi ele.

Într-o căutare tipică de tip DNS, pot avea loc mai multe tipuri de cereri. Folosind o combinație a acestora într-un proces informatic optimizat se poate obține o reducere a distanței pe care informația trebuie să o parcurgă în vederea rezolvării unei căutări. 

În situația ideală, adică atunci când există date stocate în cache, informația parcurge drumul cel mai scurt, deoarece permite name server-ului să afișeze imediat site-ul web căutat. În celelalte cazuri, pot apărea trei tipuri de cereri de tip de DNS:

  • Cererea recursivă

În acest tip de solicitare, un client DNS cere ca un server de același tip, de regulă, un „resolver /recursive”, să răspundă clientului sau utilizatorului fie cu o înregistrare din cache a cerinței sale, fie, dimpotrivă, cu un mesaj de eroare, dacă nu poate găsi pagina căutată.

  • Solicitarea iterativă

În această situație, clientul DNS va permite serverului de același tip să returneze cel mai bun răspuns pe care îl poate furniza. Dacă acesta nu are la dispoziție o potrivire sau ceva asemănător cu numele solicitat, va direcționa către serverul DNS autoritar o referință de un nivel mai scăzut, iar procesul va continua adăugând și alte sisteme informatice în proces până când va apărea o eroare.

  • Cererile non-recursive

În mod tipic, acestea apar atunci când serverul DNS de tip resolver/recursive solicită o înregistrare la care are acces, fie pentru că este la nivel de autoritate pentru aceasta, fie pentru că ea există în interiorul cache-ului său. De regulă, un server DNS va include în cache înregistrările, pentru a preveni consumul suplimentar de bandă și încărcarea prea mare a computerelor din amonte.

Pentru un utilizator obișnuit, toate aceste mecanisme care se petrec „în spatele scenei” pot părea extrem de aride. În principal, ceea ce îl interesează este ca accesarea unui site web să fie rapidă, iar experiența de navigare să fie plăcută. Toate acestea se pot obține apelând la servicii de găzduire profesioniste, cum ar fi cele care folosesc tehnologia private cloud și alocă resurse importante pentru realizarea scopurilor clienților lor. 

În concluzie, cunoștințele despre ce este DNS-ul te pot ajuta să-ți faci o imagine mai clară despre modul de funcționare al Internetului însuși și să cunoști acele procese care nu sunt neapărat vizibile, dar care mențin accesul la informație de care azi se bucură un număr ridicat de oameni de pe întreaga planetă.

Sursa foto: shutterstock.com