Cum funcționează DNS. Cum funcționează: Câteva cuvinte despre DNS

  • Traducere

Un cititor atent va găsi în această imagine IPv6


Oamenii sunt adesea nedumeriți de domenii. De ce nu funcționează site-ul meu? De ce s-a stricat porcăria asta, nimic nu ajută, vreau doar să funcționeze! De obicei, cel care pune întrebări fie nu știe despre DNS, fie nu înțelege ideile fundamentale. Pentru mulți, DNS este un lucru teribil și de neînțeles. Acest articol este o încercare de a risipi o astfel de frică. DNS este pur şi simplu dacă înțelegi câteva concepte de bază.

Ce este DNS

DNS reprezintă numele domeniului. Este un magazin global de chei și valori distribuite. Serverele din întreaga lume vă pot oferi o cheie, iar dacă nu o cunosc, vor cere ajutor altui server.


Asta e tot. Adevăr. Dvs. sau browserul dvs. solicită o valoare pentru cheia www.example.com și primește 1.2.3.4 ca răspuns.

Piese de bază

Un mare plus al DNS este că este un serviciu public și poți să te uiți la servere dacă vrei să-ți dai seama. Sa incercam. Am un domeniu petekeen.net găzduit pe web01.bugsplat.info. Comenzile folosite mai jos pot fi executate de la Linie de comanda OS X ( oh, asta este macOS, - aprox. pe.).


Să aruncăm o privire la maparea dintre nume și adresă:


$ dig web01.bugsplat.info

Comanda dig este ca un cuțit elvețian pentru interogări DNS. Un instrument cool, multifuncțional. Iată prima parte a răspunsului:


; <<>> DiG 9.7.6-P1<<>> web01.bugsplat.info ;; opțiuni globale: +cmd ;; am primit raspuns: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51539 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

Există un singur detaliu interesant aici: informații despre cererea în sine. Se spune că am solicitat o înregistrare și am primit exact un răspuns. Aici:


;; SECȚIUNEA DE ÎNTREBĂRI: ;web01.bugsplat.info. ÎN A

dig solicită în mod implicit înregistrările A. A este abordare(adresă), iar acesta este unul dintre tipurile fundamentale de înregistrări din DNS. A conține o adresă IPv4. Există un echivalent pentru adresele IPv6 - AAAA. Să aruncăm o privire la răspuns:


;; SECȚIUNEA RĂSPUNSURI: web01.bugsplat.info. 300 IN A 192.241.250.244

Restul răspunsului descrie răspunsul în sine:


;; Timp de interogare: 20 ms ;; SERVER: 192.168.1.1#53(192.168.1.1) ;; CÂND: vineri, 19 iul 20:01:16 2013 ;; MSG SIZE rcvd: 56

Mai exact, spune cât timp a durat serverul să răspundă, care este adresa IP a serverului (192.168.1.1), ce port a fost lovit (53, portul DNS implicit), când solicitarea a fost finalizată și câți octeți erau în raspunsul.


După cum puteți vedea, o interogare DNS normală se întâmplă multe. , atunci când deschideți o pagină web, browserul face zeci de astfel de solicitări, inclusiv descărcarea tuturor resurselor externe, cum ar fi imagini și scripturi. Fiecare resursă este responsabilă pentru cel puțin o nouă solicitare DNS, iar dacă DNS-ul nu a fost proiectat pentru cache puternic, atunci ar fi generat mult trafic.


Dar ceea ce nu vedeți în acest exemplu este că serverul DNS 192.168.1.1 a contactat o grămadă de alte servere pentru a răspunde la o întrebare simplă: „unde indică web01.bugsplat.info?”. Să rulăm o urmă pentru a afla despre întregul lanț posibil prin care ar trebui să treacă dacă informațiile nu ar fi memorate în cache:


$ dig +trace web01.bugsplat.info ;<<>> DiG 9.7.6-P1<<>> +trace web01.bugsplat.info ;; opțiuni globale: +cmd . 137375 ÎN NS l.root-servers.net. . 137375 ÎN NS m.root-servers.net. . 137375 ÎN NS a.root-servers.net. . 137375 ÎN NS b.root-servers.net. . 137375 ÎN NS c.root-servers.net. . 137375 ÎN NS d.root-servers.net. . 137375 ÎN NS e.root-servers.net. . 137375 ÎN NS f.root-servers.net. . 137375 ÎN NS g.root-servers.net. . 137375 ÎN NS h.root-servers.net. . 137375 ÎN NS i.root-servers.net. . 137375 ÎN NS j.root-servers.net. . 137375 ÎN NS k.root-servers.net. ;; S-au primit 512 octeți de la 192.168.1.1#53(192.168.1.1) în 189 ms de informații. 172800 IN NS c0.info.afilias-nst.info. info. 172800 IN NS a2.info.afilias-nst.info. info. 172800 IN NS d0.info.afilias-nst.org. info. 172800 ÎN NS b2.info.afilias-nst.org. info. 172800 ÎN NS b0.info.afilias-nst.org. info. 172800 IN NS a0.info.afilias-nst.info. ;; S-au primit 443 de octeți de la 192.5.5.241#53(192.5.5.241) în 1224 ms bugsplat.info. 86400 ÎN NS ns-1356.awsdns-41.org. bugsplat.info. 86400 ÎN NS ns-212.awsdns-26.com. bugsplat.info. 86400 IN NS ns-1580.awsdns-05.co.uk. bugsplat.info. 86400 ÎN NS ns-911.awsdns-49.net. ;; S-au primit 180 de octeți de la 199.254.48.1#53(199.254.48.1) în 239 ms web01.bugsplat.info. 300 IN A 192.241.250.244 bugsplat.info. 172800 ÎN NS ns-1356.awsdns-41.org. bugsplat.info. 172800 ÎN NS ns-1580.awsdns-05.co.uk. bugsplat.info. 172800 ÎN NS ns-212.awsdns-26.com. bugsplat.info. 172800 ÎN NS ns-911.awsdns-49.net. ;; S-au primit 196 de octeți de la 205.251.195.143#53(205.251.195.143) în 15 ms

