Većina prosječnih korisnika uređaja poput računala, notebooka, tableta, pametnih mobilnih uređaja (engl. smartphone) itd. ne razmišlja niti ima potrebe razmišljati o svim mogućim parametrima koje proizvođači i njihovi inženjeri moraju objediniti i implementirati kako bi ti uređaji bili jednostavni, funkcionalni i kako bi služili svojoj namjeni i korisniku, a ne korisnik njima.

Zaista je mnogo parametara da bi proizvod u konačnici obavljao svoj posao, poput hardverske i softverske izvedbe, općenito rečeno, no u ovom članku će fokus biti na djeliću softvera koji nam služi kako bi aplikacije koje koristimo što jednostavnije znale doći do nekog odredišta na globalnoj mreži – Internetu, no i unutar manjih mreža – Intranetu/Ekstranetu.

Kao što naslov govori, radi se o DNS

DNS, odnosno Sustav Imena Domena (Domain Name System), je sustav koji povezuje nazive domena s odgovarajućim IP adresama. Zahvaljujući tome, umjesto da zapamte složene nizove brojeva koji čine IP adresu određene stranice, korisnici mogu unositi lako zapamtljiva imena domena. DNS je razvijen tijekom 80-ih godina 20. stoljeća, kao rješenje problema brzo rastućeg broja internet adresa, što je otežavalo njihovo pamćenje i upravljanje. Zamijenio je raniju metodu koja se sastojala...

Što je DNS? (engl. Domain Name System) servisu koji nam to i omogućuje. Svi ga svakodnevno koristimo, možda i ne znajući za njega, pa smo

SMO (Optimizacija društvenih medija) je proces optimizacije prisutnosti tvrtke ili brenda na društvenim mrežama kako bi se povećala njena vidljivost, interakcija s korisnicima te posjetiteljstvo na web stranici. U okviru SMO koriste se različite strategije i alati kako bi se sadržaji objavljeni na servisima poput Facebooka, Instagrama, LinkedIna ili Twittera učinili zanimljivijima i češće dijeljenima. Zašto je SMO važan? Optimizacija društvenih medija pomaže tvrtkama doseći širu publiku, što rezultira...

Što je SMO?
mu odlučili posvetiti jedan edukativni blog post.

Ipak, kako je DNS samo po sebi dosta opširna i kompleksna tema, više ćemo se fokusirati na neke općenite tehničke detalje pristupačne korisnicima, kako bi imali lakše razumijevanje što DNS zapravo za nas radi i kako to radi te kako riješiti neke probleme vezane uz DNS i sl. Naravno, kao što svaki edukativni sustav funkcionira, prije svega mora biti malo teorije da bi razumjeli praksu 😉

DNS u teoriji

DNS je servis koji primarno služi prevođenju odnosno mapiranju alfa-numeričkih naziva u IP adresu računala (engl. Forward Lookup), ali često i obratno (engl. Reverse Lookup). Taj proces nazivamo procesom rezolucije. Kao što vjerojatno znamo, svako računalo na mreži, između ostaloga, ima i jedinstvenu oznaku a to je IP adresa. Postoje dvije vrste IP adresa, one od 4 byte-a (32-bit) – IPv4 i one od 16 byte-ova (128-bit) – IPv6. Suština računalnih algoritama je bazirana na binarnom sustavu brojeva i sve se na kraju svodi na pretvorbu u “jedinice” i “nule” (engl. bit) tako da se ime računala pomoću DNS-a usmjerava na IP adresu računala. Kao primjer uzmimo domenu avalon.hr mapiranu na IP adresu poslužitelja 80.237.232.142 a na kraju to bude zapis od 32 jedinice i nule.

Adresiranje računala, odnosno svakog mrežnog uređaja, je opet tema za sebe koju ćemo možda sažeti u nekom od sljedećih blog postova pa zasada nećemo ulaziti u detalje, no bilo je bitno skrenuti pozornost da je čovjeku teško zapamtiti skup nekakvih brojeva decimalne vrijednosti (IPv4) ili čak heksadecimalnih vrijednosti (IPv6) a to nam DNS sustavi olakšavaju lakše pamtljivim nazivima.

