Sobes.tech
Junior

Hogyan működik a DNS?

sobes.tech MI

Válasz az MI-től

DNS, vagyis a Domain Név Rendszer, egy elosztott adatbázis, amely ember által olvasható domain neveket (például google.com) IP-címekké (például 172.217.16.14) alakít át, amelyek a számítógépek számára érthetőek.

A domain név IP-címre történő átalakításának (feloldásának) folyamata több lépést foglal magában, amelyek különböző komponensek közötti interakciót igényelnek:

  1. Felhasználói kérés: A felhasználó beírja a domain nevet a böngészőbe.
  2. Feloldó (DNS Resolver): A operációs rendszer vagy alkalmazás elküldi a kérését a helyi DNS feloldónak (gyakran az internetszolgáltató vagy a helyi router/ számítógép által biztosított).
  3. Feloldó gyorsítótár: A feloldó először ellenőrzi a helyi gyorsítótárát. Ha megtalálja az IP-címet, visszaküldi a kliensnek. Ez gyorsítja a folyamatot.
  4. Gyökér (Root) DNS-szerverek: Ha nincs a gyorsítótárban rekord, a feloldó elküldi a kérését az egyik 13 gyökér DNS-szerverhez (jelölve ponttal .). Ezek a szerverek tudják, hol találhatók a TLD (Top-Level Domain) szerverek.
  5. TLD (Top-Level Domain) DNS-szerverek: A gyökér szerver irányítja a feloldót a TLD szerverhez, amely a felső szintű domainért felelős (például .com, .org, .ru).
  6. Hivatalos (Authoritative) DNS-szerverek: A TLD szerver irányítja a feloldót a hivatalos DNS-szerverhez, amely a konkrét domainért felelős (például google.com). Ez a szerver tartalmazza a DNS rekordokat az adott domainhez.
  7. Hivatalos szerver válasza: A hivatalos szerver megtalálja a megfelelő rekordot (például A rekord IPv4-hez vagy AAAA rekord IPv6-hoz) és visszaküldi az IP-címet a feloldónak.
  8. Feloldó gyorsítótárazása: A feloldó megkapja az IP-címet, tárolja egy meghatározott ideig (TTL - Time To Live), majd visszaküldi a kliensnek.
  9. Kliens kapcsolat: A kliens az így kapott IP-címet használva kapcsolódik a webszerverhez.

A DNS szerverek különböző rekord típusokat tárolnak:

  • A: A domain nevet IPv4-címre fordítja.
  • AAAA: A domain nevet IPv6-címre fordítja.
  • CNAME: Egy alias-t hoz létre egy másik domain névhez.
  • MX: Meghatározza a levelező szervereket, amelyek a domainért felelősek.
  • NS: Megadja a hivatalos DNS szervereket a domainhez.
  • PTR: IP-címet fordít domain névre (fordított DNS lekérdezéseknél használják).
# DNS kérés példája dig használatával
dig google.com A
; <<>> DiG 9.16.1-Ubuntu <<>> google.com A
;; globális opciók: +cmd
;; Válasz:
;; ->>HEADER<<- kérés: QUERY, állapot: NOERROR, id: 42650
;; zászlók: qr rd ra; KÉRÉS: 1, VÁLASZ: 1, HATÓSÁGI: 0, KIEGÉSZÍTŐ: 1

;; OPT PSEUDOSECTION:
; EDNS: verzió: 0, zászlók:; udp: 65494
;; KÉRDÉS SZEKCIÓ:
;google.com.                    IN      A

;; VÁLASZ SZEKCIÓ:
google.com.             300     IN      A       172.217.16.142

;; Kérdezési idő: 42 ms
;; SZERVER: 127.0.0.53#53(127.0.0.53)
;; IDŐ: 2023. október 26., 10:00:00 UTC
;; ÜZENET MÉRETE  rcvd: 55

Ez az elosztott és hierarchikus megközelítés teszi a DNS-t skálázható és hibatűrő rendszerré.