Privire de ansamblu asupra sistemului de nume de domeniu (DNS) DNS

Cum funcționează DNS?

Denumirea obiectelor de rețea este împărțită în "plat" și ierarhic (domeniu).

Dezavantajele unui astfel de sistem au început să se manifeste destul de repede: odată cu trecerea de la mașinile de dimensiuni mari la cele personale și cu creșterea internetului. Traficul, asociat cu actualizarea informațiilor la adăugarea de computere la Internet, a amenințat că va ciocni toate liniile de comunicare. În plus, fiecare nume din rețea trebuie să fie unic și devine din ce în ce mai dificil și mai greu să facă acest lucru. Prin urmare, până la mijlocul anilor 1980, a apărut un alt sistem de numire mai flexibil - sistemul de nume de domeniu (Domain Name System, DNS).

DNS implementează un spațiu de nume ierarhic. Unitatea de măsură este domeniul (teritoriu, regiune). Noțiunea de domeniu DNS nu trebuie confundată cu un domeniu Windows NT sau cu un domeniu NIS. Nu au nimic de-a face cu ceilalți.

În DNS, întreaga rețea este reprezentată ca un singur arbore ierarhic. În partea de sus este domeniul rădăcină (indicat de simbolul "."). Mai jos sunt domeniile din primul nivel. Deoarece Internetul a dezvoltat în primul rând în SUA și pe cheltuiala contribuabilului american, a cauzat unele prejudecată în formarea domeniilor de prim nivel: Internet așa cum a fost împărțit între SUA și restul lumii.

Cele mai cunoscute domenii de prim nivel sunt: ​​organizațiile com-comerciale (în principal în SUA); edu - instituții de învățământ din SUA; gov - agenții guvernamentale americane; mil - instituțiile militare americane; net - diverse agenții de rețea și furnizori de internet; int - organizații internaționale; org - instituții fără scop lucrativ; codul țării este un cod de două litere pentru desemnarea statului (ru - pentru Rusia, ua - pentru Ucraina, etc.). Sub domeniile primului nivel se află domeniile de nivel 2 și așa mai departe până la gazde. Pentru primul domeniu de nivel, indicând starea domeniilor de nivelul doi sunt adesea oraș sau regiune (de exemplu, Kiev - pentru Kiev dp regiunea -Dnepropetrovskaya), iar nivelul al treilea domeniu - companii și organizații.

Caracterele valide sunt literele, numerele și o cratimă "-" (cutia nu poate fi la începutul sau sfârșitul etichetei). Registrul de scrisori nu contează, adică compania1.krcrme.dp.ua. și COMPANY1.KRCRME.DP.UA. denumește același domeniu.

În FQDN punctului final nu poate fi setat pentru că este, de obicei, un software-ul TCP / IP de software implică faptul că numele de domeniu compozit (de exemplu, atunci când există mai mult de două etichete) se referă la FQDN. Astfel, compania1.krcrme.dp.ua. și company1.krcrme.dp.ua sunt una și aceeași.

Domeniile se supun ierarhic reciproc, iar domeniile sunt noduri ale arborelui de domeniu, iar gazdele sunt frunze. Conceptul domeniului este destul de amplu și în același timp flexibil. Nu se limitează la limitele fizice, de exemplu, limitele unei rețele IP sau a unui segment Ethernet. Domeniul DNS poate fi atât țara, cât și întreprinderea și departamentul băncii. Un singur domeniu poate include cât mai multe rețele, precum și numai o parte dintr-o rețea sau chiar o subrețea.

Cu toate acestea, funcțiile DNS nu se limitează la aceasta. DNS furnizează următoarele informații:

Există o serie de parametri mai puțin folosiți.