Struktura DNS sustava
Kako radi DNS, izvor: http://en.wikibooks.org

 

Kako i za sve drugo u informatičkoj djelatnosti trebaju postojati stroga pravila i kako se moraju poštivati strogo propisani protokoli i hijerarhija, tako i kod DNS sustava. Postoji krovna organizacija, ICAAN (engl. Internet Corporation for Assigned Names and Numbers), koja je između ostaloga zadužena za koordinaciju i alokaciju segmenata IP adresa, ali i naziva domena. Ta organizacija prema strogim pravilima odlučuje kome će, kako i u kojem omjeru dodijeliti neki naziv.

Organizacije kojima je nazivni entitet dodijeljen od strane ICAAN-a, dalje prema svojim pravilima distribuiraju, odnosno u većini slučajeva prodaju nazive krovnih domena (engl. TLD = Top-Level Domain) koje su im dodijeljene, npr. tzv generičke domene .com, .info, .net, .org ili nacionalne domene (engl. ccTLD = Country Code Top-Level Domain), npr. .hr, .ba, .rs, .it. Korisnici domene registriraju kod takvih organizacija pa te organizacije nazivamo registrarima.

Primjer rekurzivnog DNS upita
Rekurzivni DNS upit za domenu mail.yahoo.com, izvor: http://en.wikibooks.org

 

Kao što ICAAN na vrhu hijerarhije upravlja logistikom nazivlja, tako (posredstvom operatora) upravlja i tehničkim implementacijama sustava koji nama i našim računalima omogućavaju put do odredišta. Ti sustavi se nazivaju root DNS serveri i svega ih je 13 u cijelome svijetu. No to ne znači da se u svijetu nalazi samo 13 fizičkih servera, već je svaki root DNS servis dizajniran tako da uvijek postoji redundancija u slučaju ispada neke od hardverskih ili softverskih komponenti pojedinog servera.

Iako nevidljivo u nazivu domene, npr. “avalon.hr”, na kraju naziva domene se uvijek nalazi točka, dakle “avalon.hr.” koja označava neki od tih 13 root servera koji uvijek znaju kome je delegiran .hr dio domene, odnosno na kojem DNS serveru se to nalazi, dok .hr DNS server zna gdje se nalazi domena avalon, odnosno na koje računalo (server) je ta domena usmjerena. Naravno, sve to ne bi funkcioniralo da se ne poštuju strogi tehnički propisi protokola koja opet propisuje krovna organizacija za dizajn protokola – IETF (engl. Internet Engineering Task Force) koji su objedinjeni u RFC 1034 memorandumu.

Nakon malo teorije krećemo u opisivanje kako to zapravo na našim računalima funkcionira.

A sad malo prakse

Svako računalo je opremljeno nekom vrstom operativnog sustava čiji je sastavni dio komadić softvera koji omogućuje da bi se proces rezolucije dogodio. Taj softver je zapravo servis (engl. DNS Client) koji koriste aplikacije, npr. Internet preglednik, da bi znale pronaći put do odredišta, dakle programer aplikacije to mora omogućiti. Računalo također mora imati mrežnu karticu (engl. Network Interface Card), i svoj pogonski softver (engl. driver) da bi mrežna kartica znala komunicirati sa TCP/IP stackom koji je implementiran unutar operativnog sustava. Dakle, vidimo koliko je to sve skupa povezano i zato se spomenuta pravila u svijetu tehnologije moraju poštivati.

Da bi računalo znalo komunicirati sa udaljenim računalima pomoću imena mora imati zadane DNS servere, kao što je ručno zadano na Slici 1 (primjer Windows okruženja). Parametri za DNS servere ne moraju nužno biti zadani ručno, već mogu biti dodijeljeni automatski putem DHCP protokola (engl. Dynamic Host Configuration Protocol) koji je konfiguriran na našim usmjerivačima (engl. router) ili je isti konfiguriran na lokalnim serverima od strane sistem administratora.

DNS postavke u Windowsima
TCP/IPv4 – konfiguracija DNS poslužitelja

 

