DNS: ce este și cum funcționează
Publicat: 2014-08-14Sistemul de nume de domeniu, sau DNS, este unul dintre cele mai importante baze ale internetului. Este responsabil pentru capacitatea noastră de a ne conecta la servere fără a fi nevoie să ne amintim șiruri lungi și greoaie de numere. În calitate de designer sau dezvoltator, este important să înțelegeți ce este DNS, cum funcționează și cum să îl utilizați.
Ce este DNS?
În anii 1970, erau atât de puține computere conectate în rețea, încât toată lumea putea ține cu ușurință o listă manuală a oricărui alt computer. Pe vremea ARPANET (un predecesor al internetului), dacă un computer nou era achiziționat și adăugat la rețea, proprietarul le spunea tuturor celorlalți de pe ARPANET, care doar ar adăuga acel computer nou pe lista lor. Acest sistem a funcționat bine când erau doar câteva zeci de computere conectate între ele, dar s-a degradat rapid pe măsură ce calcularea a devenit mai ieftină și mai accesibilă publicului. În termenii de astăzi, acest lucru ar fi asemănător cu nevoia de a notifica întreaga lume oricând se lansează un nou site web sau serviciu.
La începutul anilor ’80, DNS a fost construit pentru a rezolva această problemă, menținând o listă autorizată de domenii și spre ce computere sunt îndreptate. Dar cum funcționează exact asta? În termeni tehnici, DNS este un sistem care este utilizat de aproape fiecare dispozitiv activat în rețea pentru a rezolva numele de domenii cu adrese IP asociate. Gândiți-vă la asta ca la agenda telefonică a internetului.
Când introduceți o adresă web, cum ar fi http://www.getflywheel.com, în browserul dvs. web, computerul dvs. nu știe în mod automat unde să meargă. Este nevoie de o adresă IP pentru a vă conecta, dar i-ați furnizat un nume de domeniu, care este doar un șir de litere. Domeniile fac ca oamenii să își amintească mult mai ușor unde se află site-urile web, dar nu sunt ceea ce are nevoie un computer pentru a realiza o conexiune. În schimb, computerul tău contactează un server DNS și îi cere adresa IP a acelui site web. Serverul DNS răspunde și spune computerului dvs. „http://www.getflywheel.com este situat la 192.241.128.208”. Computerul tău preia acea adresă IP de la serverul DNS și o folosește pentru a se conecta la adresa IP, care la rândul său afișează site-ul Flywheel.
Cum sunt gestionate și stabilite înregistrările DNS?
DNS este setat prin înregistrări DNS, care conțin informații precum adresa IP la care ar trebui să indice un domeniu, subdomenii, setări de e-mail și chiar text arbitrar. Odată achiziționat un domeniu, proprietarul specifică servere de nume autorizate pentru domeniu. Aceste servere de nume controlează înregistrările DNS pentru domeniu, care sunt preluate de alte servere DNS și propagate pe întregul internet. În general, dacă vă setați propriile înregistrări DNS, veți ști adresa IP a site-ului dvs. web. De exemplu, Flywheel vă va furniza o adresă IP către care puteți indica o înregistrare de nume A.
Există multe mii de servere DNS în întreaga lume și toate se sincronizează împreună pentru a menține o înregistrare a unde se află totul. Cu toate acestea, nu toate serverele DNS sunt create egale.
Structura serverelor DNS arată oarecum ca un arbore inversat. Există 13 servere rădăcină sau master care formează trunchiul acestui arbore. Sunt cea mai mare copie master a DNS. Toate datele DNS trebuie să provină fie de la un server rădăcină, fie de la un server care a contactat anterior un server rădăcină și a preluat datele. Serverele rădăcină formează ceea ce se numește zona rădăcină sau cea mai autoritară zonă DNS.
După zona rădăcină, există subzone care conțin domenii. Fiecare domeniu de nivel superior are propria sa înregistrare de zonă, care este împărțită în continuare în domenii individuale, cum ar fi http://www.getflywheel.com, care sunt denumite domenii de nivel al doilea.
Acest lucru devine puțin tehnic, așa că haideți să privim acest lucru din perspectiva analogiei noastre cu arborele. Cu zona rădăcină care formează trunchiul, fiecare domeniu de nivel superior, cum ar fi .com sau .org, este o ramură a acelui trunchi. Fiecare site web, cum ar fi getflywheel.com, este o frunză care iese din acea ramură. Acea frunză mică este zona în care proprietarul unui domeniu are controlul DNS. Fiecare ramură ar fi un server de nume individual, ținând evidența ramurilor și frunzelor care provin din ea.
Așadar, atunci când un computer solicită getflywheel.com, mai întâi contactează un server rădăcină, care spune: „Sunteți în căutarea unui site web .com. Vorbește cu serverul de nume .com, care se află aici.” Apoi, computerul dvs. recurge la serverul de nume responsabil pentru .com și îi cere mai multe detalii. Computerul dvs. contactează serverele până când în sfârșit găsește serverul de nume specificat de proprietarul domeniului. Apoi află adresa IP asociată cu site-ul web și merge la ea. Computerul dvs. traversează arborele serverelor de-a lungul ramurilor până când ajunge în cele din urmă la frunza care conține ținta finală.
Notă: Deși există oficial 13 servere DNS rădăcină, toate, cu excepția a două, sunt conectate și distribuite separat la zeci de servere identice printr-o tehnologie de rutare numită anycast . Anycast permite ca mai multe noduri să existe ca aceeași entitate. Când un dispozitiv se conectează la acea entitate, se va conecta la cel mai apropiat nod disponibil din rețea (acesta este diferit de geocast , care este utilizat în CDN-uri, de exemplu, în cazul în care un dispozitiv se conectează la cel mai apropiat server geografic). Anycast permite multiplicarea și distribuirea serverelor rădăcină în întreaga lume, echilibrând sarcina, accelerând timpii de răspuns și prevenind punctele singulare de defecțiune.
Întregul lanț de contactare cu serverul pare destul de greoaie și dificil de făcut de fiecare dată când doriți să vizitați un site web. Din fericire, DNS-ul este foarte stocat în cache, ceea ce înseamnă că copiile sunt salvate frecvent pe computerele mai apropiate de tine, eliminând încărcarea de pe serverele rădăcină și făcând interogările tale să se încarce mai rapid. Mulți ISP-uri, companii, universități și chiar și propriul computer vor păstra cache-urile interogărilor DNS recente. Dacă căutați, de exemplu, google.com, este posibil ca computerul dvs. să aibă deja adresa IP stocată. Dar dacă cauți un site web pe care nu ai fost niciodată, este posibil ca altcineva din cartierul tău sau din compania ta să fi fost deja acolo, iar interogarea și informațiile sunt doar stocate pe serverul DNS al ISP-ului tău.
Fără DNS, fiecare dintre noi ar trebui să ne amintim sau să scriem adresa IP a fiecărui site web și computer pe care am dori vreodată să îl vizităm. Din fericire, DNS este o piesă de inginerie incredibil de rezistentă, fiabilă și impresionantă, care ține evidența tuturor site-urilor noastre web și a comunicațiilor noastre, astfel încât să nu fie nevoie.