Informațiile sunt afișate într-o secvență ierarhică. Amintiți-vă cum dig a introdus un punct. după gazdă, web01.bugsplat.info ? Deci, punct. acesta este un detaliu important și semnifică rădăcina ierarhiei.


Serverele DNS rădăcină sunt întreținute de diverse companii și guverne din întreaga lume. Inițial, erau puțini, dar internetul a crescut, iar acum sunt 13. Dar fiecare dintre servere are zeci sau sute de mașini fizice care se ascund în spatele unui IP.


Deci, în partea de sus a urmei sunt serverele rădăcină, fiecare definit cu o înregistrare NS. O înregistrare NS leagă un nume de domeniu (în acest caz, domeniul rădăcină) la un server DNS. Când înregistrați un nume de domeniu la un registrator precum Namecheap sau Godaddy, acestea creează înregistrări NS pentru dvs.


În blocul următor, puteți vedea cum dig a ales un server rădăcină aleatoriu și i-a cerut înregistrarea A pentru web01.bugsplat.info . Este vizibilă doar adresa IP a serverului rădăcină (192.5.5.241). Deci, ce a fost exact serverul rădăcină? Să aflăm!


$ dig -x 192.5.5.241 ;<<>> DiG 9.8.3-P1<<>> -x 192.5.5.241; opțiuni globale: +cmd ;; am primit raspuns: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2862 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;241.5.5.192.in-addr.arpa. IN PTR ;; ANSWER SECTION: 241.5.5.192.in-addr.arpa. 3261 IN PTR f.root-servers.net.

Indicatorul -x îi spune lui dig să facă o căutare inversă a adresei IP. DNS-ul răspunde cu o înregistrare PTR care conectează IP-ul și gazda, în acest caz f.root-servers.net .


Revenind la interogarea noastră inițială, serverul rădăcină F a returnat un set diferit de servere NS. Este responsabil pentru domeniul info de nivel superior. dig solicită unuia dintre aceste servere înregistrarea A pentru web01.bugsplat.info și primește înapoi un alt set de servere NS, apoi întreabă una dintre acestea serverele înregistrează A pentru web01.bugsplat.info. . Și în sfârșit primește un răspuns!


Pf! Ar fi generat mult trafic, dar aproape toate aceste înregistrări au fost memorate în cache pentru o lungă perioadă de timp de către fiecare server din lanț. Computerul dvs. memorează aceste date, la fel ca și browserul dvs. Cel mai adesea, interogările DNS nu ajung niciodată la serverele rădăcină, deoarece adresele lor IP nu se schimbă aproape niciodată ( „Probabil la fel, vorbim despre un TTL mare pentru înregistrările din baza lor de date. Dacă adresa IP a serverului DNS nu s-a schimbat niciodată deloc, asta nu înseamnă că baza sa de date este stocată în cache pentru totdeauna.- aprox. de la ). Domenii de nivel superior com , net , org , etc. sunt, de asemenea, foarte mult stocate în cache.

Alte tipuri

Există alte câteva tipuri despre care merită să știți. Primul este MX. Conectează un nume de domeniu la unul sau mai multe servere de e-mail. E-mailul este atât de important încât are propriul tip de înregistrare DNS. Iată valorile MX pentru petekeen.net:


$ dig petekeen.net mx ;<<>> DiG 9.7.6-P1<<>> petekeen.net mx ;; opțiuni globale: +cmd ;; am primit raspuns: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18765 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;petekeen.net. IN MX ;; ANSWER SECTION: petekeen.net. 86400 IN MX 60 web01.bugsplat.info. ;; Query time: 272 msec ;; SERVER: 192.168.1.1#53(192.168.1.1) ;; WHEN: Fri Jul 19 20:33:43 2013 ;; MSG SIZE rcvd: 93

Rețineți că înregistrarea MX indică un nume, nu o adresă IP.


Un alt tip cu care probabil sunteți familiarizat este CNAME. Decodifică ca Nume canonic(nume canonic). El asociază un nume cu altul. Să ne uităm la răspuns:


$ dig www.petekeen.net ;<<>> DiG 9.7.6-P1<<>> www.petekeen.net ;; opțiuni globale: +cmd ;; am primit raspuns: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16785 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.petekeen.net. IN A ;; ANSWER SECTION: www.petekeen.net. 86400 IN CNAME web01.bugsplat.info. web01.bugsplat.info. 300 IN A 192.241.250.244 ;; Query time: 63 msec ;; SERVER: 192.168.1.1#53(192.168.1.1) ;; WHEN: Fri Jul 19 20:36:58 2013 ;; MSG SIZE rcvd: 86

Este imediat clar că am primit două răspunsuri. Primul spune că www.petekeen.net indică web01.bugsplat.info . Al doilea returnează înregistrarea A pentru acel server. Vă puteți gândi la un CNAME ca un alias (sau alias) pentru un alt server.

Ce este în neregulă cu CNAME

Înregistrările CNAME sunt foarte utile, dar există un punct important: dacă există un CNAME cu un anumit nume, atunci nu puteți crea o altă înregistrare cu același nume. Fără MX, fără A, fără NS, nimic.


Motivul este că DNS efectuează înlocuirea, astfel încât toate înregistrările locației către care indică CNAME să fie valabile și pentru CNAME. În exemplul nostru, intrările pentru www.petekeen.net și web01.bugsplat.info se vor potrivi.