Primjer konfiguracije DNS poslužitelja na Linux okruženju:

$ cat /etc/resolv.conf
nameserver 192.168.1.254
nameserver 8.8.8.8

Na gornjoj slici su upisane IP adrese DNS servera koje DNS klijent (naše računalo) zadanim redoslijedom kontaktira u slučaju da ne zna na kojoj IP adresi se nalazi traženo ime. Preferirani DNS server je zapravo lokalni server opskrbljen DNS servisom koji odrađuje većinu posla u procesu rezolucije. U slučaju nedostupnosti preferiranog DNS servera, DNS klijent se prebacuje na alternativni DNS server koji to isto odrađuje. Naravno, pod uvjetom da ostatak mrežnih protokola ispravno podešen i u funkciji. Alternativni DNS server ovdje je naveden Google-ov javni DNS poslužitelj, tzv. DNS Cache server koji odgovara na upite (engl. query) DNS klijenata i pohranjuje upite određeno vrijeme (engl. caching) kako bi ubrzao proces za svaki sljedeći isti upit.

Ukratko, ovaj primjer procesa rezolucije od klijenta do DNS poslužitelja naziva se rekurzivni upit (engl. recursive query) i dalje puno ovisi o samoj konfiguraciji DNS poslužitelja. Postoji i proces rezolucije zvan iteracija (engl. iteration) a on se događa većinom kada su na DNS poslužitelju onemogućeni rekurzivni upiti, odnosno kad DNS poslužitelj odgovara samo na upite o DNS zonama koje su smještene u njegovoj bazi podataka.

Za napomenuti je da DNS serveri na vašim računalima nisu nužno IP adrese navedene u ovom primjeru, već ako ste kućni korisnik ADSL paketa imate definirane DNS servere od vašeg Internet providera. U drugim slučajevima kontaktirajte vašeg sistem administratora 😉

E sad, prije gore definiranog procesa DNS rezolucije, računalo zapravo prvo ne gleda zadane DNS servere (kao u gornjem primjeru) nego gleda hosts datoteku u kojoj se nalazi popis (ručno) mapiranih IP adresa sa nazivima. HINT: Hosts datoteka se učitava u memoriju računala čim se računalo pokrene i može sadržavati oveći popis mapiranih imena, stoga pripazite na kojekakve anti-malware aplikacije koje prilikom imunizacije sustava preventivno (dobronamjerno) mapiraju štetne stranice na 127.0.0.1 ili localhost (adresa vašeg računala), i time povećavaju veličinu hosts datoteke a samim time i boot računala (vrijedi pripaziti na slabijim računalima).

Putanja do hosts datoteke na Windows operativnom sustavu:

c:\windows\system32\drivers\etc\hosts

Putanja do hosts datoteke na Linux operativnom sustavu:

/etc/hosts

Datoteka se može mijenjati tekstualnim editorom a primjer mapiranja može biti kako slijedi:

#########################
# 127.0.0.1 imedomene.tld
1.2.3.4 testna-domena.tld
#########################

Prva linija zbog “#” može poslužiti kao komentar, dakle ne primjenjuje se u procesu rezolucije ukoliko je mapiranje zakomentirano simbolom “#”. Druga linija će uputiti DNS klijenta u procesu rezolucije da se “testna-domena.tld” nalazi na navedenoj IP adresi.

Nadalje, ukoliko se u procesu DNS rezolucije u hosts datoteci ne nalazi mapirano odredište, proces se prebacuje na lokalni DNS cache koji je također učitan u memoriju računala. DNS klijent pohranjuje svako odredište koje uspješno resolva u memoriju računala tako da prilikom sljedećeg upita ne prolazi ispočetka cijeli proces rezolucije a time se naravno i ubrzava dolazak do odredišta.

Lokalni DNS cache možete i sami vidjeti i obrisati ga, a ovo su primjeri.

Windows:

Command Prompt > ipconfig /displaydns (prikaz cachea)

Command Prompt > ipconfig /flushdns (brisanje cachea)

