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:
- Felhasználói kérés: A felhasználó beírja a domain nevet a böngészőbe.
- 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).
- 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.
- 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. - 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). - 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. - 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.
- 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.
- 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é.