Internet și rețele

DNS-ul explicat: cum găsește browserul un site

Ce este DNS-ul și cum transformă numele unui site în adresă IP: serverele rădăcină, cache-ul, TTL, tipurile de înregistrări și variantele criptate.

De Redacția LumeaTehnologiei10 min de citit
Carte veche deschisă cu pagini îngălbenite, asemenea unei agende cu adrese

DNS-ul (Domain Name System, sistemul numelor de domenii) este serviciul care transformă un nume ușor de reținut, cum ar fi lumeatehnologiei.ro, în adresa IP numerică a serverului pe care se află site-ul. Fără el, ar trebui să ții minte șiruri de cifre pentru fiecare site pe care îl vizitezi. Browserul nu poate trimite nicio cerere până nu află această adresă, așa că DNS-ul este, practic, primul pas al oricărei vizite pe web.

Partea interesantă este că nu există o bază de date unică cu toate numele din lume. Răspunsul este căutat pe trepte, printr-o ierarhie de servere răspândite pe tot globul, și apoi memorat temporar în mai multe locuri. Mai jos vezi cum funcționează acest mecanism, ce înseamnă termeni precum resolver, TTL sau înregistrare A și ce poți face când DNS-ul nu răspunde.

Ce este DNS-ul și de ce avem nevoie de el

DNS-ul este o bază de date distribuită care asociază nume de domenii cu adrese IP și cu alte informații tehnice. Pe internet, dispozitivele se găsesc unele pe altele după adresa IP, un număr precum 192.0.2.44 sau o adresă IPv6 mult mai lungă. Diferența dintre cele două tipuri de adrese este explicată în ghidul despre adresele IP. Oamenii, în schimb, rețin nume. DNS-ul face legătura dintre cele două lumi.

Mai există un avantaj, mai puțin vizibil: numele rămâne stabil chiar dacă serverul se schimbă. Dacă un site se mută la alt furnizor de găzduire, administratorul modifică doar înregistrarea DNS, iar vizitatorii ajung automat la noua adresă, fără să afle vreodată că s-a schimbat ceva.

Cum se citește un nume de domeniu

Un nume de domeniu se citește de la dreapta la stânga, de la general la particular. Fiecare bucată separată prin punct este un nivel al ierarhiei.

Partea din numeExemplu în www.exemplu.roCe înseamnă
Rădăcinapunctul invizibil de după .rovârful ierarhiei, comun pentru toate numele
Domeniul de nivel superior (TLD)roterminația țării sau una generică, ca .com ori .org
Domeniul de nivel doiexemplunumele înregistrat de proprietar
Subdomeniulwwwo subdiviziune stabilită de proprietar

Domeniile de nivel superior se împart în naționale (ccTLD, de exemplu .ro, .de, .fr) și generice (gTLD, de exemplu .com, .org, .info). Terminația .ro este gestionată de RoTLD, din cadrul Institutului Național de Cercetare-Dezvoltare în Informatică (ICI București).

Drumul unei întrebări DNS, pas cu pas

Când tastezi un nume în browser, întrebarea trece prin mai multe niveluri de memorie și, dacă niciunul nu știe răspunsul, ajunge la serverele care îl dețin oficial. Iată traseul complet:

  1. Memoria browserului. Browserul verifică dacă a aflat recent adresa acelui nume.
  2. Memoria sistemului de operare. Dacă browserul nu știe, întreabă sistemul de operare, care are propriul cache și un fișier local numit hosts, unde se pot scrie manual asocieri nume–adresă.
  3. Resolverul recursiv. Dacă nici sistemul nu știe, întrebarea pleacă spre un server DNS numit resolver recursiv, de obicei al furnizorului tău de internet, configurat automat de router.
  4. Serverul rădăcină. Dacă resolverul nu are răspunsul în memorie, întreabă un server rădăcină. Acesta nu știe adresa site-ului, dar știe cine răspunde pentru .ro.
  5. Serverul TLD. Serverul pentru .ro nu știe nici el adresa finală, dar știe care sunt serverele responsabile pentru exemplu.ro.
  6. Serverul autoritativ. Serverul autoritativ al domeniului deține înregistrarea oficială și răspunde cu adresa IP.
  7. Răspunsul înapoi. Resolverul îți trimite adresa, o păstrează în memorie pentru următorii solicitanți, iar browserul deschide conexiunea către site.

