Iza kulisa interneta | Šta je DNS, čemu služi i zašto je važan

Današnji internet funkcioniše na osnovu kompleksnog sistema prenosa podataka i protokola koji omogućavaju efikasnu komunikaciju među milijardama uređaja. Da li ste se ikada zapitali kako je moguće da jednostavno unesete omiljenu veb adresu i trenutno pristupite stranici koju želite? Deo slagalice koji omogućava upravo to jeste DNS (eng. Domain Name System), sistem koji igra ključnu ulogu kao svojevrsni prevodilac i obezbeđuje nesmetanu komunikaciju između vašeg računara i veb servera.

U ovom članku, govorićemo o tome šta je DNS, čemu služi i zašto je njegova uloga od presudnog značaja za funkcionisanje interneta kakvog danas poznajemo.

Iskoristite ekskluzivni promokod BLOG10 za 10% popusta na sve Web Hosting pakete, posebno kreiran za naše čitaoce. Upišite promokod BLOG10 na checkout stranici i ne propustite priliku da unapredite svoj online prostor uz pouzdan i siguran hosting!

Šta je DNS?

DNS predstavlja skraćenicu od “Domain Name System”. U osnovi, to je globalna mreža servera i baza podataka koji omogućavaju prevođenje domenskih imena koje razumemo (kao što je www.mint.rs) u numeričke IP adrese (kao što je 192.0.2.1) koje računari razumeju. Dakle, bez DNS-a bili bismo prinuđeni da pamtimo dugotrajne i komplikovane IP adrese svaki put kada bismo želeli da pristupimo različitim adresama.

“DNS servis je zamišljen i implementiran kao globalno distribuirana, skalabilna, hijerarhijski organizovana, dinamička baza podataka. Navedeni način organizacije DNS-a omogućava da se tako velika količina podataka distribuira na veliki broj servera. Svaki od servera kod sebe čuva samo delić infomacija koje čine DNS bazu podataka. Pored toga što lokalni DNS serveri čuvaju podatke, oni su odgovorni i za njihovu ažurnost. To znači da se podaci lokalno formiraju i ažuriraju, ali su globalno dostupni.”

Studija operativnog rada DNS servisa, RNIDS

Čemu služi DNS?

Glavna uloga DNS-a je da olakša proces pristupa veb stranicama i drugim resursima na internetu. Kada korisnik unese željeno domensko ime u pregledač, DNS obezbeđuje odgovarajuću IP adresu povezanu sa tim imenom. Takođe, DNS igra ključnu ulogu u ispravnom usmeravanju podataka prema serverima. Kada korisnik traži informacije putem naziva domena, DNS šalje zahtev ka odgovarajućem serveru, koji zatim vraća tražene podatke korisnikovom uređaju.

Kako DNS funkcioniše u pozadini?

U tipičnom DNS upitu, četiri servera sarađuju kako bi isporučili IP adresu klijentu:

  1. Lokalni DNS server,
  2. ROOT server,
  3. TLD (Top-Level Domain) server i
  4. Autoritativni server.
DNS sistem - kako radi
Kako funkcioniše DNS sistem

DNS resolver (poznat i kao DNS recursor) predstavlja prvu tačku u DNS upitu i predstavlja klijentski deo DNS-a. Rekurzivni resolver deluje kao posrednik između klijenta i DNS nameservera. Nakon što primi DNS upit od klijenta, rekurzivni resolver će ili odgovoriti sa keširanim podacima ili će poslati zahtev serverima, shodno hijerarhiji, prvo ROOT serveru, potom TLD (Top-Level Domain) serveru i na kraju poslednji zahtev autoritativnom serveru. Nakon što primi odgovor od servera koji sadrži traženu IP adresu, rekurzivni resolver šalje odgovor klijentu.

Tokom ovog procesa, rekurzivni resolver će keširati informacije koje je dobio od autoritativnih nameservera. Kada klijent zatraži IP adresu domenskog imena koje je nedavno tražio drugi klijent, resolver može zaobići proces komunikacije sa nameserverima i jednostavno isporučiti klijentu traženi zapis iz svog keša.

Celokupan ovaj proces odvija se u milisekundama, što omogućava da korisnici brzo i efikasno pristupaju stranicama i resursima na internetu.