Prin urmare, nu puteți face un CNAME pe un domeniu rădăcină precum petekeen.net , pentru că de obicei aveți nevoie de alte înregistrări acolo, cum ar fi MX .

Solicitări către alte servere

Să presupunem că configurația DNS este dezordonată. Credeți că ați rezolvat problema, dar nu doriți să așteptați ca cache-ul să se reîmprospăteze pentru a vă asigura. Cu dig, puteți interoga serverul DNS public în loc de cel implicit, astfel:


$ dig [email protected]

Simbolul @ urmat de o adresă IP sau gazdă determină dig să interogheze serverul specificat pe portul implicit. Puteți utiliza serverul DNS public Google sau serverul DNS aproape public de Nivel 3 la 4.2.2.2 .

Situații tipice

Să ne uităm la situațiile tipice care sunt familiare multor dezvoltatori web.

Redirecționarea domeniului către www

Este adesea necesar să redirecționați domeniul iskettlemanstillopen.com către www.iskettlemanstillopen.com. Registratori precum Namecheap sau DNSimple îl numesc Redirecționare URL. Iată un exemplu de la administratorul Namecheap:




Caracterul @ înseamnă domeniul rădăcină iskettlemanstillopen.com . Să ne uităm la înregistrarea A pentru acest domeniu:


$ dig iskettlemanstillopen.com ;; SECȚIUNEA DE ÎNTREBĂRI: ;iskettlemanstillopen.com. IN A ;; SECȚIUNEA RĂSPUNSURI: isketttlemanstillopen.com. 500 IN A 192.64.119.118

Acest IP aparține Namecheap și există un mic server web care rulează acolo care doar face o redirecționare la nivel HTTP către http://www.iskettlemanstillopen.com:


$ curl -I iskettlemanstillopen.com curl -I iskettlemanstillopen.com HTTP/1.1 302 Mutat temporar Server: nginx Data: Vineri, 19 iulie 2013 23:53:21 GMT Tip de conținut: text/html Conexiune: păstrare Lungimea conținutului : 154 Locație: http://www.iskettlemanstillopen.com/

CNAME pentru Heroku sau Github

Aruncă o privire la captura de ecran de mai sus. Pe a doua linie este CNAME . În acest caz, www.iskettlemanstillopen.com indică o aplicație care rulează pe Heroku.


$ domenii heroku === warm-journey-3906 Nume de domenii warm-journey-3906.herokuapp.com www.iskettlemanstillopen.com

Cu Github, povestea este similară, dar acolo trebuie să creați un fișier special în rădăcina depozitului și să îl denumiți CNAME . Consultați documentația .dns Adăugați etichete

Abrevierea dns este acum auzită pe scară largă de toți utilizatorii de internet. Dar puțini știu ce înseamnă exact aceste litere englezești. Ce este dns și cum să descifrem acest nume?

numele domeniului

Pe World Wide Web, fiecare site web are propria sa adresă IP. Toate adresele IP sunt reprezentate ca o secvență de patru numere și puncte: 222.222.222.222. Aceste numere se numesc oketa. Nu există niciun punct după ultima cifră. Adresa IP poate include numere de la 0 la 255.

Dacă vrem să vizităm un site, introducem numele domeniului, nu adresa IP. De acord, o combinație de litere mail.ru este mult mai ușor de reținut decât o secvență lungă de numere. Și apoi dezvoltatorii s-au gândit cum să lege aceste numere la adresa unei scrisori?

Ca rezultat, sistemul DNS a fost dezvoltat - numele domeniului. Dacă traducem această expresie în rusă, vom primi numele „Serviciul de nume de domeniu”.



Ce este un domeniu?

Când Internetul era la început, fiecare utilizator avea un fișier care conținea liste de contacte. Când un computer este conectat la o rețea, se fac schimb de date. Dar acest schimb ar trebui accelerat.

Adresa lungă a fost împărțită în domenii (segmente), iar acestea, la rândul lor, au fost împărțite în subdomenii.

De când Internetul a apărut în SUA, principalele domenii au nume în limba engleză:

COM- Organizatii de afaceri

EDU– Instituții din domeniul educației

MIL– Structuri militare

ORG- Companii private

NET– Furnizorii de internet

Domeniile principale (indigene) ale altor state sunt o combinație de două litere ( RO).



Domeniile de nivel al doilea sunt numele orașelor și districtelor în formă prescurtată, iar al treilea nivel include întreprinderi și companii.

Punctul este un semn foarte important atunci când vine vorba de domenii. Acționează ca un separator între domenii de diferite niveluri. Dar la sfârșitul numelui (adresei) nu puneți un punct.

Fiecare domeniu individual cu un punct este o etichetă. Lungimea sa nu poate depăși 63 de caractere. Lungimea totală a adresei este de 255 de caractere.

Numele de domenii sunt scrise de obicei folosind litere latine și o cratimă. Prefixele altor sisteme de scriere sunt folosite mai rar. Ce literă va fi scrisă, majusculă sau mică, nu contează.



Cum funcționează DNS

Acest sistem unic transformă secvențe lungi de numere de adrese IP în nume de domenii. De asemenea, funcționează invers, transformând numele de domenii în adrese IP. Dacă serverele dns nu ar exista, utilizatorii de internet ar trebui să-și amintească sau să noteze nu simple nume din litere latine, ci lanțuri lungi de numere separate prin puncte. De acord, nu este o perspectivă foarte strălucitoare?

Dacă serverul dns nu este, atunci numele de domenii nu vor fi convertite în adrese IP. Când tastează orice adresă de site, utilizatorilor li se va afișa o pagină de eroare. Acest lucru nu vă va întrerupe conexiunea la internet.



