A DNS története
A 70-es években az emberek belefáradtak abba, hogy emlékezzenek az elérni kívánt szerverek IP-címére. Ugyanakkor felmerült az ötlet, hogy a numerikus állomáscím helyett egyszerűbb és megjegyezhetőbb nevet használjunk.
A Stanford Research Institute dolgozói egy HOSTS.TXT szöveges fájllal álltak elő , amely az ARPANET-en lévő számítógépek karakterláncneveinek listáját és a hozzájuk tartozó numerikus címeket tartalmazza.
A címek manuálisan lettek hozzárendelve. Gazdanév és cím kéréséhez, vagy számítógép hozzáadásához a főfájlhoz a felhasználók telefonon keresték fel a Stanford hálózati információs központját munkaidőben.
Az 1980-as évek elejére az egyetlen, központosított hoszttábla fenntartása lassú és nehézkessé vált, és a növekvő hálózatnak automatikus elnevezési rendszerre volt szüksége a technikai és személyi problémák kezelésére.
1984-ben négy UC Berkeley diák megírta a hierarchikus domain névrendszer első változatát. Ma már széles körben használják, különösen Unix rendszereken, és még mindig a legszélesebb körben használt DNS-szoftver az interneten.
Bevezetés a DNS-be
A Domain Name System (DNS) egy terjesztési rendszer a tartományokkal kapcsolatos információk tárolására és lekérésére. Leggyakrabban arra használják, hogy IP-címet szerezzenek állomásnévből (számítógép vagy eszköz), levelek útválasztási információi szerezzenek be és/vagy állomások szolgáljanak ki a tartományban lévő protokollokhoz.
A rendszer a DNS-kiszolgálók meghatározott hierarchiájába szerveződik, amelyek egy bizonyos protokoll szerint működnek együtt. A DNS megértésének alapja a név és a zónák hierarchikus szerkezetének megértése.
Minden egyes tartományzónáért felelős szerver átruházhatja a felelősséget a tartomány további részéért egy másik szerverre, ami lehetővé teszi, hogy az információk relevanciájáért felelősséget rendeljenek különböző szervezetek szervereihez, amelyek csak a tartomány "saját" részéért felelősek. domain név.
A DNS-rendszer a zónahierarchiának megfelelő DNS-kiszolgálók hierarchiáját tartalmazza. Minden zónát legalább egy hiteles DNS-kiszolgáló támogat, amely a tartományra vonatkozó információkat tárol.
Fontos! A név és az IP-cím nem feltétlenül kapcsolódik egymáshoz. Egy IP-címhez több domain név is tartozhat, ami lehetővé teszi, hogy több webhelyet támogasson egy számítógépen (ezt nevezzük megosztott tárhelynek ).
Ez fordítva is történhet - sok IP-cím társítható egy tartománynévhez: ez lehetővé teszi a terheléselosztás létrehozását, és aktívan használják a CDN-hálózatokban .
A rendszer stabilitásának növelése érdekében sok azonos információt tartalmazó szervert használnak, és a protokoll rendelkezik eszközökkel a különböző szervereken található információk szinkronizálására. 13 root szerver van, ezek címe gyakorlatilag nem változik.
Érdekes! A DNS-protokoll az 53-as TCP- vagy UDP-portot használja a lekérdezések megválaszolásához. Hagyományosan a kéréseket és a válaszokat egyetlen UDP-datagramként küldik el. A TCP-t akkor használják, ha a válaszadat mérete meghaladja az 512 bájtot.
DNS rekordok
A DNS-kiszolgáló minden tartománynévhez paraméterkészletet tárol. Ezek rekordok a domain névről, annak IP-címéről, valamint különféle szolgáltatási információkról.
Összesen több tucat ilyen bejegyzés van, ezért csak a legnépszerűbbeket vesszük figyelembe közülük:
A | Cím | IP-cím |
AAAA | IPv6 cím | Cím IPv6 formátumban |
CNAME | Kanonikus név | Az álnév kanonikus neve |
MX | levélváltó | Levelezési átjáró címe a domainhez |
NS | névszerver | A tartományzónáért felelős csomópont címe |
SOA | A tekintély kezdete | Az információ jogosultságának megjelölése |
SRV | szerver kiválasztása | Szerverhelyek megadása a szolgáltatásokhoz |
PTR | mutató | Címnév egyezése – Az A és az AAAA fordított egyezése |
TXT | szöveges karakterlánc | Írjon tetszőleges bináris adatot, legfeljebb 255 bájtig |
A legérdekesebbek itt a következők:
- Az A rekord lehetővé teszi egy tartománynak megfelelő IP-cím megadását.
- A CNAME lehetővé teszi a név szinonimájának beállítását, például www.codegym.cc == codegym.cc.
- Az MX rekord információkat tartalmaz a levelezőszerverről: mi a teendő, ha levél érkezik az xxx@codegym.cc címre.
- NS - a DNS-kiszolgáló címét jelzi, amely információkat tartalmaz erről a tartományról. Hasznos, ha a rekordokat gyorsítótárban tárolják és nem natív csomópontokon tárolják.
IP-cím keresése
Nézzük meg, hogyan működik a DNS-rendszer.
Tegyük fel, hogy az api.codegym.cc címet írta be a böngészőbe. A böngésző felveszi a kapcsolatot a helyi DNS-szolgáltatással, és megkéri, hogy adjon meg egy IP-címet az api.codegym.cc tartományhoz. Íme, mi lesz ezután...
Először a DNS-szolgáltatás megvizsgálja, hogy ez a tartomány szerepel-e a számítógép helyi hosts fájljában. Ha van, akkor onnan veszi az IP-címet. Ha nem, akkor kérést küld az általa ismert DNS-kiszolgálónak: „Mi az api.codegym.cc IP-címe?”.
Előfordulhat azonban, hogy a DNS-kiszolgáló nem csak a kért névről, de még a teljes codegym.cc tartományról sem tud semmit. Ebben az esetben a szerver felveszi a kapcsolatot a gyökérszerverrel – például 198.41.0.4. Ez a szerver azt mondja: "Nincs információm erről a címről, de tudom, hogy a 204.74.112.1 felelős a ru zónáért."
Ezután a DNS-szerver elküldi kérését a 204.74.112.1-re, de az azt válaszolja: "Nincs információm erről a szerverről, de tudom, hogy a 207.142.131.234 felelős a codegym.cc zónáért." Végül ugyanazt a kérést elküldik egy harmadik DNS-kiszolgálónak, és választ kap - egy IP-címet, amelyet továbbít a kliensnek, azaz a böngészőnek.
Ebben az esetben az IP név szerinti keresése során a következő szabályok működtek:
- A böngésző rekurzív kérést küldött egy ismert DNS-kiszolgálónak (ilyen típusú kérésre válaszul a szervernek egy IP-címet, vagy üres választ és egy NXDOMAIN hibakódot kell visszaadnia).
- A böngészőtől a kérést fogadó DNS-kiszolgáló egymás után nem rekurzív kéréseket küldött, amelyekre más DNS-kiszolgálóktól is kapott választ, egészen addig, amíg a kért zónáért felelős szervertől nem kap választ.
- A többi említett DNS-kiszolgáló nem rekurzívan dolgozta fel a kéréseket (és valószínűleg nem dolgozta volna fel rekurzívan a kéréseket, még akkor sem, ha ilyen követelmény szerepelt a kérésben).
Néha előfordulhat, hogy a kért szerver rekurzív lekérdezést küld egy "felfelé irányuló" DNS-kiszolgálónak, és vár a kész válaszra.
Fontos! A rekurzív lekérdezésfeldolgozással minden válasz átmegy a DNS-kiszolgálón, és az lehetőséget kap a gyorsítótárba helyezésére. Az ugyanazon tartománynevekre vonatkozó ismételt kérés általában nem haladja meg a szerver gyorsítótárát, és más szerverek hívása egyáltalán nem történik meg.
A válaszok gyorsítótárának megengedett ideje a válaszokkal együtt érkezik (az erőforrásrekord TTL mezője).
hosts fájl
Észrevettük, hogy az első keresés a helyi hosts fájlban történik. Ez a HOSTS.TXT fájl örököse, amelyet még az ARPANET idejében találtak fel. Igen, még mindig létezik és még mindig használatban van.
Az út mentén található:
- /etc/hosts Linuxon.
- %SystemRoot%\system32\drivers\etc\hosts Windows rendszeren.
- /system/etc/hosts androidon.
A fájl általában tartalmazza a localhost csomópont helymeghatározását:
127.0.0.1 localhost
Felépítése nagyon egyszerű: először jön az IP-cím, majd a domain név.
Hasznos
A hosts fájl segítségével lehetőség van a hirdetések szűrésére úgy, hogy a bannerek domain címét a 127.0.0.0, 127.0.0.1 vagy 0.0.0.0 címre irányítja át.
A 127.0.0.1 használata általában nem ajánlott, mivel válaszidőtúllépést és kapcsolódó késéseket eredményez, ha a kiszolgáló nem létezik vagy rosszul van beállítva. És ha bármilyen hirdetési tartományt leképez a 0.0.0.0 IP-címre, akkor minden arra irányuló kérés azonnal leesik).
Nyilvános DNS-kiszolgálók
Általában egy DNS-kiszolgálót kap az internetszolgáltatással együtt, amikor csatlakoztatja azt. De egy ilyen ingyenes DNS-kiszolgáló nem mindig a legjobb megoldás. Ezenkívül előfordulhat, hogy nem szeretne lekérdezést küldeni a tartománynévvel minden alkalommal, amikor felkeres egy webhelyet az internetszolgáltató DNS-kiszolgálójához.
Ezért sokan inkább nyilvános, ingyenes DNS-kiszolgálókra váltanak. Először is, nagyon gyorsak, és nagy gyorsítótárral rendelkeznek a domain nevek között. Gyorsabb webhelybetöltést és üzemidőt érhet el, minimális technikai problémákkal.
Másodszor a biztonság. Egyes DNS-szolgáltatások blokkolhatják az adathalász és rosszindulatú webhelyekhez való hozzáférést, és tartalomszűrést kínálnak, hogy megvédjék a gyermekeket a nem megfelelő online tartalmaktól.
Az ilyen DNS-kiszolgálók akár a csalók ellen is felvehetik a harcot. Például felmegyünk egy hamis bank weboldalára, és a DNS-szerver nem a csalók IP-címét adja meg, hanem a biztonsági szolgáltatását.
Az ilyen szerverek listája
felhőfáklya | 1.1.1.1 1.0.0.1 |
A Cloudflare azt ígéri, hogy nem használja fel a látogatói adatokat a hirdetések megjelenítésére, és soha nem fogja lemezre írni a kérésforrás IP-címeit. |
Google nyilvános DNS | 8.8.8.8 8.8.4.4 |
Körülbelül 24-48 órán keresztül teljes információt tárol a kérelmező eszköz IP-címéről hibaelhárítás és diagnosztika céljából |
Comodo Secure DNS | 8.26.56.26 8.20.247.20 |
Blokkolja az adathalász webhelyeket, de figyelmeztet is, ha rosszindulatú vagy kémprogramokat tartalmazó webhelyeket próbál felkeresni |
Yandex.DNS | 77.88.8.8 77.88.8.1 |
Ingyenes DNS-szolgáltatás egy népszerű orosz keresőmotortól |
GO TO FULL VERSION