Junior
Kaip veikia DNS?
sobes.tech AI
Atsakymas iš AI
DNS, arba Domenu Vardų Sistema, yra paskirstyta duomenų bazė, kuri paverčia žmogui skaitomus domeno vardus (pavyzdžiui, google.com) į IP adresus (pavyzdžiui, 172.217.16.14), kuriuos supranta kompiuteriai.
Domeno vardo konvertavimo (išsprendimo) procesas apima kelis žingsnius, kuriuose dalyvauja skirtingos komponentų sąveikos:
- Vartotojo užklausa: Vartotojas įveda domeno vardą naršyklėje.
- Resolveris (DNS Resolver): Operacinė sistema arba programa siunčia užklausą vietiniam DNS resolveriui (dažnai teikia interneto paslaugų teikėjas arba yra vietiniame maršrutizatoriuje/kompiuteryje).
- Resolverio talpykla: Resolveris pirmiausia tikrina savo vietinę talpyklą. Jei randa IP adresą, grąžina jį klientui. Tai pagreitina procesą.
- Šaknies (Root) DNS serveriai: Jei įrašas nėra talpyklėje, resolveris siunčia užklausą vienam iš 13 šaknies DNS serverių (pažymėti tašku
.). Šie serveriai žino, kur rasti TLD (Top-Level Domain) serverius. - TLD (Top-Level Domain) DNS serveriai: Šaknies serveris nukreipia resolverį į TLD serverį, kuris atsakingas už aukščiausio lygio domenus (pavyzdžiui,
.com,.org,.ru). - Autoritetingi (Authoritative) DNS serveriai: TLD serveris nukreipia resolverį į autoritetingą DNS serverį, kuris atsakingas už konkretų domeną (pavyzdžiui,
google.com). Šis serveris saugo DNS įrašus. - Autoritetingo serverio atsakymas: Autoritetingas serveris suranda atitinkamą įrašą (pavyzdžiui, A įrašą IPv4 arba AAAA įrašą IPv6) ir grąžina IP adresą resolveriui.
- Resolverio talpykla: Resolveris gauna IP adresą, jį talpina į talpyklą tam tikram laikui (TTL - Time To Live) ir grąžina klientui.
- Kliento ryšys: Klientas naudoja gautą IP adresą, kad užmegztų ryšį su žiniatinklio serveriu.
DNS serveriai saugo įvairių tipų įrašus:
- A: Paverčia domeno vardą į IPv4 adresą.
- AAAA: Paverčia domeno vardą į IPv6 adresą.
- CNAME: Sukuria pseudonimą kitam domeno vardui.
- MX: Nustato pašto serverius, atsakingus už domeną.
- NS: Nurodo autoritetingus DNS serverius domenui.
- PTR: Paverčia IP adresą į domeno vardą (naudojama atgalinėse DNS užklausose).
# DNS užklausos pavyzdys naudojant dig
dig google.com A
; <<>> DiG 9.16.1-Ubuntu <<>> google.com A
;; globalinės parinktys: +cmd
;; Gauta atsakymas:
;; ->>HEADER<<- užklausos: QUERY, būsena: NOERROR, id: 42650
;; žymės: qr rd ra; KLAUSIMAS: 1, ATSAKYMAS: 1, AUTORITETINGAS: 0, PAPILDOMAS: 1
;; OPT PSEUDOSECTION:
; EDNS: versija: 0, žymės:; udp: 65494
;; KLAUSIMAS SKYRIUS:
;google.com. IN A
;; ATSAKYMO SKYRIUS:
google.com. 300 IN A 172.217.16.142
;; Užklausos laikas: 42 ms
;; SERVERIS: 127.0.0.53#53(127.0.0.53)
;; KADA: Antr, 26 spalio 2023 10:00:00 UTC
;; Žinutės dydis rcvd: 55
Šis paskirstytas ir hierarchinis požiūris daro DNS masto ir atsparią sistemą.