Adresa dns este emisă automat sau specificată în setările Internet. Pentru a modifica datele, accesați fila „Conexiuni de rețea”. Apoi trebuie să deschideți protocolul care este utilizat pentru a deservi rețeaua. Aici ar trebui să deschideți linkul „Proprietăți” și să specificați parametrii doriti. În cele mai multe cazuri, utilizatorii prescriu adresa IP principală și a doua, alternativă.



De ce aveți nevoie de un server DNS

După ce am aflat ce sunt un domeniu și o adresă IP, apare o întrebare rezonabilă, ce este un server dns. Dns - serverele sunt computere care stochează o listă de obiecte în același nivel de Internet. Acestea permit utilizatorilor să schimbe rapid informații.

Fiecare nivel al rețelei are un server personal, care stochează cu atenție date despre adresele utilizatorilor unui segment separat.

De exemplu, utilizatorul dorește să găsească site-ul dorit. Serviciul trimite o cerere către serverul local. Dacă aceste date sunt acolo, atunci clientul primește un răspuns că există o astfel de pagină. Browserul primește adresa site-ului și o încarcă.

Dacă serverul local nu are informațiile necesare, atunci serverul dns face o cerere către calculatoare de ordin superior. Acest algoritm continuă până când este găsită adresa dorită.

Ce este DNS?

DNS înseamnănumele domeniului sau Serviciul de nume de domeniu. Ați specificat un nume, iar DNS înlocuiește adresa IP a resursei care găzduiește site-ul. Numele în acest caz este numele gazdei sau adresa IP. Fără DNS, ar trebui să vă amintiți adresa IP a fiecărui site pe care doriți să-l vizitați. Astăzi există peste 300 de milioane de site-uri web pe Internet, este absolut imposibil să ne amintim adresa IP a site-ului necesar.

Ce este IP dinamic?

Cum se face o adresă IP statică dintr-una dinamică?

Nu este nevoie să cumpărați un IP static. Utilizați DNS-ul nostru dinamic gratuit pentru a potrivi o adresă dinamică sau o adresă URL lungă proprietății dvs. pentru a vă aminti cu ușurință numele gazdei. Monitorizarea de la distanță a casei dvs. printr-o cameră web pe orice port sau rulând propriul server la domiciliu cu o adresă IP dinamică - toate acestea sunt disponibile cu serviciulDnsIP . În cazul unei alocări IP dinamice de către un ISP, devine necesar un serviciu precum Dynamic DNS.

Când vă înregistrați pe serviciul nostru, obțineți un nume de domeniu. Un client special care trebuie descărcat este instalat pe computerul utilizatorului. Acest client trimite periodic informații către serverul DNS, raportând adresa sa IP. Serverul de servicii DynDNS stochează ultimul IP al utilizatorului și, la accesarea numelui de domeniu personalizat obținut în timpul înregistrării, redirecționează solicitarea către acest IP.

Rețea privată.

Serviciile convenționale oferă doar nume de domenii de nivel al treilea. Acest lucru poate fi incomod. În prezența unei adrese IP dinamice externe, proiectul nostru inovator vă permite să obțineți un nume de domeniu nu numai de al treilea, ci și de primul nivel. Prin instalarea unei aplicații speciale pe computere, îți va deveni disponibilă o rețea privată, în care vei putea accesa servicii sau programe folosind orice protocol sau port. În acest caz, niciun trafic nu va trece prin serverul nostru. Toate informațiile vor fi transferate direct între computere.

Computer la distanță și desktop la distanță.

Prin intermediul DynDNS Secure serviciu DnsIP vă permite să organizați o conexiune la un computer la distanță prin orice program de acces la distanță folosind orice port. În acest caz, contactați direct computerul de la distanță, iar serviciul nostru informează numai programele dumneavoastră despre adresa IP necesară.

Monitorizarea rețelei.

Utilizând serviciul nostru, monitorizarea rețelei va deveni disponibilă pentru dvs. Toți utilizatorii conectați (numele computerelor lor) vor fi urmăriți numai de dvs. Veți fi informat ce computer este online și care este offline.

Dacă vreo aplicație de pe computerul de la distanță nu răspunde și trebuie să reporniți în siguranță mașina de la distanță, puteți face acest lucru cu un clic pe un buton fără a utiliza linia de comandă și setările speciale pentru firewall și chiar dacă rețeaua la distanță nu are un adresa IP externă. Tot ce aveți nevoie este o conexiune la internet.

Faceți clic automat pe butonul de acces gratuit când utilizați Yota.

Dacă utilizați acces gratuit la Internet de la furnizorul „Yota”, o dată pe zi conexiunea este blocată și apare o fereastră de browser cu sugestia de a continua cu viteză mică. Acest lucru este extrem de incomod când utilizați accesul de la distanță la acest computer. În acest caz, este suficient să ne instalațiprogram gratuit, și va restabili accesul la Internet în câteva minute. Această opțiune este disponibilă fără înregistrarea utilizatorului pe site-ul nostru. În acest caz, programul trebuie doar instalat, nu trebuie făcute setări.

În orice moment, puteți afla adresa IP a resursei dvs.

Pagina http://dns-free.com/dns2ip.php?dns=xxxxxxx vă stă la dispoziție, unde xxxxxxx este numele de domeniu din sistemul DnsIP. Utilizați-l pentru a organiza legăturile către resursa dvs. utilizând sistemul DNS dinamic. Sau adăugați la favorite și, cu un singur clic, aflați IP-ul curent al resursei dvs. Sau introduceți manual în formularul de pe același

