Įvadas į domenų vardų sistemą

Jūs visi galbūt esate girdėję apie domenų vardų sistemą (DNS) arba apie ją žinoję, jei suprantate, kaip veikia internetas arba kaip veikia kompiuterių tinklai. Jei nesate susipažinę su DNS, patarčiau apsilankyti mano ankstesniame tinklaraščio įraše, kuris čia skirtas kompiuterių tinklams.

Vien pagrindinių kompiuterių pavadinimai negali mums pasakyti, kur yra ta mašina / aparatinė įranga, su kuria bandome susisiekti. Taigi, visi ryšiai atliekami su IP adresais.

Domeno vardo serveriai yra įrenginiai, kurie prieglobos serverio pavadinimą susieja su mašinos / aparatūros, kurioje veikia jūsų paslaugos, IP adresais.

Šiame įraše aš išsamiai paaiškinsiu DNS užklausų tipus, DNS serverių tipus ir DNS įrašų tipus.

DNS sprendėjas

DNS sprendėjai yra kompiuteriai, naudojami interneto paslaugų teikėjų (IPT), norint atlikti duomenų bazės paiešką pagal konkretų vartotojo prašomą pagrindinio kompiuterio pavadinimą. Tada jie nukreipia tą vartotoją į susietą IP adresą. Jie vaidina svarbų vaidmenį sprendžiant DNS.

DNS sprendėjai taip pat talpina duomenis. Pavyzdžiui, mano svetainė example.comšiuo metu priglobta kompiuteryje su IP adresu 35.195.226.230. Taigi visame pasaulyje esančių „DNS Resolvers“ talpyklos nurodė:

example.com- & g t; 35.195.226.230

Apsvarstykite, ar ateityje norėčiau priglobti savo svetainę bet kuriame kitame serveryje visame pasaulyje, turėdamas, pavyzdžiui, IP 35.192.247.235. Visų DNS sprendėjų visame pasaulyje DNS talpyklos kurį laiką vis tiek turės senąjį IP adresą. Tai gali lemti tai, kad įprastomis svetainės priemonėmis nebus galima naudotis, kol DNS platinimas nevyks visiškai.

Įrašas „DNS Resolver“ talpykloje kurį laiką lieka, kuris vadinamas laikas gyventi (trumpai - TTL).

Tai laikas, kai įrašas laikomas talpykloje DNS sprendime. Tai galima nustatyti registratoriaus informacijos suvestinėje, iš kurios įsigijote domeną.

Pastaba: nuo šiol DNS šiame sprendime kaip „Resolver“ remsiuosi tik šiame tinklaraščio įraše.

DNS serverių tipai

Šaknies DNS serveris

Pagrindiniai DNS serveriai yra tie, kurie turi visų TLD domenų serverių adresus. Užklausa pirmiausia susiduria su pagrindiniais DNS serveriais, kol vyksta į IP adresą iš pagrindinio kompiuterio pavadinimo.

2016 m. Visame pasaulyje yra 13 šakninių domenų serverių. Tai nereiškia, kad yra tik 13 mašinų, tvarkančių užklausų, gaunamų iš viso pasaulio, apkrovą - antžeminiame lygmenyje yra keli serveriai, tvarkantys apkrovą.

Įvairios organizacijos tvarko šakninius DNS serverius:

TLD domeno serveris

Tai yra tie, kurie klasifikuojami pagal aukščiausio lygio domeną. Paprastai jie yra kiti, kuriuos kartoja užklausa pasiekia po šakninio DNS serverio. Jie saugo TLD pagrindinio kompiuterio vardo įrašus.

Tarkime, jei mes prašome IP adreso medium.com, tada TLD domeno „.com“ serveriai yra klausiami. TLD domeno serveriai „Resolver“ pateikia autoritetingų DNS serverių adresą.

Dabar kyla klausimas: kaip TLD vardų serveris žino autoritetingo vardo serverio adresą? Atsakymas paprastas: kai perkate bet kurį domeną su tokiais registratoriais kaip „Godaddy“ ar „Namecheap“, registratoriai taip pat perduoda domenus ALD vardų serveriui. Taigi ji gali susisiekti su autoritetingų vardų serveriais.

Šiuo metu kai kurie registratoriai suteikia galimybę naudoti trečiųjų šalių autoritetingų vardų serverius. Kaip parodyta aukščiau pateiktame paveikslėlyje, autoritetingus vardų serverius galite nustatyti registratoriaus prietaisų skydelyje.

Autoritetingas DNS serveris

Galų gale juos iteratyviai klausia „Resolver“. Jie saugo faktinius A, NS, CNAME, TXT ir kt. Įrašus.

Taigi, jei įmanoma, jie grąžina kompiuterio vardo IP adresą. Jei jis nėra prieinamas net autoritetingame DNS serveryje, jie meta klaidą su konkrečiu pranešimu ir baigiasi IP adresų paieškos procesas vardų serveryje.

DNS užklausų tipai

Yra trijų tipų DNS užklausos:

Rekursyvus : rekursyvias užklausas vartotojai teikia „Resolver“. Tai iš tikrųjų yra pirmoji užklausa, atliekama atliekant bet kokią DNS paiešką.

„Resolvers“ gali būti jūsų interneto paslaugų teikėjas arba jūsų tinklo administratorius, tačiau dažniausiai tai yra beveik visais atvejais.

