Sobes.tech
Junior

Kuidas töötab DNS?

sobes.tech AI

Vastus AI-lt

DNS, ehk Domeeninimede süsteem, on jaotatud andmeba, mis teisendab loetavaid domeeninimesid (näiteks google.com) IP-aadressideks (näiteks 172.217.16.14), mida arvutid mõistavad.

Domeeninime IP-aadressiks muutmise (lahendamise) protsess hõlmab mitmeid samme, kus osalevad erinevad komponendid:

  1. Kasutaja päring: Kasutaja sisestab brauserisse domeeninime.
  2. Resolver (DNS Resolver): Operatsioonisüsteem või rakendus saadab päringu kohaliku DNS resolvri (tavaliselt internetiteenuse pakkuja või kohaliku ruuteri/arvuti kaudu).
  3. Resolveri vahemälu: Resolver kontrollib esmalt oma kohaliku vahemälu. Kui see leiab IP-aadressi, tagastab selle kliendile. See kiirendab protsessi.
  4. Juure (Root) DNS-serverid: Kui kirjet pole vahemälus, saadab resolver üheksast kolmeteistkümnest juure DNS-serverist päringu (märgitud punktiga .). Need serverid teavad, kust leida TLD (Top-Level Domain) serverid.
  5. TLD (Top-Level Domain) DNS-serverid: Juure server suunab resolveri TLD serverile, mis vastutab kõrgeima taseme domeenide eest (näiteks .com, .org, .ru).
  6. Autoritatiivsed (Authoritative) DNS-serverid: TLD server suunab resolveri autoritatiivsele DNS-serverile, mis vastutab konkreetse domeeni eest (näiteks google.com). See server hoiab DNS kirjeid.
  7. Autoritatiivse serveri vastus: Autoritatiivne server leiab sobiva kirje (näiteks A kirje IPv4 jaoks või AAAA kirje IPv6 jaoks) ja tagastab IP-aadressi resolverile.
  8. Resolveri vahemälu: Resolver saab IP-aadressi, salvestab selle ajutiselt (TTL - Time To Live) ja tagastab kliendile.
  9. Kliendi ühendus: Klient kasutab saadud IP-aadressi ühenduse loomiseks veebiserveriga.

DNS-serverid salvestavad erinevat tüüpi kirjeid:

  • A: Muudab domeeninime IPv4-aadressiks.
  • AAAA: Muudab domeeninime IPv6-aadressiks.
  • CNAME: Loob pseudonüümi teisele domeeninimele.
  • MX: Määrab e-posti serverid, mis vastutavad domeeni eest.
  • NS: Näitab autoritatiivseid DNS-servereid domeeni jaoks.
  • PTR: Muudab IP-aadressi domeeninimeks (kasutatakse pöörduvates DNS-päringutes).
# Näide DNS-päringust dig-iga
dig google.com A
; <<>> DiG 9.16.1-Ubuntu <<>> google.com A
;; globaalvalikud: +cmd
;; Vastus:
;; ->>HEADER<<- käsk: QUERY, staatus: NOERROR, id: 42650
;; lipud: qr rd ra; KÜSIMUS: 1, VASTUS: 1, AUTORITATIIVNE: 0, LISAND: 1

;; OPT PSEUDOSECTION:
; EDNS: versioon: 0, lipud:; udp: 65494
;; KÜSIMUSE SEKTSIOON:
;google.com.                    IN      A

;; VASTUSE SEKTSIOON:
google.com.             300     IN      A       172.217.16.142

;; Päringu aeg: 42 ms
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; KUI: Teis Oct 26 10:00:00 UTC 2023
;; SÕNUMI SUURUS  rcvd: 55

See jaotatud ja hierarhiline lähenemine muudab DNS-i skaleeritavaks ja vastupidavaks süsteemiks.