Majoritatea utilizatorilor de Internet știu că serverul DNS oferă traducerea numelor site-urilor în adrese IP.Și, de obicei, aici se termină cunoștințele despre serverul DNS. Acest articol este conceput pentru o analiză mai aprofundată a funcțiilor sale.

Deci, să ne imaginăm că trebuie să depanați o rețea pentru care furnizorul a alocat un bloc de adrese „cinstite” sau să vă configurați propriul server DNS în rețeaua locală. Aici vor apărea imediat tot felul de cuvinte groaznice, cum ar fi „zonă”, „transfer”, „forwarder”, „in-addr.arpa” și așa mai departe. Să luăm totul pas cu pas.

Într-un mod foarte abstract, fiecare computer de pe Internet are doi identificatori principali - un nume de domeniu (de exemplu, www..0.0.1). Însă abstracția constă în faptul că un computer poate avea mai multe adrese IP (mai mult, fiecare interfață poate avea propria sa adresă, în plus, mai multe adrese pot aparține unei singure interfețe), și pot exista și mai multe nume. Mai mult, ei pot comunica atât cu una, cât și cu mai multe adrese IP. Și în al treilea rând, este posibil ca un computer să nu aibă deloc un nume de domeniu.

După cum am menționat mai devreme, sarcina principală a unui server DNS este să traducă numele de domenii în adrese IP și invers. În primele zile ale Internetului, când era încă ARPANET, acest lucru a fost rezolvat prin menținerea unor liste lungi cu toate rețelele de calculatoare. În același timp, o copie a unei astfel de liste ar fi trebuit să fie localizată pe fiecare computer. Desigur, odată cu creșterea rețelei, această tehnologie a devenit deja incomodă pentru utilizatori, deoarece aceste fișiere erau mari și, în plus, trebuiau să fie și sincronizate. Apropo, unele dintre aceste „ecouri ale trecutului” ale acestei metode pot fi găsite și astăzi. Acesta este modul în care puteți introduce adresele serverelor cu care lucrați în mod regulat în fișierul HOSTS (atât pe UNIX, cât și pe Windows).

Deci, sistemul incomod „un singur fișier” a fost înlocuit cu DNS - o structură de nume ierarhică inventată de dr. Paul Mokapetris.

Deci, există o „rădăcină a copacului” - „”. (punct). Având în vedere că această rădăcină este aceeași pentru toate domeniile, punctul de la sfârșitul numelui nu este de obicei pus. Dar este folosit în descrierile DNS și trebuie reținut. Sub această „rădăcină” se află domeniile de prim nivel. Sunt puține dintre ele - com, net, edu, org, mil, int, biz, info, gov (etc.) și domenii de stat, de exemplu, ua. Și mai jos sunt domeniile de al doilea nivel, și chiar mai jos - al treilea și așa mai departe.

Ce este ierarhia ascendentă

La configurare, este specificată adresa a cel puțin unui server DNS, dar, de regulă, există două dintre ele. Apoi, clientul trimite o cerere către acest server. Serverul care a primit cererea fie răspunde dacă răspunsul îi este cunoscut, fie transmite cererea către serverul „în amonte” (dacă este cunoscut), fie imediat către rădăcină, deoarece fiecare server DNS cunoaște adresele DNS-ului rădăcină. servere.
Apoi cererea începe să scadă - serverul rădăcină redirecționează cererea către serverul de primul nivel, serverul rădăcină către serverul de al doilea nivel și așa mai departe.

Pe lângă o astfel de „conexiune verticală”, există și cele „orizontale”, după principiul „primar – secundar”. Și dacă presupunem că serverul care deservește domeniul și funcționează „fără plasă de siguranță” devine brusc inaccesibil, atunci computerele care se află în acest domeniu vor deveni și ele inaccesibile! De aceea, la înregistrarea unui domeniu de nivel al doilea, este necesar să specificați cel puțin două servere DNS care vor deservi acest domeniu.

Pe măsură ce Internetul a continuat să crească, toate domeniile de nivel superior au fost împărțite în subdomenii sau zone. Fiecare zonă este un domeniu independent, dar interogează domeniul părinte atunci când accesează baza de date de nume. Zona părinte garantează zonei copil dreptul de a exista și este responsabilă pentru comportamentul acesteia în rețea (la fel ca în viața reală). Fiecare zonă trebuie să aibă cel puțin două servere DNS care să mențină baza de date DNS pentru acea zonă.

Condițiile principale pentru funcționarea serverelor DNS într-o zonă sunt prezența unei conexiuni separate la Internet și plasarea acestora în diferite rețele pentru a asigura toleranța la erori. Prin urmare, multe organizații se bazează pe ISP-uri pentru a menține serverele DNS secundare și terțiare în numele lor.

Servere recursive și nerecursive

Serverele DNS pot fi recursive sau nerecursive. Diferența dintre ele este că cele recursive returnează întotdeauna un răspuns clientului, deoarece monitorizează în mod independent trimiterile către alte servere DNS și le interogează, în timp ce cele nerecursive returnează aceste trimiteri către client, iar clientul trebuie să interogheze independent serverul specificat. .

Serverele recursive sunt de obicei utilizate la niveluri scăzute, de exemplu, în rețelele locale, deoarece memorează în cache toate răspunsurile intermediare și, astfel, cererile ulterioare către acesta vor returna răspunsuri mai repede. Și serverele nerecursive sunt adesea în fruntea ierarhiei, deoarece primesc atât de multe solicitări încât pur și simplu nu există suficiente resurse pentru a stoca în cache răspunsurile.

Forwarderi - Remiteri de solicitări și Acceleratoare de rezoluție a numelor