Pare mult, dar în majoritatea cazurilor pașii 4–6 nici nu au loc, pentru că resolverul are deja răspunsul în cache de la un alt utilizator.

Serverele rădăcină

Există 13 identități de servere rădăcină, notate cu literele de la A la M, administrate de organizații diferite din mai multe țări. Fiecare identitate nu este un singur calculator, ci un grup de servere copiate în multe locuri din lume, iar în total vorbim de peste o mie de instanțe. Ele folosesc o tehnică numită anycast: aceeași adresă IP este anunțată din mai multe locații, iar întrebarea ta ajunge automat la cea mai apropiată copie. Tehnica este folosită și de rețelele de livrare de conținut, descrise în CDN-ul: cum se încarcă rapid site-urile din toată lumea.

Resolver recursiv și server autoritativ: diferența

Tip de serverCe faceCine îl administrează de obicei
Resolver recursivcaută răspunsul în numele tău și îl memoreazăfurnizorul de internet sau un serviciu DNS public
Server rădăcinăindică serverele fiecărui TLDorganizații coordonate la nivel global
Server TLDindică serverele fiecărui domeniu înregistratregistrul terminației (pentru .ro, RoTLD)
Server autoritativdeține răspunsul oficial pentru un domeniuproprietarul domeniului sau firma de găzduire

Cache-ul și TTL: de ce o schimbare durează

Răspunsurile DNS sunt păstrate temporar în memorie, la fiecare nivel, pentru o durată stabilită de proprietarul domeniului, numită TTL (Time To Live, timp de viață). TTL-ul se exprimă în secunde: o valoare de 3600 înseamnă că răspunsul poate fi folosit o oră fără a mai întreba serverul autoritativ.

Cache-ul face DNS-ul rapid și reduce enorm traficul către serverele rădăcină și TLD. Are însă un efect pe care îl observă oricine a mutat vreodată un site: după modificarea unei înregistrări, unii vizitatori văd imediat noua adresă, iar alții încă văd vechea adresă până expiră copia din resolverul lor. Fenomenul este numit popular „propagare DNS”, deși tehnic nu se propagă nimic, ci doar expiră pe rând copiile memorate.

Sfat: Dacă știi că urmează să muți un site, scade TTL-ul înregistrărilor la câteva minute cu o zi sau două înainte. Astfel, schimbarea propriu-zisă va ajunge la toți vizitatorii mult mai repede, iar după mutare poți readuce TTL-ul la valoarea obișnuită.

Tipurile de înregistrări DNS

O zonă DNS conține mai multe tipuri de înregistrări, fiecare cu un rol precis, nu doar adresa site-ului. Cele mai întâlnite sunt:

TipCe conțineLa ce folosește
Ao adresă IPv4duce numele la serverul site-ului
AAAAo adresă IPv6același rol, pentru IPv6
CNAMEun alt numeface dintr-un nume un alias al altuia
MXserverele de e-mailspune unde se livrează mesajele pentru domeniu
TXTtext liberverificări de proprietate, reguli anti-falsificare pentru e-mail
NSserverele autoritativeindică cine răspunde pentru domeniu
CAAautoritățile de certificare permiselimitează cine poate emite certificate pentru domeniu

Înregistrările TXT au devenit esențiale pentru e-mail. Prin ele, un domeniu publică reguli de tip SPF, DKIM și DMARC, care le permit serverelor destinatare să verifice dacă un mesaj chiar vine de la domeniul pretins. Fără aceste reguli, oricine ar putea trimite mai ușor mesaje care par să vină de la banca ta.