Za troubleshootanje DNS-a možemo koristiti alate koji su većinom ugrađeni u operativni sustav a većinom se koriste putem komandnog sučelja (cmd ili shell). Npr. nslookup se koristi na Windowsima, dig se koristi na Linuxu.

Npr. ako želimo doznati na kojoj IP adresi se nalazi mail server od avalon.hr domene:

# nslookup
> set q=MX
> avalon.hr

Server:         cache.avalon.local
Address:        192.168.1.254

Non-authoritative answer:
avalon.hr       mail exchanger = 10 avalon.hr.

Dakle, u ovom primjeru vidljivo je da pitamo preferirani DNS poslužitelj koji je konfiguriran na TCP/IP-u i da je to bio rekurzivni upit jer taj DNS poslužitelj nema autoritet nad avalon.hr domenom (zonom), odnosno nema je u svojoj bazi podataka već daljnim procesima prema konfiguriranim pravilima pita druge DNS poslužitelje i tako nam vraća odgovor.

S obzirom da sam već spomenuo kako je ovo doista opširna tema koja preilazi gabarite blog posta, ako imate kakvih pitanja slobodno komentirajte članak, pa ćemo vam pokušati odgovoriti.

Način rada DNS sustava from CARNet DNS.

CyberFolk
>
CyberFolk
Vaš sam vodič u digitalnom carstvu i prisutan sam u svijetu hostinga više od 25 godina. Na internetu istražujem nove tehnologije, pružajući podršku i rješenja koja odražavaju vaše jedinstvene potrebe.

10 odgovori za "Kako radi DNS i zašto je toliko važan"

  1. mvarga napisao:

    Da bih nešto pitao, morao bih nešto i znati 🙂

    Jako mi se sviđa članak i volio bih da nastavite s tom serijom prosvjetljenja.
    Slijedeće bi mogao bi htaccess.

  2. Misha napisao:

    Koristan članak, ali previše stručan, preskočio si vreme propagacije, kako se u praksi konfigurišu iz kontrolnog panela…

  3. Mario Cesarić napisao:

    @mvarga Hvala! 😉
    @Misha Kao što rekoh, opširna je tema pa su neki detalji izostavljeni, no moglo bi se uvrstiti u Part 2 😉

  4. Kresimir napisao:

    Super tehnicki clanak – ono sto fali je jednostavno neko objasnjenje gdje ce u pol ekrana Stefica(tm) skuziti sto to zapravo je. Svakako treba ukljucivati i obasnjenje pojma “domena” – sto je i zasto je vazna.

  5. Marijan napisao:

    Tema je izuzetno opširna i o istoj se može knjiga napisati (kao što je već i učinjeno), svaka dublja analiza DNS-a zahtjeva ulazak u servise (usluge), te samo serversko okruženje (upravljanje, alate, operacijske sustave itd…). Sama ideja se čini zgodnom, ali treba joj laički pristupiti što je sistem inženjerima problem. Sam sustav odnosno algoritam traženja potrebe za prevođenje IP adresa u logička (ljudima razumljiva imena), odnosno rekurzivnim upitima bez dublje analize bi bio dovoljan.

  6. Marko napisao:

    Članak je vrlo dobar, samo me zanima kako bi se sa recimo wiresharkom moglo saznati o kojoj se vrsti rezolucije radi kad zatražimo neku adresu, dakle da li je iterativna ili rekurzivna rezolucija.

  7. Mario Cesarić napisao:

    Dva su primjera rekurzivnih upita:

    1. Gotovo uvijek su inicirani od strane DNS klijenta prema DNS resolveru
    2. Kada je DNS resolver konfiguriran da koristi “forwardere” u slučaju da DNS upit od strane DNS klijenta ne pronađe u svojoj bazi DNS zona ili DNS cache-u.

    Iterativni upit je gdje DNS klijent (u ovom slučaju DNS resolver koji se isto može smatrati DNS klijentom) omogućuje DNS poslužitelju da vrati najbolji odgovor koji može dati na temelju svog cachea ili baze DNS zona. Ako DNS poslužitelj nema informaciju, može odgovoriti s referencom na autoritativni server te tako DNS klijent (resolver) može postali upit DNS poslužitelju koji je autoritaivan za DNS zonu. Taj proces se nastavlja sve dok se ne pronađe DNS server koji je autoritativan za DNS zonu (ima zonu u svojoj bazi) a za koju je DNS klijent (resolver) tražio podatak, odnosno slao upit.

    U Wiresharku ili bilo kojem drugom packet analyzeru, informacija o vrsti upita se pojavljuje u Domain Name System response paketu pod “Flagovima” a sadrži nešto slično ovome: “Recursion desired: Do query recursively” ili slično. Pogledajte pa nam javite 🙂

  8. Jadranka napisao:

    Trebam pomoc. Ne mogu da otvorim ruter. Adresa mu je 192.168.1.254 ali kad to ukucam u address bar otvori mi se http://www.1921681254.net/. Sto da cinim?

  9. Mario Cesarić napisao:

    Poštovana Jadranka. Ne možemo sa sigurnošću dati neki konkretan odgovor jer to zaista ovisi o proizvođaču routera ali i o Vašem pružatelju internet usluga (ISP). Eventualno možete pokušati pristupiti preko telnet-a na router ako ste dični CLI sučelju, pa preko toga obaviti administraciju routera, no i to ovisi da li je ISP “pustio” telnet na routeru. Možda je najbolje rješenje direktno kontaktirati službu za korisnike Vašeg ISP-a.

  10. Dario napisao:

    E ako mi mozes pomoci puno bi mi znacilo 🙂
    Uglavnom cesto mi se internet ”Crasha”
    i pise DNS server isn’t responding ….
    I ja sad odem na NSC (network and sharing center)
    i stisnem onaj kao ” X ” xD
    i tako malo sacekam i ono mi kaze ovo gore za DNS server ali se sa vremenom popravi (5 – 10 min)
    Ali ne traje dugo pa opet se crasha i ja opet uradim tako nekoliko puta i ono se popravi PONOVO..
    i to traje onako…1 sat il nekad 2 sata i OPET SE CRASHA!
    Molim te pomozi mi ne mogu ovako vise nekad mi dodje da uzmem i komp i ekaran i sve povezano da bacim kroz prozor 😀
    Pa ako mozes mi pomoci molim te pomozi..jer i sada gledam tamo na stranu oceli mi se internet crashat i gledao sam gluposti po YouTubeu kako da se popravi ali dosta toga nis ne pomaze jer je sve poprilicno isto…I usput u mene je Windows 7 sistem…