Serverele DNS au o proprietate destul de utilă - capacitatea de a folosi așa-numitele „forwarderi” (forwarderi). Un server DNS „cinstit” chestionează în mod independent alte servere și găsește răspunsul corect. Dar dacă rețeaua dvs. este conectată la Internet printr-o linie lentă (de exemplu, dial-up), atunci acest proces poate dura mult timp. Prin urmare, puteți redirecționa aceste solicitări, de exemplu, către serverul furnizorului și apoi pur și simplu să acceptați răspunsul acestuia.

Utilizarea unor astfel de „expederi” poate fi utilă companiilor mari care au mai multe rețele. Deci, în fiecare rețea, puteți instala un server DNS relativ slab și puteți specifica o mașină mai puternică cu o linie mai rapidă ca „redirecționar”. Deci, se dovedește că toate răspunsurile vor fi stocate în cache de acest server mai puternic, ceea ce va duce la o rezoluție mai rapidă a numelor pentru întreaga rețea.

Fiecare domeniu își menține propria bază de date DNS, care arată ca un set de fișiere text simple. Acestea sunt localizate pe serverul DNS primar (primar), iar serverele secundare le copiază din când în când. Și configurația serverului indică ce fișier conține descrieri de zonă, precum și dacă serverul este primar sau secundar pentru această zonă.

Adresă unică

O adresă unică pe Internet se formează prin adăugarea unui nume de domeniu la un nume de gazdă. Astfel, un computer, de exemplu, „fred” dintr-un domeniu, de exemplu, „smallorg.org” ar fi numit fred.smallorg.org. Apropo, un domeniu poate conține atât gazde, cât și zone. De exemplu, domeniul smallorg.org poate conține gazda fred.smallorg.org și, în același timp, găzduiește zona acctg.smallorg.org, care este un subdomeniu și poate conține o altă gazdă barney.acctg.smallorg.org. În timp ce acest lucru simplifică baza de date cu nume, face găsirea gazdelor pe Internet mai dificilă.

Sistemul DNS implementează trei scenarii pentru căutarea unei adrese IP într-o bază de date.

  • Un computer care trebuie să se conecteze la un alt computer din aceeași zonă solicită serverului DNS local al zonei pentru a găsi adresa IP a computerului de la distanță. Serverul DNS local, care are această adresă în baza de date locală de nume, returnează adresa IP solicitată computerului care a trimis cererea.

* Un computer care trebuie să se conecteze la un computer din altă zonă interogează serverul DNS local din zona sa. Serverul DNS local detectează că computerul țintă se află într-o zonă diferită și interogează serverul DNS rădăcină. Serverul DNS rădăcină coboară în arborele serverului DNS și găsește serverul DNS local corespunzător. Din aceasta, el obține adresa IP a computerului solicitat. Serverul DNS rădăcină transmite apoi această adresă serverului DNS local care a trimis cererea. Serverul DNS local returnează o adresă IP computerului de pe care a fost făcută cererea. Împreună cu adresa IP, se transmite o valoare specială - time to live TTL (time to live). Această valoare îi spune serverului DNS local cât timp poate păstra adresa IP a computerului de la distanță în memoria cache. Acest lucru crește viteza de procesare a cererilor ulterioare.

* Un computer care trebuie să se reconecteze la un computer dintr-o zonă diferită interogează serverul DNS local din zona sa. Serverul DNS local verifică dacă numele este în memoria cache și dacă valoarea TTL a expirat. Dacă adresa este încă în cache și valoarea TTL nu a expirat, atunci adresa IP este trimisă computerului solicitant. Acesta este considerat un răspuns neautorizat, deoarece serverul DNS local consideră că adresa IP a computerului la distanță nu s-a schimbat de la ultima interogare.

În toate cele trei cazuri, computerul are nevoie doar de adresa IP a serverului DNS local pentru a găsi un computer pe Internet. Serverul DNS local face restul muncii pentru a găsi adresa IP care se potrivește cu numele solicitat. După cum puteți vedea, lucrurile sunt acum mult mai ușoare pentru computerul local.

Pe măsură ce arborele DNS a crescut, au fost introduse noi cerințe pe serverele Sistemului de nume de domeniu. După cum sa menționat mai devreme, serverele DNS părinte trebuie să aibă adresele IP ale serverelor DNS secundare pentru a procesa corect cererile de rezoluție de la numele la adresa IP DNS. Pentru ca cererile DNS să fie procesate corect, căutările în arborele DNS trebuie să înceapă dintr-un anumit punct. În perioada incipientă a internetului, majoritatea solicitărilor de căutare de nume erau pentru nume de gazdă locale. Majoritatea traficului DNS a trecut în zona locală și doar în cel mai rău caz a ajuns la serverele DNS părinte. Cu toate acestea, pe măsură ce popularitatea Internetului și, în special, a Web-ului a crescut, din ce în ce mai multe solicitări DNS au fost făcute către gazde la distanță din afara zonei locale. Când serverul DNS nu a găsit numele de gazdă în baza sa de date, a fost forțat să interogheze serverul DNS de la distanță. Cei mai potriviți candidați pentru serverele DNS la distanță, desigur, sunt serverele DNS de nivel superior care au cunoștințe complete despre arborele de domeniu și sunt capabili să găsească serverul DNS corect responsabil pentru zona căreia îi aparține gazda solicitată. Apoi returnează adresa IP a gazdei dorite la serverul DNS local. Toate acestea duc la supraîncărcări enorme ale serverelor rădăcină ale sistemului DNS. Din fericire, nu sunt atât de mulți și toți distribuie uniform sarcina între ei. Serverele DNS locale comunică cu serverele DNS de domeniu de nivel superior utilizând protocolul DNS, care este discutat mai târziu în acest capitol.