Mâini care tastează pe un laptop deschis la o pagină plină de imagini

DNS-ul și viteza de navigare

Fiecare nume nou necesită o întrebare DNS, iar un resolver lent sau îndepărtat adaugă întârziere la deschiderea paginilor. O pagină modernă încarcă resurse de pe mai multe domenii diferite (imagini, fonturi, scripturi), deci poate genera mai multe interogări la prima vizită.

Câteva lucruri influențează timpul de răspuns:

  • distanța până la resolver, măsurată în timp, nu în kilometri; detalii despre această întârziere găsești în ghidul despre latență;
  • cât de populat este cache-ul resolverului: unul folosit de mulți utilizatori are deja în memorie numele uzuale;
  • calitatea serverelor autoritative ale site-ului, mai ales la domeniile puțin vizitate;
  • TTL-uri foarte mici, care obligă la interogări repetate.

În practică, diferențele dintre resolverele bune sunt de câteva milisecunde și contează mai puțin decât calitatea conexiunii în sine. Schimbarea serverului DNS nu crește viteza de descărcare, ci doar poate scurta momentul de început al fiecărei vizite.

DNS-ul care te trimite la serverul potrivit

Pentru site-urile mari, răspunsul DNS nu este același pentru toată lumea. Serverele autoritative pot întoarce adrese diferite în funcție de zona din care vine întrebarea, ca fiecare vizitator să ajungă la cel mai apropiat centru de date. Este unul dintre mecanismele prin care se încarcă rapid site-urile globale.

Securitatea și confidențialitatea DNS

În forma lui clasică, DNS-ul circulă necriptat, pe portul 53, ceea ce înseamnă că oricine de pe traseu poate vedea ce nume interoghezi și, teoretic, poate falsifica răspunsul. Chiar dacă pagina în sine este protejată prin HTTPS, întrebarea DNS de dinaintea ei poate trăda ce site vizitezi. Cum funcționează criptarea paginii propriu-zise este explicat în HTTPS și certificatele: ce înseamnă lacătul din browser.

Atacurile cele mai cunoscute

  • Otrăvirea cache-ului (cache poisoning): atacatorul reușește să strecoare un răspuns fals în memoria unui resolver, care apoi trimite toți utilizatorii la o adresă greșită.
  • Deturnarea routerului: dacă parola de administrare a routerului de acasă a rămas cea implicită, un atacator poate schimba serverul DNS configurat și te poate trimite pe pagini false.
  • Domeniile asemănătoare: nume cu o literă schimbată sau cu altă terminație, folosite în campanii de phishing. Aici DNS-ul funcționează corect, dar numele în sine este o capcană; cum le recunoști afli din Phishingul: cum recunoști mesajele și site-urile false.

Soluțiile tehnice

DNSSEC adaugă semnături digitale la înregistrări, astfel încât resolverul poate verifica dacă răspunsul vine într-adevăr de la proprietarul domeniului și nu a fost modificat. Principiul semnăturii cu chei publice și private este descris în Criptografia pe scurt: criptare simetrică, asimetrică și chei. DNSSEC garantează autenticitatea, dar nu ascunde întrebarea.

Pentru confidențialitate există DNS prin HTTPS (DoH) și DNS prin TLS (DoT), care criptează drumul dintre dispozitivul tău și resolver. Cei de pe traseu nu mai văd numele interogate, deși resolverul ales le vede în continuare. Merită știut și că alegerea resolverului înseamnă, practic, alegerea celui care află ce site-uri vizitezi; subiectul urmăririi online în ansamblu este tratat în Urmărirea online: cookie-uri, amprentă digitală și pixeli.

Atenție: Schimbă parola implicită a routerului și verifică, din pagina lui de administrare, ce servere DNS sunt configurate. Dacă vezi adrese pe care nu le recunoști și nu le-ai setat tu sau furnizorul, resetează routerul la setările din fabrică și configurează-l din nou cu o parolă nouă.