Software-ul care comunică cu serverele de nume se numește un client DNS (Resolver DNS). Clientul DNS acționează ca intermediar între aplicațiile de rețea și serverele de nume. În acest caz, acesta este de obicei ascuns de programele de utilizator. Aplicațiile de rețea folosesc cel mai adesea implicit clientul DNS, prin funcțiile stivei TCP / IP. Cu toate acestea, aplicația nslookup vă permite să preluați orice informații din baza de date DNS. Clientul DNS face parte din software-ul TCP / IP. Dar stiva TCP / IP, împreună cu DNS, suportă un sistem de denumire "plat" (prin fișierul hosts). Acest lucru face posibilă asigurarea disponibilității dispozitivelor de rețea în cazul problemelor DNS (de exemplu, dacă nu există nicio conexiune cu serverul de nume). Clientul DNS poate funcționa atât pe un computer separat, cât și pe un server de nume.

Serverul de nume nu este de fapt responsabil pentru domeniu, ci pentru așa-numita zonă de autoritate. care poate include mai multe domenii adiacente. Mai mult decât atât, serverul de nume este capabil să gestioneze simultan mai multe zone, și nu neapărat contiguoase.

Timpul în care informațiile sunt stocate în memoria cache este determinat de sursa informațiilor și variază de obicei de la zeci de minute până la câteva zile.

Caching vă permite să reduceți traficul în rețea, precum și să reduceți povara serverelor de nume.

Serverele de nume sunt de mai multe tipuri. Serverul primar de nume (Server primar de nume) stochează pe discurile sale fișierele principale (fișierele principale). care conțin toate informațiile despre zonele de administrare ale acestui server. Aceste fișiere sunt încărcate în memoria serverului de nume când este lansată.

Serverul secundar de nume (Secondary Name Server) este utilizat ca duplicat al serverului primar, care oferă toleranță la defecțiunile DNS. Descărcă informațiile de pe serverul principal și apoi le actualizează periodic, trimițând cereri către serverul principal.

Serverele "numai pentru cache" (cache-only server) informații de cache primite de la alte servere de nume. Cel mai adesea ele sunt utilizate în rețele mari pentru a descărca serverul primar.

Totuși, acest lucru nu este încă toate tipurile de servere de nume, dar restul (serverele Forwarder și Slave Forwarder) au doar mici diferențe în prelucrarea informațiilor DNS.

Actualizarea conținutului altor servere de nume din această zonă va apărea pe măsură ce conținutul cache-ului lor va fi depășit. Aceste servere trebuie să trimită o cerere către serverul primar pentru a actualiza informațiile zonei.

Serverele de nume ale altor zone transmit numai informații specifice (și nu date pentru întreaga zonă) și numai la cererea lor.

Serverele de nume pot funcționa în două moduri: non-recursive și recursive.

Astfel, în modul non-recursiv, clientul însuși execută toate cererile către serverele de nume.

În modul recursiv de operare, clientul DNS trimite o cerere către serverul de nume, după care acesta din urmă, dacă nu există informații necesare, adresează el însuși lanțului altor servere de nume. După primirea informațiilor, serverul de nume trimite rezultatul clientului. Din acest motiv, clientul DNS este eliberat de cea mai mare parte a activității pentru a găsi informații în DNS.

Pentru a lucra în modul recursiv, serverul și clientul trebuie configurate în mod corespunzător. Cu toate acestea, în majoritatea cazurilor, utilizatorul nu are capacitatea de a modifica configurația modului de operare al clientului, deoarece este "protejat" în software-ul TCP / IP.

Modul recursiv este folosit mai rar decât non-recursiv, deoarece încărcarea pe serverele de nume în acest caz este semnificativ crescută. Și pentru client acest mod nu este optim, deoarece dacă răspunsul este întârziat, este dificil pentru el să determine ce sa întâmplat: un eșec pe linie sau doar un lanț foarte lung de servere de nume este interogat.

Servicii DNS pe AIX

Toate serviciile de nume de domeniu sunt pe deplin implementate în AIX. Se acceptă următoarele tipuri de servere de nume:

1. server de nume primar;
2. server de nume secundar;
3. Server "numai pentru cache";
4. Serverul de transmitere;
5. Serverul de la distanță.

Clientul DNS din AIX, gethostbyaddr () și gethostbyname (), încearcă să identifice numele utilizând următoarea procedură:

Dacă fișierul /etc/resolv.conf nu există, clientul DNS crede că rețeaua utilizează un sistem de numire plat. Apoi folosește fișierul / etc / hosts pentru a identifica numele.

În caz contrar, clientul DNS consideră că rețeaua locală este o rețea de domenii și încearcă să utilizeze următoarele surse pentru a determina numele în ordinea indicată mai jos:

1. server DNS;
2. Fișier local / etc / hosts.

Gazda AIX este configurată să utilizeze serverul de nume utilizând următorii pași:

Ordinea înregistrărilor nameserver este importantă pentru a determina ordinea apelului serverelor: primul server de nume din listă, apoi cel de-al doilea și așa mai departe.

De obicei, primul server de nume secundar al domeniului dat este indicat mai întâi și apoi cel primar. Acest lucru reduce încărcarea pe serverul principal.

Dacă cea specificată mai întâi în lista serverelor de nume nu funcționează, atunci o perioadă apreciabilă de timp (până la câteva secunde) va trece înainte ca clientul DNS să contacteze al doilea server.

2. Creați fișierul /etc/named.boot pentru a determina numele și tipul daemonului denumit local.

3. Creați fișierele /etc/named.* pentru a determina datele necesare pentru daemon. Formatul acestor fișiere trebuie să corespundă formatului standard de înregistrare a resurselor (Standard Record Record Format).

Daemonul pe AIX suportă, de asemenea, înregistrările de resurse pentru tipul de e-mail prin MB (cutie poștală nume de domeniu), MR (redenumire mail nume de domeniu), MG (membru al grupului e-mail), MINFO (căsuța poștală sau lista de e-mail informații) și MX (schimb de e-mail).

Aplicația utilizator AIX / 6000 include programele gazdă și nslookup. În AIX / 6000, puteți utiliza programul dig pentru a interoga serverele de nume.

Configurarea componentei clientului

După cum sa menționat deja, software-ul TCP / IP suportă simultan atât clientul DNS, cât și fișierul hosts. Conținutul fișierului /etc/resolv.conf este discutat mai sus. Fișierul hosts este responsabil pentru sistemul de denumire "plat". Locația acestui fișier depinde de sistemul de operare (AIX - / etc / hosts, DOS și Windows - ETC \ hosts, NetWare - SYS: \ etc \ hosts).

Rețineți că fișierul hosts poate conține nume în formatul domeniului.

Configurarea serverului de nume

Standardele DNS

Multe versiuni ale software-ului serverului de nume au utilitare administrative care simplifică configurarea și gestionarea bazelor de date DNS. Cu toate acestea, administratorii de rețea, de regulă, preferă să nu le folosească, dar lucrează direct cu fișierele bazei de date DNS. Deși acest lucru complică oarecum administrarea, dar, în același timp, oferă o flexibilitate maximă și un control deplin asupra gestionării DNS.

În general, ordinea inițierii serverelor de nume este următoarea: creați mai întâi fișierele bazei de date DNS (direct sau prin utilitare administrative), apoi porniți serviciul DNS (pe AIX, numitul daemon).

Formatul înregistrărilor din fișierele bazei de date DNS

Fișierele bazei de date ale serverului de nume utilizează așa-numitul Format de înregistrare a resurselor standard. Acest format arată astfel:

Fiecare componentă aici este un câmp de înregistrare și este separată de celelalte prin spații sau file.

- numele resursei descrise. Depinde de câmp și poate denumi un domeniu, o zonă de gestionare, un nume de gazdă, etc. În cazul câmpului gol, atunci ultimul câmp specificat este folosit ca câmp (în înregistrările anterioare).

