Ce este DNS? O introducere în sistemul de nume de domeniu

Publicat: 2022-04-11

Când stai la computer, internetul pare simplu. Deschideți un browser, introduceți numele domeniului și vedeți site-ul web pe ecran. Cu toate acestea, sub interfața grafică cu utilizatorul (GUI) se află o rețea extinsă de software și servere cunoscută sub numele de Domain Name System (DNS). Cu toate acestea, ce este DNS și cum ne ajută acesta să vedem web-ul pe dispozitivele noastre?

Răspunsul la aceasta este complex, din cauza numărului mare de părți mobile implicate. Veți descoperi că aproape fiecare verigă din lanț utilizează un server. În plus, există tehnici care vă ajută să reduceți blocajele care vă pot eroda vitezele rapide de încărcare a paginii.

Pentru această postare, vă vom ajuta să înțelegeți DNS-ul în cel mai simplu mod posibil. Să rezumam ce va acoperi acest articol.

Cuprins

  • Cum Internetul obține o pagină web de la un server la browserul dvs
    • Cele 4 servere DNS care preiau și încarcă pagini web
  • Diferența dintre recursul DNS și serverul de nume autorizat
  • Cum funcționează o căutare DNS
    • Interogările pe care le veți găsi într-o căutare DNS
  • O notă despre stocarea în cache DNS
  • Efectuarea modificărilor înregistrărilor DNS: „Propagare”
  • Concluzie

Cum Internetul obține o pagină web de la un server la browserul dvs

Ca un rezumat, DNS este modul în care convertim un nume de domeniu care poate fi citit în adresa IP (Internet Protocol) rezultată pe care o reprezintă. În timp ce aceasta pare o sarcină simplă la suprafață, este departe de a fi cazul.

Fiecare site web locuiește pe un server și fiecare server (și computer, de fapt) are o adresă IP. DNS este sistemul care mapează adresele IP la nume de domenii, astfel încât să ne bucurăm de o navigare ușor de utilizat. Ca o analogie, gândiți-vă la modul în care numele unei străzi și adresa casei sunt într-adevăr un set de coordonate pe hărți. Folosim adresele străzilor pentru a simplifica longitudinea și latitudinea unei locații.

Un ecran de hartă care arată o adresă fizică și latitudinea și longitudinea.

Când convertiți o adresă IP într-un nume de domeniu (și invers), aceasta este „rezoluția DNS”. Există o serie de componente hardware în acest lanț, în special patru tipuri diferite de server. Să le discutăm în continuare.

Cele 4 servere DNS care preiau și încarcă pagini web

Fiecare cerere și rezoluție DNS trece prin patru servere. Iată-le, pe scurt:

  • Recurs DNS. Acesta este „purtător de apă” pentru întregul DNS. Când solicitați un site web din browser, îi spuneți recurentului să meargă și să găsească (sau „căută”) site-ul în DNS.
  • Serverul de nume rădăcină. Dacă luați în considerare un server web care conține o mulțime de site-uri, serverul de nume rădăcină reprezintă întregul. Este locația generală a adresei IP.
  • Serverul de nume de domeniu de nivel superior (TLD). Un site web va locui în serverul de nume rădăcină, dar serverul de nume TLD va scoate partea finală a adresei IP: porțiunea de sfârșit a numelui de gazdă. Acesta ar putea fi .com, .net sau multe altele.
  • Serverul de nume autorizat. Pentru a simplifica acest server complicat, este biblioteca de referință pentru adresa IP. Acest server va trimite adresa IP completă înapoi către recurer, care la rândul său afișează site-ul în browser.

O interogare DNS parcurge toți acești pași, chiar și de mai multe ori, înainte ca interogarea să se rezolve. Ca atare, există o mulțime de puncte în lanț care pot duce la eșecul unei interogări - de aceea avem erori HTTP.

Cu toate acestea, merită să sapi în fața și spatele acestui lanț în mai multe detalii. Să facem asta în continuare.

Diferența dintre recursul DNS și serverul de nume autorizat