Dodaj komentar

Vaša email adresa neće biti objavljena.

Tražite li dalje?

Pregledaj po datumu
  • Pregledaj po datumu
  • ožujak 2025
  • prosinac 2024
  • studeni 2024
  • listopad 2024
  • srpanj 2024
  • svibanj 2024
  • travanj 2024
  • ožujak 2024
  • siječanj 2024
  • prosinac 2023
  • studeni 2023
  • listopad 2023
  • srpanj 2022
  • lipanj 2022
  • svibanj 2022
  • travanj 2022
  • listopad 2020
  • kolovoz 2020
  • srpanj 2020
  • lipanj 2020
  • svibanj 2020
  • travanj 2020
  • prosinac 2018
  • srpanj 2018
  • lipanj 2018
  • svibanj 2018
  • travanj 2018
  • svibanj 2017
  • travanj 2017
  • studeni 2016
  • listopad 2016
  • rujan 2016
  • kolovoz 2016
  • srpanj 2016
  • lipanj 2016
  • svibanj 2016
  • travanj 2016
  • ožujak 2016
  • veljača 2016
  • prosinac 2015
  • listopad 2015
  • kolovoz 2015
  • svibanj 2015
  • ožujak 2015
  • siječanj 2015
  • kolovoz 2014
  • srpanj 2014
  • svibanj 2014
  • travanj 2014
  • ožujak 2014
  • veljača 2014
  • siječanj 2014
  • prosinac 2013
  • studeni 2013
  • listopad 2013
  • rujan 2013
  • kolovoz 2013
  • srpanj 2013
  • lipanj 2013
  • travanj 2013
  • ožujak 2013
  • veljača 2013
  • siječanj 2013
  • prosinac 2012
  • studeni 2012
  • listopad 2012
  • rujan 2012
  • travanj 2012
  • ožujak 2012
  • prosinac 2011
  • studeni 2011
  • srpanj 2011
  • lipanj 2011
  • ožujak 2011
  • siječanj 2011
  • prosinac 2010
  • listopad 2010
  • lipanj 2010
  • travanj 2010
  • ožujak 2010