Sistemul DNS este o stradă cu două sensuri. DNS nu numai că caută o adresă IP de la un anumit nume de gazdă, dar poate efectua și operația inversă, de exemplu. determinați numele de gazdă în rețea după adresa IP. Multe servere Web și FTP de pe Internet restricționează accesul în funcție de domeniul căruia îi aparține clientul care le accesează. La primirea unei cereri de conectare de la client, serverul transmite adresa IP a clientului serverului DNS ca o interogare DNS inversă. Dacă zona client DNS este configurată corect, atunci cererea va returna numele gazdei client, pe baza căruia se decide apoi dacă se permite sau nu acest client pe server.

DNS este un serviciu care oferă schimburi între diferite segmente de rețea. Aplicația sa poate reduce semnificativ timpul petrecut căutând informații. În acest articol, veți afla despre principiile de bază ale funcționării serviciului, precum și despre metodele și formele de transmitere a datelor pe Internet.

Cum functioneazã

În zorii internetului, exista un sistem de denumire „plat”: fiecare utilizator avea un fișier separat care conținea liste de contacte de care avea nevoie. Când s-a conectat la World Wide Web, datele sale au fost trimise către alte dispozitive.

Cu toate acestea, din cauza dezvoltării rapide a internetului, a fost necesară simplificarea pe cât posibil a schimbului de date. Prin urmare, a fost împărțit în segmente-domenii mai mici. La rândul lor, ele sunt împărțite în subdomenii. În partea de sus a adresei date în forma nominală se află rădăcina - domeniul principal.

Întrucât Internetul este o invenție americană, există două tipuri de domenii primare:

  • domenii comune care aparțin instituțiilor din SUA:
  1. com - organizații de afaceri;
  2. gov - agenții guvernamentale;
  3. edu - instituții de învățământ;
  4. mil - misiuni militare;
  5. org - organizații private;
  6. net este un furnizor de internet.
  • domeniile rădăcină ale altor țări constau din două litere.

Al doilea nivel constă din abrevieri ale orașelor sau regiunilor, iar domeniile de ordinul trei denotă diverse organizații și întreprinderi.


Punctul acționează ca un separator între domenii de ordine diferită. Nu există niciun punct la sfârșitul numelui. Fiecare domeniu punctat individual se numește etichetă.

Lungimea sa nu trebuie să depășească 63 de caractere, iar lungimea totală a adresei - 255 de caractere. Practic se folosesc latina, cifrele si cratima, dar in urma cu cativa ani au inceput sa foloseasca prefixe bazate pe alte sisteme de scriere. Literele majuscule nu contează.


Serverele sunt computere care conțin o listă de alte obiecte din același nivel de rețea, ceea ce vă permite să accelerați schimbul dintre utilizatori. Au devenit baza noului sistem.

Fiecare nivel de rețea trebuie să aibă propriul server, care conține informații despre adresele utilizatorilor din segmentul său.

Căutarea datelor necesare este următoarea:



Bazele DNS

Un nod format din mai multe domenii se numește zonă. Fișierul său conține parametrii principali ai segmentului său. Printre altele, include informații despre FQDN-ul sau numele de domeniu complet calificat. Dacă o astfel de înregistrare se termină cu un punct, înseamnă că numele obiectului este setat corect.


Există mai multe tipuri de computere care servesc DNS:

  • maestru este agentul principal al rețelei. El îi poate schimba configurația;
  • sclav sunt dispozitive de ordinul doi. Aceștia servesc clienții la egalitate cu maestrul și îl pot înlocui în caz de probleme. Acest lucru vă permite să descărcați rețeaua;
  • stocarea în cache. Conține în informații despre domeniile zonelor străine;
  • invizibil. Lipsește în descrierea zonei. Cel mai adesea, acest statut este atribuit utilizatorilor cu statut de master pentru a-i proteja de atac.

Lor, utilizatorul le poate trimite unul dintre cele două tipuri de solicitări.

Browserul îl trimite prin programul de rezolvare:

  • recursiv. Dacă serverul nu conține informațiile necesare, în acest caz învață datele necesare de la computerele de nivel superior și trimite un răspuns clientului. Acest lucru vă permite să reduceți numărul de solicitări și economisiți timp și trafic;
  • iterativ. Serverul trimite un răspuns gata, selectând informații doar din propriul cache (memorie). Dacă nu are date adecvate, atunci oferă o legătură către alte computere. Browserul navighează apoi la adresa respectivă.

Există două tipuri de răspunsuri:

  1. autoritar– dacă datele sunt trimise de la un dispozitiv care deservește rețeaua;
  2. neautoritare. Trimis de un computer terță parte care obține datele necesare din propriul cache sau după o solicitare iterativă.

Video: serviciu DNS

Nume și adrese IP

Serviciul DNS traduce numele site-urilor în adrese IP. Pe Internet, fiecare dispozitiv poate fi urmărit prin 2 parametri principali - numele domeniului și adresa IP. Acestea pot fi alocate computerului unui utilizator, unei imprimante de rețea sau unui router.

Cu toate acestea, acest lucru este foarte condiționat, deoarece un computer poate să nu aibă un nume de domeniu, dar să folosească mai multe adrese. În plus, fiecare adresă IP trebuie să se potrivească cu toate numele de domenii. Cu toate acestea, un domeniu poate conține informații despre o singură adresă IP.

Mod de lucru

Serverele pot funcționa în următoarele moduri:

  1. întreținerea zonei proprii. Datele sunt schimbate între computerele master și slave. În același timp, cererile de la utilizatori neautoritari nu sunt acceptate;
  2. executarea unei întrebări recursive;
  3. expediere– serverul trimite o cerere către o altă zonă.

Modificați setările DNS

