Bosh sahifa Wiki resolver

resolver

Resolver — domen nomini DNS yozuvlariga, eng ko‘p holatda IP manzilga aylantirish jarayonida qatnashadigan dasturiy komponent. Foydalanuvchi uzbekdevs.uz kabi nomni kiritadi, tarmoq ulanishi esa serverning IP manzilini talab qiladi. Resolver DNS ierarxiyasiga so‘rov yuboradi yoki avvalgi natijani cache orqali qaytaradi.

Stub resolver

Ilova ko‘pincha DNS paketini o‘zi to‘liq boshqarmaydi. Operatsion tizimdagi stub resolver kutubxona chaqiruvi, masalan getaddrinfo, orqali so‘rov qabul qiladi. U hosts fayli, mahalliy cache va tizimda sozlangan DNS serverlar tartibini tekshirishi mumkin. Tarmoq resolver manzili DHCP, VPN konfiguratsiyasi yoki administrator sozlamasi orqali beriladi.

Stub resolver odatda recursive resolverga bitta so‘rov yuboradi va yakuniy javob kutadi. Brauzer kabi ayrim dasturlar o‘z cacheiga yoki DNS over HTTPS orqali alohida resolverga ega bo‘lishi mumkin. Shuning uchun bitta kompyuterda turli dastur bir xil nom uchun turlicha resolver yo‘lidan foydalanishi ehtimoli mavjud.

Recursive resolver

Recursive resolver client nomidan javobni topishga mas’ul bo‘ladi. Cacheda natija bo‘lmasa, u avval root serverdan kerakli top-level domain serverlarini so‘raydi. Keyin .uz kabi TLD serveridan domenning authoritative nameserverlarini topadi. Yakunda authoritative serverdan A, AAAA yoki boshqa kerakli yozuvni oladi.

Ushbu so‘rovlar amalda optimallashtiriladi: resolver root va TLD ma’lumotlarini cacheda saqlaydi, shuning uchun har domen uchun barcha bosqichlarni qayta bajarmaydi. Authoritative server domen zonasi bo‘yicha yakuniy javob beradi, lekin boshqa domenlar uchun rekursiv qidiruv bajarishi shart emas.

Cache va TTL

DNS javobidagi TTL yozuv cacheda necha soniya saqlanishi mumkinligini bildiradi. TTL tugamaguncha resolver oldingi natijani qaytaradi. Domen egasi IP manzilni o‘zgartirganda eski yozuv TTL tugaguncha ayrim foydalanuvchilarda qolishi mumkin. Bu holat ko‘pincha DNS propagation deb ataladi, aslida esa turli cachelarning turli vaqtda eskirishidir.

Mavjud bo‘lmagan nom haqidagi javob ham negative caching orqali vaqtincha saqlanishi mumkin. Bu authoritative serverga takroriy, foydasiz so‘rovlarni kamaytiradi.

Transport va xavfsizlik

Oddiy DNS ko‘pincha UDP 53-portdan foydalanadi. Katta yoki truncation belgili javobda TCP qo‘llanishi mumkin. DNS over TLS va DNS over HTTPS client bilan resolver orasidagi so‘rovni shifrlaydi, lekin authoritative DNS ierarxiyasining barcha qismini avtomatik shifrlamaydi.

DNSSEC resolverga yozuvning DNS zonasidagi ishonch zanjiri orqali imzolanganini tekshirish imkonini beradi. U javobni maxfiy qilmaydi; maqsadi ma’lumotning haqiqiyligi va yaxlitligini tasdiqlashdir. Ochiq recursive resolver noto‘g‘ri sozlansa amplification hujumlarida ishlatilishi mumkin.

CNAME va javob zanjiri

So‘ralgan nom CNAME yozuviga ega bo‘lsa, resolver uning target nomi uchun qidiruvni davom ettiradi. Bir necha CNAME ketma-ket kelishi mumkin, lekin sikl yoki juda uzun zanjir xato bilan tugaydi. Yakuniy javobda alias zanjiri va A yoki AAAA yozuvi bo‘lishi mumkin. MX va NS targetlari ham keyingi manzil qidiruvini talab qiladi.

Split-horizon DNS bir xil nomga ichki va tashqi client uchun turli javob beradi. VPN ulanishi resolver va qidiruv domenlarini o‘zgartirganda ichki xizmat nomlari faqat korporativ tarmoqda yechilishi mumkin.

Bog‘liq tushunchalar

DNS, recursive resolver, authoritative server, nameserver, TTL, DNSSEC, DNS cache