Published on

Mi az a DNS?

Authors
  • avatar
    Name
    Bartók Dániel
    Twitter

Az előző bejegyzésekben már sok szó esett arról, hogy amikor a böngészőbe beírunk egy weboldal címet, amit meg szeretnénk tekinteni, mennyi minden történik a háttérben. Az, hogy az egyes oldalak eléréséhez címeket használunk (pl. zsebinformatikus), az csak egy könnyítés a számunkra. Ugyanis a böngésző IP címeket használ a weboldalak eléréséhez. Éppen ezért szükség van egy olyan rendszerre, amely az ember által könnyebben megjegyezhető neveket átfordítja a számítógép által használt IP címekre. Erről lesz ma szó.

Zsebinformatikus DNS

Az internet telefonkönyve

Nem véletlenül használja több szakirodalom is ezt a kifejezést. Talán van néhány Kedves Olvasó, aki még emlékszik a vaskos papír alapú telefonkönyvekre. A könyv lapjain minden egyes telefonszámhoz tartozott egy név és egy cím. A DNS (Domain Name Server) hasonló szerepet tölt be az internet világában, hiszen a bevezetőben említett weboldal címekhez rendel a böngésző számára értelmezhető IP címet. Többféle megoldás is létezik egy-egy oldal IP címének lekéréséhez. A haladó bejegyzésben mutatok majd néhány parancsot, addig is az alábbi oldalon egy címet beírva megkapjuk a hozzá tartozó IP címet.

Nslookup.io

Na de nézzük, hogyan is működik ez pontosan, ahogy a Kedves Olvasó már megszokhatta, itt sincs mindegyik idegen kifejezésre tökéltes magyar megfelelő, ezért zárójelben most is látható lesz az eredeti. A folyamatban alapvetően négy eszköz vesz részt:

  • Rekurzív DNS feloldó (Recursive resolvers): Ha már említésre került a telefonkönyv, a példánál maradva az eszköz olyan, mint egy könyvtáros, akit megkérünk, hogy keressen meg nekünk egy könyvet. A DNS feloldó egy olyan szerver, amely várja a névfeloldási kéréseket, melyek után általában további kéréseket intéz a gyökér névszerver felé. A beérkező névfeloldási kérések a legtöbb esetben a böngészőktől érkeznek.
  • Gyökér névszerver (Root nameservers): Az első "igazi" lépés a névfeloldási folyamatban, mely során az ember által használt neveket IP címmé fordítja. A könyvtáros példánál maradva ez a témamegjelölő címke, ami egy adott könyvhalmazra mutat. A gyökér névszerver is egy útjelző, mely irányba állít merre érdemes a keresést folytatni.
  • Legfelső szintű tartományi kiszolgáló (Top level domain (TLD) nameservers): A könyvtárnál maradva, úgy lehet elképzelni, mint egy adott könyvespolcot. Ez a névszerver a következő lépés az adott IP cím megtalálásában, a legfelső tartománynevekre vonatkozóan tárol információkat. A kiszolgáló megtalálásában segít az elérni kívánt teljes cím, hiszen ez mindig tartalmazza a legfelső szintű tartományi kiszolgálót a cím végén. Például a zsebinformatikus.hu esetén a .hu.
  • Autoritatív névszerver (authoritative nameservers): A könyvtárban az adott polcon megtalálható könyvek listája. A névfeloldási folyamat utolsó lépése. Ha a szervernek van jogosultsága az adott rekordhoz, akkor visszaküldi a kért névhez tartozó IP címet a Rekurzív DNS feloldónak, aki a névfeloldási kérést elsőkörben indítványozta.

A könnyebb érthetőség kedvéért nézzünk végig a teljes folyamatot egy példán, mely 8+2 lépésből áll(hat):

A DNS névfeloldás folyamatának 8+2 lépése:

  1. A Kedves Olvasó beírja a zsebinformatikus.hu címet a böngészőbe, mely hatására a böngésző egy névfeloldási kérést indítványoz a rekurzív DNS feloldó felé.

  2. A DNS feloldó, hogy megtudja az IP címet, egy kérést indít a gyökér névszerver felé. (keresési eredmény ebben a lépésben: . névszerver)

  3. A gyökér névszerver válaszul elküldi a megfelelő legfelső szintű tartományi kiszolgáló elérhetőségét, mely a keresett címről tartalmaz információkat. Esetünkben ez a .hu tartományi kiszolgáló lesz. (keresési eredmény ebben a lépésben: .hu. névszerver)

  4. A DNS-feloldó, ezután kérést indítványoz a .hu tartományi kiszolgálónak.

  5. A tartományi kiszolgáló válaszul elküldi annak a névszervernek az elérhetőségét, akinél a zsebinformatikus.hu cím megtalálható, ezt domain névszervernek nevezzük. (keresési eredmény ebben a lépésben: zsebinformatikus.hu. névszerver)

  6. Végezetül a rekurzív feloldó kérést intéz a domain névszerver irányába.

  7. A névszerver pedig elküldi a zsebinformatikus.hu IP címét a rekurzív feloldónak.

  8. A rekurzív DNS feloldó elküldi a böngészőnek az immár feloldott IP címet.

    A nyolc lépés után a DNS névfeloldási folyamat végeztével a böngésző megkapja a felkeresni kívánt weboldal IP címét, így az már képes felkeresni a weboldalt:

  9. A böngésző egy HTTP kérést indít a megkapott IP cím irányába.

  10. Az IP cím mögötti szerver válaszol a kérésre és a böngészőben megjelenik az oldal tartalma.

Nem minden esetben kell a fent ismertetett 8 lépésen végig menni, egy bizonyos ideig a böngésző és az operációs rendszer is el tudja tárolni a weboldal nevek és hozzájuk tartozó IP címek listáját.

Tehát a fenti folyamatok zajlanak le az ismertetett eszközök használatával. Természetesen ez még csak a jéghegy csúcsa, hiszen a DNS-rekordtípusokról még egy árva szót sem ejtettünk. A következő haladó bejegyzésben tovább vizsgáljuk a DNS feloldást és bekukkantunk a motorháztető alá. Ezen felül egy gyakorlati példán is megnézzük a fent ismertetett 8+2 lépéses folyamatot, néhány Unix eszköz bemutatásával és azok használatával egyetemben.

Támogass egy kávéval