Sobes.tech
Junior

Ako funguje DNS?

sobes.tech AI

Odpoveď od AI

DNS, alebo Systém doménových mien, je distribuovaná databáza, ktorá prevádza čitateľné doménové mená (napríklad google.com) na IP adresy (napríklad 172.217.16.14), ktoré sú zrozumiteľné počítačom.

Proces prevodu (rozlúštenia) doménového mena na IP adresu zahŕňa niekoľko krokov spolupráce medzi rôznymi komponentmi:

  1. Používateľská požiadavka: Používateľ zadá doménové meno do prehliadača.
  2. Resolver (DNS Resolver): Operačný systém alebo aplikácia odošle požiadavku na lokálny DNS resolver (často poskytovaný internetovým poskytovateľom alebo sa nachádza na lokálnom routeri/počítači).
  3. Cache resolvera: Resolver najskôr skontroluje svoj lokálny cache. Ak nájde IP adresu, vráti ju klientovi. To urýchľuje proces.
  4. Koreňové (Root) DNS servery: Ak v cache nie je záznam, resolver odošle požiadavku na jeden z 13 koreňových DNS serverov (označovaných bodkou .). Tieto servery vedia, kde nájsť TLD (Top-Level Domain) servery.
  5. TLD (Top-Level Domain) DNS servery: Koreňový server nasmeruje resolver k TLD serveru, ktorý je zodpovedný za doménu najvyššieho stupňa (napríklad .com, .org, .ru).
  6. Autoritatívne (Authoritative) DNS servery: TLD server nasmeruje resolver k autoritatívnemu DNS serveru, ktorý je zodpovedný za konkrétnu doménu (napríklad google.com). Tento server uchováva DNS záznamy pre danú doménu.
  7. Odpoveď autoritatívneho serveru: Autoritatívny server nájde zodpovedajúci záznam (napríklad A-záznam pre IPv4 alebo AAAA záznam pre IPv6) a vráti IP adresu resolveru.
  8. Cache resolvera: Resolver dostane IP adresu, uloží ju do cache na stanovenú dobu (TTL - Time To Live) a vráti ju klientovi.
  9. Klientske spojenie: Klient použije získanú IP adresu na nadviazanie spojenia s webovým serverom.

DNS servery uchovávajú rôzne typy záznamov:

  • A: Prevod doménového mena na IPv4 adresu.
  • AAAA: Prevod doménového mena na IPv6 adresu.
  • CNAME: Vytvára pseudonym pre iné doménové meno.
  • MX: Určuje poštové servery zodpovedné za doménu.
  • NS: Uvádza autoritatívne DNS servery pre doménu.
  • PTR: Prevod IP adresy na doménové meno (používa sa v reverzných DNS dopytoch).
# Príklad DNS dopytu pomocou dig
dig google.com A
; <<>> DiG 9.16.1-Ubuntu <<>> google.com A
;; globálne možnosti: +cmd
;; Získaná odpoveď:
;; ->>HEADER<<- opcode: QUERY, stav: NOERROR, id: 42650
;; vlajky: qr rd ra; DOTAZ: 1, ODPOVEĎ: 1, AUTORITATÍVNE: 0, DOPLNKY: 1

;; OPT PSEUDOSECTION:
; EDNS: verzia: 0, vlajky:; udp: 65494
;; Otázka sekcia:
;google.com.                    IN      A

;; Odpoveď sekcia:
google.com.             300     IN      A       172.217.16.142

;; Dopyt čas: 42 ms
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; Kedy: utorok, 26. október 2023 10:00:00 UTC
;; Správa veľkosti  rcvd: 55

Tento distribuovaný a hierarchický prístup robí DNS škálovateľným a odolným systémom.