- durata de viață (în secunde). Stabilește cât timp clientul DNS va stoca intrarea în memoria cache. Dacă acest câmp este gol, atunci valoarea câmpului este luată , specificate în înregistrarea SOA (a se vedea mai jos).

o descriere a clasei de protocoale utilizate. Pentru Internet (TCP / IP), valoarea acestui câmp este IN. Dacă câmpul este gol, atunci ultima clasă specificată este utilizată ca câmp.

- Un câmp care specifică tipul resursei de înregistrare. Valorile posibile pentru acest câmp sunt enumerate în secțiunea "Tipuri de resurse".

Următoarele caractere din intrări au un înțeles special (unele dintre aceste simboluri sunt enumerate mai jos).

Punct unic în câmp indică domeniul curent.

@ Un caracter separat "@" în indică domeniul sursă curent.

() Consolele sunt folosite pentru a plasa un câmp pe mai multe linii (când are câteva linii).

* Metacaracter. Înlocuiește orice set de caractere.

Notă. Ar trebui să știți că în înregistrările de resurse, un nume de domeniu care nu se încheie cu o perioadă este considerat relativ. Când se procesează, se adaugă la domeniul curent. Prin urmare, atunci când se dă numele complet, trebuie să se termine cu o perioadă.

Tipuri de resurse

Tipul de resursă este specificat în câmp înregistrarea resurselor. Există multe tipuri de resurse. O listă completă a acestora poate fi găsită în RFC-urile corespunzătoare (a se vedea "Informații suplimentare"). Mai jos sunt tipurile cele mai frecvent utilizate.

Să luăm în considerare fiecare dintre aceste tipuri.

SOA (începerea autorității)

O intrare cu o resursă de tip SOA marchează începutul zonei de control al serverului de nume. Zona de control este valabilă până la următoarea înregistrare SOA.

EXEMPLU DE RECORDURI SOA

Aici câmpul este compusă și include câmpuri , , și așa mai departe.

Indică numele domeniului din zona de gestionare.

Numele serverului de nume de zonă primară.

Numărul versiunii zonei. Când se efectuează modificări în zonă, acest număr trebuie mărit. Este pentru acest câmp serverul de nume secundar orientat, determinând necesitatea actualizării informațiilor despre zonă.

Timp în secunde, după care serverul secundar verifică necesitatea de a actualiza informațiile din zonă.

Timpul în secunde pentru a accesa din nou serverul zonei secundare, dacă nu a încercat anterior să acceseze serverul principal a eșuat.

Limita de timp în secunde. Dacă serverul secundar nu poate accesa serverul primar în acest interval de timp, acesta va citi informațiile din zona depășită.

Valoarea TTL în înregistrările de resurse ale acestei zone în mod prestabilit, adică în cazul câmpului gol.

NS (server de nume)

O intrare cu o resursă de tip NS denotă numele gazdei care este serverul de nume primar pentru domeniu.

EXEMPLU DE ÎNREGISTRARE NS

înseamnă un domeniu și - numele serverului de nume. Exemplul arată că serverele srv1.komtek.dp.ua și srv2.komtek.dp.ua sunt serverele numelor de domenii komtek.dp.ua.

EXEMPLU DE ÎNREGISTRARE

[] [] [] A

sri-nic.arpa. A 10,0,0,51

CNAME (nume canonic)

O intrare cu o resursă CNAME este utilizată pentru a specifica un alias gazdă. înseamnă un pseudonim și - Numele oficial (canonic) al gazdei.

EXEMPLU DE ÎNREGISTRARE CNAME

HINFO (informații despre gazdă)

O intrare cu o resursă, cum ar fi HINFO, servește pentru a stoca informații despre gazdă, în special despre platforma hardware și sistemul de operare al computerului.