Veți înțelege că recurentul preia rezultatul unei interogări și este începutul întregului proces DNS. La rândul său, veți ști, de asemenea, că serverul de nume autorizat transmite rezultatul acestui proces înapoi către recursor. Cu toate acestea, ambele au mai multe diferențe pe care va trebui să le cunoașteți:

  • Recurs DNS. Acest server răspunde la o solicitare de interogare DNS. Este activ prin faptul că urmărește înregistrarea DNS de-a lungul lanțului. În timp ce abordarea tipică pentru un recurs este de a face cereri multiple către celelalte servere, stocarea în cache poate reduce acest timp. Vom vorbi mai multe despre asta mai târziu.
  • Server de nume autorizat. Acest server deține toate înregistrările DNS. Sarcina lui este să răspundă la o solicitare pe baza informațiilor pe care le primește de la celelalte servere din lanț, inclusiv de la recurs. Acesta este serverul care permite unui browser să afișeze un site web. Deoarece este autoritar, nu trebuie să consulte alte surse pentru a valida o interogare – este o sursă de adevăr.

Cu toate acestea, în timp ce serverul de nume autorizat este punctul final pentru o solicitare DNS, nu va fi întotdeauna așa. Veți găsi, de asemenea, servere de nume suplimentare după acest punct, în funcție de cerere.

Dacă o interogare DNS este pentru un subdomeniu (cum ar fi shop.example.com), veți descoperi că va exista un server de nume suplimentar după cel autorizat. Aceasta stochează o înregistrare CNAME pentru subdomeniul în cauză.

O înregistrare CNAME în cadrul unui registrator.

În teorie, nu există o limită pentru numărul de servere de nume suplimentare pe care le solicită o interogare. Cu toate acestea, de cele mai multe ori, va exista doar un server de nume suplimentar.

Cum funcționează o căutare DNS

Deși există patru servere care procesează o căutare și o interogare DNS, există o mulțime de pași în lanț care transmit interogarea și preiau rezultate. Iată cum funcționează procesul de căutare:

  • Veți introduce un nume de domeniu în browser. Odată ce faceți clic pe Enter , interogarea se îndreaptă din browser și din sistemul de operare (OS) pe internet unde o primește recursul DNS.
  • Recursorul transmite această interogare pe serverul de nume rădăcină și își efectuează propria interogare.
  • Rezultatul acestei interogări va fi serverul de nume TLD, care se întoarce la recurs.
  • De data aceasta, recurentul interogează serverul de nume TLD, care răspunde cu adresa IP a serverului de nume autorizat al domeniului.
  • Recursorul trimite o altă interogare către serverul de nume autorizat, care, la rândul său, răspunde cu adresa IP pentru cererea de domeniu inițială.

De aici, recurentul trimite rezultatul muncii sale înapoi către browserul web. Acest lucru completează procesul DNS, iar recurentul se poate opri pentru câteva milisecunde! Browserul va procesa apoi cererea HTTP pentru a afișa site-ul în browser.

Există o mulțime de pași complexi și care necesită forță de muncă (în raport cu ceea ce poate realiza un server), iar acest lucru se întâmplă de miliarde de ori pe secundă în întreaga lume. Chiar și așa, există doar trei interogări care au loc într-o căutare.

Interogările pe care le veți găsi într-o căutare DNS

Există o relație în fiecare dintre aceste interogări între clientul DNS și server. Deși aceștia sunt termeni generici, vom nota orice specific în explicațiile noastre:

  • Interogare recursiva. În această interogare, clientul va solicita ca recurentul DNS să răspundă fie cu înregistrarea DNS solicitată, fie cu un mesaj de eroare.
  • Interogare iterativă. Această interogare oferă recursului licență gratuită pentru a face o „cel mai bună ghicire” cu ceea ce returnează. Dacă nu există nicio potrivire pentru o interogare, rezultatul va fi o trimitere către un server autorizat de nivel inferior până când această „cale” se epuizează.
  • Interogare nerecursivă. Veți descoperi că această interogare va apărea dacă o înregistrare DNS există în cache sau dacă recurentul are acces autorizat la o înregistrare. Vom vorbi despre stocarea în cache spre sfârșitul articolului.

În multe cazuri, veți descoperi că interogările recursive și nerecursive sunt cele mai comune. Acesta este motivul pentru care veți vedea mesaje de eroare și de ce procesul de căutare poate fi complex.

O notă despre stocarea în cache DNS