cyber_Folks - Postavke kolačića

Volite li ukusne kolače? Mi također! Neki kolačići se koriste za ispravan rad stranice. Prihvatite i dodatne kolačiće, povezane s performansama, društvenim mrežama i marketingom i zahvaljujući njima, doživjet ćete najbolje iskustvo naše web stranice, jer neprestano radimo na poboljšanju. Svoju dobrovoljnu suglasnost možete u svakom trenutku povući ili promijeniti. Više informacija o korištenim kolačićima možete pronaći u našoj politici privatnosti. Ako želite precizno odabrati svoje postavke, pogledajte vrste kolačića u nastavku.

Funkcionalni (uvijek aktivni)

Ovo su nužni "kolačići" za funkcionalnost web stranice. Stranica neće ispravno raditi bez prihvaćanja ovih kolačića. Primjer: kolačić koji bilježi vašu suglasnost ili protivljenje potreban je kako bismo znali jeste li dali suglasnost za određene radnje na web stranici. Također, omogućuju prijavu u korisnički panel ili izradu narudžbi.

Analitičko-izvedbeni

Omogućuju prikupljanje informacija o načinu na koji koristite web stranicu. Ovi "kolačići" omogućuju nam praćenje broja posjeta i izvor prometa na našoj web stranici, što nam pomaže u mjerenju i poboljšanju njezine izvedbe. Također nam pomažu saznati koje su stranice najpopularnije, a koje najmanje popularne, te razumjeti kako posjetitelji navigiraju na našoj web stranici. Ovi "kolačići" pomažu nam analizirati izvedbu web stranice i prikupljati informacije. Primjer: Možemo stvarati toplinske karte kako bismo saznali koje su informacije lako čitljive a koje ne, čime poboljšavamo dizajn stranice. Također nam omogućuju praćenje češće čitanih blog postova, pomažući nam razvijati zanimljivije sadržaje. Glavni alat kojeg koristimo je Google Analytics.

Društveni

Ovi "kolačići" povezani su s društvenim medijskim platformama i omogućuju vam povezivanje s vašim računima na društvenim mrežama. Putem njih možete dijeliti sadržaje s naše web stranice. Kolačići društvenih mreža (koji dolaze od trećih strana poput Facebooka) prikupljaju informacije kako bi pružili personalizirane oglase. Primjerice, oglasi na vašim društvenim mrežama bolje će se prilagoditi vama i smanjiti vjerojatnost da ćete biti preplavljeni oglasima za usluge ili proizvode koje ste već kupili.

Marketinški

Ovi "kolačići" povezani su s akcijama automatizacije marketinga i praćenjem učinkovitosti oglašavanja. Omogućuju nam, na primjer, ograničenje broja prikazivanja određenog oglasa. Također nam omogućuju provođenje usporednih testiranja kako bismo neprestano poboljšavali izvedbu naše web stranice. Testiranjem različitih rasporeda stranica lakše možemo pronaći onaj koji nudi najbolju čitljivost za korisnike. Također, komunikacija postaje personaliziranija. Na primjer, možemo vam sugerirati članak o pronalaženju domenskog imena ako primijetimo da tražite domenu i teško pronalazite odgovarajuće ime. Iato tako, možemo vam prikazati sugestije za prijavu ako uočimo više uzastopnih neuspjelih pokušaja prijave u korisnički panel. Vaši interesi se grade na temelju informacija iz ovih "kolačića" i aktivnosti na drugim web stranicama. Naši glavni alati za oglasnu mrežu su Google i Facebook.