câmp desemnează numele de domeniu al gazdei, - platforma hardware, - OS gazdă. Valorile câmpului și standardizate, acestea ar trebui luate din RFC 1700.

EXEMPLU DE RECORDURI HINFO

MX (gateway de e-mail)

EXEMPLU DE ÎNREGISTRARE MX

Dacă administratorul determină mai multe înregistrări MX, atunci se utilizează un număr pentru a specifica ordinea de interogare a gateway-urilor de e-mail (în exemplul 10), poarta cu numărul mai mic este inițial interogat.

PTR (pointer)

Resursele cu o înregistrare PTR sunt utilizate pentru a mapa aceste nume de domenii speciale la cele obișnuite. câmp desemnează un nume de domeniu special (în domeniul INADER.ARPA) și câmpul - numele de domeniu oficial al gazdei.

EXEMPLU DE ÎNREGISTRARE PTR PENTRU HOST

EXEMPLU DE PTR ȘI O ÎNREGISTRĂ PENTRU GATEWAYS

BIND Specificație

După cum sa menționat deja, standardul de facto în descrierea compoziției și ordinea fișierelor DNS sunt descărcate pe un caiet de sarcini server de nume BIND. Acesta este sprijinit pe toate sistemele bazate pe Unix, în NetWare (software Novell NFS Services, FTP Services, NetWare / IP), precum și o serie de alte sisteme.

Conform acestei specificații, există un fișier pentru încărcarea bazei de date DNS. Pe sistemele Unix, acesta este de obicei fișierul /etc/named.boot, în NetWare - SYS: ETC \ NAMED.CFG, care este încărcat atunci când serviciul DNS este rulat pe serverul de nume.

Fișierul de descărcare pentru baza de date DNS este un fișier text și conține înregistrări separate. Următoarele intrări sunt cele mai des utilizate:

1. director Setează directorul în care sunt stocate fișierele bazei de date DNS, cu excepția cazului în care sunt specificate căile absolute pentru fișiere. Exemplu: director / etc

2. domeniul Specifică domeniul implicit pentru acest server de nume. Exemplu: domeniu komtek.dp.ua

3. primar Indică faptul că serverul de nume este principal pentru domeniu și că baza de date a domeniului este stocată într-un fișier . Exemplu: primar komtek.dp.ua /usr/named.data

Exemplu de implementare DNS într-o rețea locală

Rețeaua locală considerată este formată din două rețele IP de clasa C: 194.170.12.0 și 194.170.13.0. Să presupunem că aceste rețele formează un domeniu komtek.dp.ua.

Domeniul are un server primar srv1 nume (194.170.12.2) și server de nume SRV2 secundar (194.170.13.3), și un număr de gazde: gazdă1, host2, host3.

Mesajul gazdă (194.170.13.2) este poarta de poștă electronică pentru întregul domeniu și are și aliasul gazdă4.

Mai jos sunt conținutul și conținutul bazei de date DNS pentru serverul primar de nume srv1.komtek.dp.ua și pentru serverul secundar srv2.komtek.dp.ua.

COMPOZIȚIA ȘI CONȚINUTUL DATELOR DE DATĂ DNS PE SERVERUL PRIMAR SRV1

COMPOZIȚIA ȘI CONȚINUTUL DATELOR DE DATE A DNS-ULUI PE SERVERUL SECVAT

Pentru serverele de nume primare și secundare, dacă rețeaua locală nu are o conexiune la Internet, trebuie să eliminați linia de cache din fișierul /etc/named.boot și să ștergeți fișierul /etc/named.ca.

Domeniul secundar 0.0.127.in-addr.arpa, precum și gazda localhost (127.0.0.1) din fiecare zonă sunt necesare pentru a crea o buclă locală TCP / IP.

Rețineți că ordinea înregistrărilor din fișierele bazei de date DNS nu este, în general, importantă, cu excepția faptului că intrarea SOA trebuie să fie prima din zona de gestionare.

Articole similare