De obicei, acești parametri sunt setați automat de rețea. Pentru a reseta datele, trebuie să mergeți la secțiunea „Conexiuni de rețea”.

După aceea, trebuie să intrați în protocolul utilizat pentru întreținerea rețelei.

În secțiunea „Proprietăți”, puteți seta parametrii necesari. De obicei, sunt specificate adresa IP principală a serverului și una alternativă.

Format mesaj

Mesajele care sunt folosite pentru a face schimb de informații de către un serviciu încep cu un antet de 12 octeți. Apoi vine câmpul de identificare, care vă permite să determinați ce cerere a primit răspuns.


Câmpul de steaguri (următorii 16 biți) include informații:

  1. tipul mesajului;
  2. cod de operare;
  3. identificarea autorității (adică, arată dacă computerul de serviciu aparține rețelei);
  4. Steagul TC. Indică dacă mesajul este trunchiat sau complet.
  5. steag recursiv, i.e. solicitări către server pentru a trimite cereri către calculatoare de ordin superior;
  6. steag recursiv. Indică capacitatea serverului de a redirecționa mesajul;
  7. cod de retur. Afișează dacă a fost trimis sau nu un răspuns de eroare.

Ultimul câmp de 16 biți arată numărul total de parametri luați în considerare.

Întrebări într-o interogare DNS

O parte a unei înregistrări de resurse într-un răspuns

Orice răspuns conține informații despre partea care a trimis mesajul. Conține următoarele date: răspuns, autoritate server și informații suplimentare despre acesta.


Pe lângă acestea, mesajul conține:

  • numele domeniului;
  • Tip de solicitare;
  • data de expirare a versiunii stocate în cache;
  • lungimea înregistrării resurselor - o estimare a cantității de informații.

Interogări cu pointer

Solicitările de indicator sunt direcționate către căutări de pagini în modul invers, de exemplu. căutați un nume de resursă după adresa IP, dat ca șir de text separat prin puncte.


Pentru a o trimite, adresa gazdei este scrisă în ordine inversă cu adăugarea unui sufix specific (cel mai adesea sub forma in-addr.arpa).

Puteți efectua operația dacă resursa conține o înregistrare PTR. Acest lucru vă permite să transferați controlul zonei către proprietarul adreselor IP.

Inregistrari

Aceasta este o listă a principalelor programe utilizate de serviciu. În cadrul aceluiași domeniu, aceste înregistrări sunt unice. Pot exista duplicate ale acestor înregistrări la diferite niveluri ale rețelei.

Aceste date includ următoarele tipuri de înregistrări:

  1. SOA– începutul puterilor. Vă permite să potriviți domeniul și computerele care îl deservesc. Acestea conțin și informații despre data de expirare a versiunii stocate în cache și despre persoana de contact care deservește serverul de un anumit nivel;
  2. A conține o listă de adrese IP și gazdele corespunzătoare. Acestea vă permit să identificați adresa resurselor de domeniu;
  3. NS (server de nume) include o listă de computere care deservesc domeniul;
  4. SRV (serviciu) afișați toate resursele care îndeplinesc cele mai importante funcții ale serviciului;
  5. MX (schimbător de e-mail) vă permit să configurați automat distribuția datelor către computere care deservesc din același domeniu;
  6. PTR (indicator) folosit pentru a căuta numele unei resurse dacă utilizatorul îi cunoaște adresa IP;
  7. CNAME (nume canonic) permite ca serverul să fie referit prin mai multe aliasuri din serviciu.

stocarea în cache

Pentru a găsi informațiile de care aveți nevoie, browserul poate căuta informații în trei segmente. În primul rând, datele necesare sunt căutate folosind serviciul DNS, adică. la nivel local. Le puteți găsi dacă computerul dvs. conține un fișier Hosts.

Cu toate acestea, dacă operațiunea eșuează, atunci clientul trimite o cerere. Pentru a accelera căutarea informațiilor, se folosesc servere stocate în cache. Dacă nu găsește datele necesare, atunci efectuează o interogare recursivă. Când este servit, acesta copiază datele altor rețele.


Acest lucru vă permite să economisiți trafic fără a contacta ulterior utilizatorii autorizați. Dar o intrare deschisă rămâne valabilă pentru o perioadă limitată de timp. Data de expirare a acestuia este setată în fișierul de zonă. În mod implicit, minimul este de 1 oră.

UDP sau TCP

Serviciul acceptă atât UDP, cât și TCP.

UDP este folosit pentru a trimite mesaje prin rețele de zonă extinsă. Dimensiunea mesajelor trimise folosind acest protocol este limitată. Răspunsurile incomplete conțin o etichetă TC. Aceasta înseamnă că dimensiunea răspunsului a depășit 512 octeți, deci restul nu a ajuns la computer.


Este mai puțin fiabil, deoarece nu are un timeout specific de răspuns la cerere. Cu toate acestea, un astfel de sistem este potrivit pentru transmiterea unei cantități uriașe de informații.

TCP este folosit pentru a transfera astfel de date, deoarece vă permite să primiți orice cantitate de date împărțită în segmente de o anumită dimensiune.

Acest protocol este folosit și de serverele secundare atunci când solicită date de la gazde la fiecare trei ore pentru a afla dacă fișierul de configurare a rețelei este actualizat.

Serviciul DNS are o structură ierarhică complexă. Cu toate acestea, sistemul server oferă o interacțiune flexibilă și rapidă între toți utilizatorii și dispozitivele rețelei.

Pentru a afla informatiile necesare, clientul trimite o solicitare. Răspunsul conține date de bază despre obiectul de interes și computerul care deservește zona. Pentru acest schimb sunt utilizate protocoalele UDP și TCP.