Šta je DNS keširanje?

DNS keširanje podrazumeva skladištenje podataka bliže klijentu koji traži informaciju, kako bi se DNS upit ranije rešio. Na taj način izbegavaju se dodatni upiti i komunikacija sa nameserverima, čime se poboljšava vreme učitavanja i smanjuje potrošnja resursa. DNS podaci mogu biti keširani na različitim lokacijama, a svaka će skladištiti DNS zapise na određeno vreme koje određuje vreme trajanja (TTL – time to live).

Keširanje u pregledaču (eng. browser)

Današnji veb pregledači podrazumevano keširaju DNS zapise na određeno vreme. Svrha ovoga je očigledna – što se keširanje DNS-a dešava bliže veb pregledaču, manje koraka se mora preduzeti kako bi se proverio keš i izvršili ispravni zahtevi ka IP adresi. Prvi korak u DNS zahtevu je provera lokalnog DNS keša.

U Chrome pregledaču, možete videti status vašeg DNS keša odlaskom na chrome://net-internals/#dns.

Keširanje na nivou operativnog servera (OS)

DNS resolver na nivou operativnog sistema predstavlja drugu i poslednju lokalnu tačku pre nego što DNS upit napusti vaš računar. Možete proveriti logove vašeg operativnog sistema kako biste videli koje DNS zapise keširane lokalno. Postupak za to će se razlikovati u zavisnosti od operativnog sistema koji koristite.

Windows – Postupak za pregledanje DNS keša na Windows operativnom sistemu je prilično jednostavan. Samo otvorite komandni Command Prompt i unesite sledeću komandu: ipconfig /displaydns.

Mac OS – Postupak za pregledanje DNS keša na računaru za Mac operativnim sistemom je malo drugačiji. Prvo trebate otvoriti aplikaciju Console, izabrati svoj uređaj sa leve strane i unesete: any:mdnsresponder u polje za pretragu. Zatim, otvorite terminal (Command Line) i unesite sledeću komandu: sudo killall -INFO mDNSResponder. Nakon toga, kada se vratite na Console aplikaciju, videćete listu keširanih DNS zapisa.

DNS i problem bezbednosti

Kao i mnogi internet protokoli, DNS sistem nije bio dizajniran sa naglaskom na bezbednost, s obzirom da je nastao u doba kada su internet dominantno koristile naučno-istraživačke organizacije. U takvom okruženju i sa malim brojem korisnika, opasnost po sigurnost i stabilnost bila je mala. Sa razvojem interneta i njegovom širom upotrebom stvari su se iz drastično promenile i učinile DNS servere podložnim raznim napadima, uključujući lažiranje identiteta (eng. DNS spoofing), DNS amplifikaciju, DoS (Denial of Service) napade ili presretanje privatnih ličnih informacija.

DNSSEC implementacija

Kako su se napadi na DNS širili, postala je očigledna potreba za poboljšanjem bezbednosti sistema. DNSSEC (Domain Name System Security Extensions) je sigurnosni protokol osmišljen kako bi se ublažio ovaj problem. DNSSEC štiti od napada digitalnim potpisivanjem podataka kako bi se osigurala njihova ispravnost. Da bi se obezbedio siguran upit, potpisivanje mora da se obavi na svakom nivou u procesu DNS upita. DNSSEC je počeo da se uvodi u DNS infrastrukturu sredinom 2000-ih, ali usvajanje je bilo postepeno zbog kompleksnosti implementacije.

DNSSEC primenjuje hijerarhijsku politiku digitalnog potpisivanja na svim nivoima DNS-a. Na primer, u slučaju pretrage za ‘google.com’, root DNS server bi potpisao ključ za .COM nameserver, a .COM nameserver bi zatim potpisao ključ za autoritativni nameserver za google.com.

Zaključak

Ukratko, DNS je nevidljivi, ali neizostavni deo interneta danas. Njegova sposobnost da prevodi domenska imena u IP adrese omogućava nam brz i lak pristup veb stranicama, čime olakšava i naše celokupno iskustvo korišćenja interneta čini boljim. Bez DNS-a, internet kakav poznajemo ne bi bio moguć.

Ostavi komentar