Nerekursinis: nerekursiškose užklausose „Resolver“ žino atsakymą ir atsako nedelsdamas, nebekeldamas jokių kitų vardų serverių. Taip atsitinka todėl, kad vietiniame DNS serveryje yra IP adresas, saugomas jo vietinėje talpykloje, arba jis tiesiog klausia autoritetingų vardų serverių. Jie neabejotinai turi rekordą, ir taip galų gale išvengiama rekurzinių užklausų.

Kartotinis : kartotinės užklausos įvyksta, kai „Resolver“ negali grąžinti rezultatų, nes gali būti, kad jie jo neišsaugojo. Taigi, ji pateikia užklausą pagrindiniam DNS serveriui. Šaknies DNS serveriai žino, kur rasti konkretų TLD domeno serverį.

Taigi, pavyzdžiui, jei bandome gauti IP adresą, tarkime medium.com, tada šakninio domeno serveryje bus .comišsaugotas TLD serverio adresas ir jis jį išsiųs atgal į „Resolver“. Tada „Resolver“ paprašo TLD serverio įvesti IP adresą. TLD domeno serveris gali to nežinoti, tačiau žino autoritetingo DNS serverio adresą medium.com.

Gerai, pakanka teorijos. Supraskime tai pagal schemą:

Išskaidykime pirmiau pateiktą diagramą žingsniais:

  1. Vartotojas pateikia „Resolver“ užklausą su kompiuterio pavadinimu, kuriam jis nori IP adreso. Tai yra rekursinė užklausa.
  2. „Resolver“ atlieka paiešką savo talpykloje, kad sužinotų, ar joje yra.
  3. Jei taip, jis grąžina jį atgal vartotojui.
  4. Jei jo talpykloje nėra, ji pateikia kartotinę užklausą pagrindiniams DNS serveriams, kurie yra visame pasaulyje. Nuo 2016 m. Yra 13 šakninių DNS serverių, pavadintų A - M. Dabar šaknies DNS serveris ieško prašomo domeno TLD. Pvz., Jei pagrindinio kompiuterio vardas yra medium.com, tada TLD tampa „.com“, o šakninis DNS serveris turi „.com“ domeno serverių įrašą ir grąžina rezultatus į „Resolver“. „Resolver“ turi turėti visų šakninių domenų vardų serverių adresus. Jei taip nebus, pirmiausia gali nepavykti ieškoti DNS.
  5. Dabar „Resolver“ vėl pateikia kartotinę užklausą TLD domeno serveriui, prašydama nurodyti domeno IP adresą. Tada TLD domeno serveris grąžina prašomo domeno autentiško serverio adresą.
  6. Manau, kad dabar galite suprasti, kas yra autoritetingi DNS serveriai. Juose yra tikrieji įrašai, kur pagrindinio kompiuterio vardas susietas su IP adresu, taigi IP adresas grąžinamas į „Resolver“ (kuris savo ruožtu grąžina jį vartotojui).
  7. Jei autoritetingo vardo serveriuose nerandama atitinkamo įrašo, tada išmetama klaida su pranešimu, kuriame sakoma „DNS_PROBE_FINISHED_NXDOMAIN“, nurodant, kad prašomo pagrindinio kompiuterio pavadinimo nėra.
  8. Visuose vardų serveriuose, kuriuos perduoda užklausa, užklausos pagrindinio kompiuterio pavadinimo rezultatai yra talpykloje, taigi, kai bet kuris kitas vartotojas paprašys to paties domeno, įrašas jau bus DNS talpykloje.
  9. Apskritai DNS paieškai atlikti reikia ne daugiau kaip keturių užklausų. Tačiau vargu ar prireiks kelių milisekundžių, kad atliktumėte paiešką.

DNS platinimo samprata

Apsvarstykite, kad jūsų svetainę priglobė kai kurie paslaugų teikėjai, pvz., „Digital Ocean“, bet kuriame kompiuteryje su IP „x“, ir jūs norite perkelti svetainės prieglobą į bet kurią kitą mašiną, kurios IP adresas sako „y“. Turėsite pakeisti autoritetingų įrašų IP adresą, kad srautas pereitų į naują IP adresą.

Net jei atnaujinate įrašus savo registratoriaus / vardų serverio informacijos suvestinėje, reikia šiek tiek laiko atspindėti visose „Resolvers“ talpyklose pasaulyje. DNS platinimas gali užtrukti 24–72 valandas, tačiau paprastai tai įvyksta anksčiau, nes dauguma IPT palaiko žemą TTL.

Štai ir viskas!

Ačiū, kad perskaitėte straipsnį. Jei turite klausimų, nedvejodami užduokite juos toliau pateiktuose komentaruose ir pasidalykite šiuo pranešimu su kuo tik norite.

Iki pasimatymo kitame. Smagiai praleisti laiką. Ačiū.

Galite peržiūrėti kitą mano straipsnį apie kompiuterių tinklus, kuriame jie išsamiai paaiškinti:

Kas yra kompiuterių tinklai ir kaip juos iš tikrųjų suprasti

Nesvarbu, ar esate naujokas plėtros pasaulyje, ar jau seniai kuriate daiktus - ar net jei esate… medium.freecodecamp.org

Jei jums patinka mano darbas, galite nusipirkti man kavos:

Pirkite „Sumedh Nimkarde“ kavą - BuyMeACoffee.com

Sveiki, esu Sumedhas ir mano darbas yra kurti, sulaužyti ir atstatyti daiktus. buymeacoffee.com

Nedvejodami kreipkitės į mane „Twitter“.