Când DNS-ul nu funcționează: probleme frecvente

Cea mai frecventă eroare DNS se manifestă prin mesajul că serverul site-ului nu poate fi găsit, deși conexiunea la internet pare activă. Cauza poate fi la tine, la furnizor sau la site.

Cum afli unde e problema

  1. Deschide un alt site cunoscut. Dacă nici acela nu merge, problema e probabil la conexiune sau la resolverul furnizorului.
  2. Încearcă de pe alt dispozitiv din aceeași rețea și apoi de pe telefon, cu datele mobile. Dacă pe date mobile merge, problema ține de rețeaua de acasă.
  3. Repornește routerul; multe probleme temporare ale resolverului local dispar.
  4. Golește cache-ul DNS al sistemului de operare, din setările de rețea sau din linia de comandă, mai ales după ce un site s-a mutat.
  5. Dacă doar un site anume nu răspunde, problema poate fi chiar la domeniul lui: domeniu expirat, servere autoritative căzute sau o configurare greșită.

Comenzi utile pentru curioși

Majoritatea sistemelor de operare au o comandă numită nslookup, care îți arată ce adresă primește un nume și de la ce resolver. Este utilă pentru a vedea dacă un site recent mutat răspunde deja cu noua adresă sau încă trimite spre cea veche.

Esențialul despre DNS

DNS-ul este stratul de traducere dintre numele pe care le rețin oamenii și adresele IP pe care le folosesc rețelele. Întrebarea ta trece prin cache-ul browserului și al sistemului, apoi la un resolver, care, dacă e nevoie, coboară treptele ierarhiei de la serverele rădăcină la cel autoritativ. Răspunsul e memorat cât permite TTL-ul, ceea ce face sistemul rapid, dar explică și întârzierea schimbărilor. Pentru imaginea completă a felului în care o pagină ajunge la tine după acest prim pas, citește ghidul despre cum funcționează internetul.

De reținut:

  • un nume de domeniu se citește de la dreapta la stânga, de la rădăcină la subdomeniu;
  • resolverul caută răspunsul, serverul autoritativ îl deține oficial;
  • TTL-ul stabilește cât timp rămâne valabil un răspuns memorat;
  • înregistrările A și AAAA duc la site, MX la e-mail, TXT la verificări și reguli;
  • DNSSEC verifică autenticitatea, DoH și DoT ascund întrebările de cei de pe traseu;
  • parola routerului contează și pentru siguranța DNS-ului de acasă.

Întrebări frecvente

Ce înseamnă DNS?

DNS înseamnă Domain Name System, adică sistemul numelor de domenii. Este serviciul care asociază numele site-urilor cu adresele IP ale serverelor.

Schimbarea serverului DNS crește viteza internetului?

Nu crește viteza de descărcare. Un resolver mai rapid poate scurta cu câteva milisecunde momentul de început al fiecărei vizite, dar nu schimbă lățimea de bandă a conexiunii.

De ce unii văd site-ul nou, iar alții pe cel vechi?

Pentru că fiecare resolver păstrează răspunsul vechi până la expirarea TTL-ului. Pe măsură ce copiile memorate expiră, toți vizitatorii ajung la noua adresă.

Furnizorul de internet vede ce site-uri vizitez prin DNS?

Dacă folosești resolverul furnizorului, acesta vede numele interogate. Cu DNS criptat spre alt resolver, furnizorul nu mai vede interogările, dar le vede resolverul ales, iar adresele IP ale site-urilor rămân vizibile pe traseu.

Ce este fișierul hosts?

Este un fișier text din sistemul de operare în care poți scrie manual asocieri între nume și adrese IP. Are prioritate față de serverele DNS, motiv pentru care este folosit uneori la teste, dar și de programe rău intenționate.

↑