Când aveți de-a face cu o interogare non-recursivă, o înregistrare are șansa de a locui într-un cache dedicat înregistrărilor DNS. Dacă știți despre stocarea în cache, veți înțelege că va conține fișiere pe care le accesați în mod regulat. Aplicațiile locale pot face acest lucru, dar memoria cache a site-ului dvs. este cel mai bun exemplu:

Pluginul W3 Total Cache din tabloul de bord WordPress.

Aceasta va păstra înregistrări pentru fișierele site-ului dvs., astfel încât să puteți menține scăzut numărul de solicitări HTTP. Același lucru este posibil și pentru înregistrările DNS. Acest lucru păstrează înregistrările relevante mai aproape de locația computerului dvs., astfel încât să puteți obține o adresă IP mai repede decât ați face-o de obicei.

Pentru dezvoltatorii web, o solicitare GET este ceea ce emite browserul. Cu un cache, recurentul decupează celelalte servere din lanț și fie merge direct la serverul de nume autorizat, fie îl reamintește fără a fi nevoie de interogări suplimentare. Este cea mai tipică interogare nerecursivă pe care o puteți face.

De fapt, veți găsi cache DNS în mai multe tehnologii, cum ar fi furnizorul de servicii de internet (ISP), routerul și computerul local.

Browserul Brave afișează numărul de fișiere stocate în cache din memorie.

Veți descoperi că memoria cache a browserului este primul port de apel pentru un recurs care caută o înregistrare DNS și, ca atare, browserele memorează adesea înregistrările ca setare implicită. Sistemul de operare va avea, de asemenea, un rezolutor DNS, iar acesta verifică și cache-ul pentru o înregistrare DNS.

Din nou, dacă sistemul de operare nu conține înregistrarea în cache-ul său, va trimite interogarea către resursele ISP pentru procesare. Ambele aceste resurse vor funcționa cu înregistrările A și NS ale domeniului dvs. pentru a încerca să rezolve o interogare, înainte ca procesul complet de căutare să aibă loc.

Efectuarea modificărilor înregistrărilor DNS: „Propagare”

Vorbind despre asta, puteți face modificări în înregistrările dvs. A , NS sau CNAME cu registratorul dvs. În multe cazuri, acest lucru va dura până la 72 de ore în total înainte ca toate aceste modificări să se înregistreze.

Aceasta este propagarea DNS, iar timpul necesar pentru finalizare depinde de o serie de factori - și anume valoarea Time To Live (TTL) pentru o înregistrare asociată:

Înregistrările registratorului care arată valorile TTL în secunde.

Pe scurt, aceasta determină cât de repede va intra în vigoare o modificare pentru o anumită înregistrare DNS. Un TTL tipic este de aproximativ patru ore și, cu cât valoarea este mai mare, cu atât va dura mai mult această propagare.

Registratorul setează adesea TTL pentru serverele dvs. de nume și, ca atare, dvs. sau oricine altcineva nu veți putea face modificări. Acesta este motivul pentru care va trebui adesea să așteptați ca propagarea să se termine și de ce veți verifica constant un site precum What's My DNS? pentru a-și măsura progresul:

Ce este DNS-ul meu? site-ul web.

Soluția este să vă setați TTL cât mai mult posibil înainte de a vă decide să vă modificați înregistrările DNS. Desigur, registratorul va fi responsabil pentru serverele dvs. de nume, dar veți fi făcut cât ați putut pentru a reduce timpul de propagare.

Concluzie

Dacă credeți că accesarea unei pagini web este simplă, gândiți-vă din nou. Pentru utilizatorul final, procesul este simplu la bază. Cu toate acestea, sub capotă este mult mai complex și implică o multitudine de servere suplimentare.

Această postare a analizat DNS - modul în care internetul ia un nume de domeniu și îl rezolvă la o adresă IP. De acolo, se poate întoarce la browser și poate reda ca pagină web. Cu toate acestea, veți descoperi că se întâmplă și multe alte procese, cum ar fi propagarea și stocarea în cache. Combinate, ele ne oferă o navigare rapidă și (în mare parte) fără probleme.

Crezi că acest articol răspunde la întrebarea: „Ce este DNS-ul?”, iar dacă nu ai mai multe întrebări? Dacă da, întrebați în secțiunea de comentarii de mai jos!