DNS tarixi
70-yillarda odamlar serverlarning IP-manzillarini yodlab qolishdan charchashdi. O'shanda xost (server) manzilining o'rniga oddiy va esda qoladigan ism ishlatish g'oyasi paydo bo'ldi.
Stenford tadqiqot institutining ishchilari HOSTS.TXT matnli faylini o'ylab topdilar, bu fayl ARPANETdagi kompyuterlarning qatorli ismlari va ularga mos keluvchi raqamli manzillar ro'yxatini o'z ichiga olgan.
Manzillar qo'lda berilgan. Foydalanuvchilar xost ismi va manzilini so'rash yoki kompyuterni bosh faylga qo'shish uchun Stenfordning tarmoq ma'lumotlar markaziga ish vaqtida telefon orqali murojaat qilgan.
1980-yillarga kelib yagona markaziy xostlar jadvallarini qo'llab-quvvatlash sekin va og'ir bo'lib qoldi, rivojlanayotgan tarmoq esa texnik va kadr masalalarini hal qilish uchun avtomatlashtirilgan nomlash tizimiga muhtoj edi.
1984 yilda Berkli universitetining to'rtta talabasi domen nomlari ierarxik tizimining birinchi versiyasini yaratdi. Hozirda u Unix tizimlarida keng tarqalgan va hanuzgacha internetda eng keng tarqalgan DNS dasturi bo'lib qolmoqda.
DNS bilan tanishuv
Domain Name System (DNS) — bu domenlar haqida ma'lumot saqlash va olish uchun taqsimlovchi tizim. U ko'pincha xost (kompyuter yoki qurilma) ismi orqali IP-manzilni olish, pochta marshrutlash va/yoki domen protokollari uchun xizmat ko'rsatuvchi tugunlar haqida ma'lumot olish uchun ishlatiladi.
Tizim ma'lum bir protokol bo'yicha o'zaro bog'langan DNS-serverlar ierarxiyasi ko'rinishida tashkil etilgan. DNS ning asosini ierarxik nom tuzilishi va zonalar tushunchasi tashkil etadi.
Domen zonasi uchun javob beruvchi har bir server domenning keyingi qismini boshqa serverga topshirishi mumkin, bu turli tashkilotlar serverlariga faqat o'zlarining domen nomi qismi uchun javobgarlik yuklash imkonini beradi.
DNS tizimi DNS-serverlar ierarxiyasini o'z ichiga oladi, zonalar ierarxiyasiga mos keladi. Har bir zona haqiqiy DNS-server tomonidan qo'llab-quvvatlanadi, u domen haqida ma'lumot joylashgan.
Muhim! Nom va IP-manzil bir-biriga birma-bir bog'liq bo'lishi shart emas. Bir IP-manzilda ko'plab domen nomlari bo'lishi mumkin, bu esa bitta kompyuterda ko'plab veb-saytlarni qo'llab-quvvatlash imkonini beradi (bu virtual hosting deb ataladi).
Aksincha, bir domen nomiga ko'plab IP-manzillar bog'lanishi mumkin: bu xizmat yuk muvozanatini yaratish va CDN-tarmoqlarida faol foydalaniladi.
Tizimning barqarorligini oshirish uchun bir xil ma'lumotni o'z ichiga olgan ko'plab serverlar ishlatiladi va protokol turli serverlarda joylashgan ma'lumotlar sinxronligini qo'llab-quvvatlash uchun vositalarni o'z ichiga oladi. 13 ta ildiz serverlari mavjud, ularning manzillari deyarli o'zgarmaydi.
Qiziqarli! DNS protokoli so'rovlar uchun javoblar uchun TCP yoki UDP port 53 ni ishlatadi. An'anaviy ravishda so'rovlar va javoblar bitta UDP-datagrammaga yuboriladi. TCP javob ma'lumotlari hajmi 512 baytdan oshganda ishlatiladi.
DNS yozuvlari
DNS-server har bir domen nomi uchun bir qator parametrlarni saqlaydi. Bu domen nomi, uning IP-manzili va turli xil xizmat ma'lumotlari haqida yozuvlar.
Bunday yozuvlar bir necha o'nlari mavjud, shuning uchun biz faqat eng mashhurlarini ko'rib chiqamiz:
| A | Address | IP-manzil |
| AAAA | Address IPv6 | IPv6 formatidagi manzil |
| CNAME | Canonical name | Psevdonim uchun kanonik nom |
| MX | Mail Exchanger | Domen uchun pochta shlyuzi manzili |
| NS | name server | Domen zonasiga javobgar uzel manzili |
| SOA | Start of authority | Ma'lumotlarning avtoritetligi ko'rsatkichi |
| SRV | Server selection | Xizmatlar uchun serverlarning joylashuvini ko'rsatish |
| PTR | pointer | Manzil nomini moslashtirish — A va AAAA uchun teskari mos kelish |
| TXT | Text string | Erkin ikkilik ma'lumotlar yozuvi, 255 baytgacha |
Eng qiziqarli yozuvlar:
- A-yozuv domen uchun mos keladigan IP-manzilni sozlash imkonini beradi.
- CNAME isminga sinonim o'rnatish imkonini beradi, masalan, www.javarush.com == javarush.com.
- MX yozuvi pochta serveri haqida ma'lumotni o'z ichiga oladi: agar xxx@javarush.com ga xat kelib qolsa, nima qilish kerak.
- NS — domen bo'yicha ma'lumot saqlovchi DNS-server manzilini ko'rsatadi. Foydali, agar yozuvlar keshda saqlangan bo'lsa va u o'z tugunlarida saqlanmasa.
IP manzilni qidirish
Keling, DNS tizimi qanday ishlashini tushunaylik.
Deylik, brauzeringizga api.javarush.com manzilini kiritdingiz. Brauzer lokal DNS-servisga murojaat qilib, api.javarush.com domeni uchun IP-manzilni so'raydi. Keyinchalik nima bo'ladi...
Avvaliga DNS-servis sizning kompyuteringizdagi lokal hosts faylida ushbu domen bor-yo'qligini tekshiradi. Agar bor bo'lsa, IP-manzilni undan oladi. Agar yo'q bo'lsa, unga ma'lum bo'lgan DNS-serverga so'rov yuboradi: “api.javarush.com ning IP-manzili qanaqa?”
Lekin, DNS-server nafaqat so'ralgan ism haqida, balki butun javarush.com domeni haqida ham hech narsa bilmasligi mumkin. Bunday holda, server ildiz serveriga — masalan, 198.41.0.4 ga murojaat qiladi. Ushbu server shunday javob beradi: “Men ushbu manzil haqida hech qanday ma'lumotga ega emasman, lekin men bilaman, 204.74.112.1 ru. zonasiga javobgardir.”
Shundan so'ng, DNS-server 204.74.112.1 ga so'rovni yo'naltiradi, lekin u shunday javob beradi: “Men ushbu server haqida hech qanday ma'lumotga ega emasman, lekin men bilaman, 207.142.131.234 javarush.com zonasiga javobgardir.” Nihoyat, ushbu so'rov uchinchi DNS-serverga yuboriladi va javob olinadi — IP-manzil, bu esa mijozga, ya'ni brauzerga yuboriladi.
Bu holatda ism bo'yicha IP ni qidirishda quyidagi qoidalar ishladi:
- Brauzer o'ziga ma'lum bo'lgan DNS-serverga rekursiv so'rov yubordi (bunday turdagi so'rovga javoban server IP-manzil yoki bo'sh javob va NXDOMAIN xato kodini qaytarishi kerak).
- DNS-server, brauzerdan so'rovni olganidan so'ng, ketma-ket rekursiv bo'lmagan so'rovlarni yubordi va boshqa DNS-serverlardan javoblar oldi, oxir-oqibat so'ralgan zonaga javobgar bo'lgan serverdan javob oldi.
- Qolgan eslatilgan DNS-serverlar so'rovlarni rekursiv tarzda qayta ishladilar (ehtimol hatto so'rovda bunday talab qo'yilgan bo'lsa ham, ular buni qayta ishlamagan bo'lardi).
Ba'zan, so'ralgan server rekursiv so'rovni “yuqoridagi” DNS-serverga uzatish va tayyor javobni kutishiga ruxsat beriladi.
Muhim! Rekursiv so'rovlarni qayta ishlashda barcha javoblar DNS-server orqali o'tadi va ularni keshda saqlash imkoniyatiga ega bo'ladi. Xuddi shu domen ismlari uchun takroriy so'rov odatda server keshiga o'tadi, boshqa serverlarga murojaat qilinmaydi.
Keshda javoblarni saqlashning ruxsat etilgan vaqti javoblarda keladi (TTL resurs yozuvi maydoni).
Hosts fayli
Diqqatni tortdimi, avvaliga qidiruv lokal hosts faylida amalga oshiriladi. Bu ARPANET davrlarida o'ylab topilgan HOSTS.TXT faylining avlodi. Ha, u hanuzgacha mavjud va foydalanilmoqda.
U quyidagi yo'lda joylashgan:
- /etc/hosts Linuxda.
- %SystemRoot%\system32\drivers\etc\hosts Windowsda.
- /system/etc/hosts Androidda.
Odatda fayl localhost tuguni joylashuvini aniqlashni o'z ichiga oladi:
127.0.0.1 localhost
Uning tuzilishi juda oddiy: avval IP-manzil, keyin domen nomi keltiriladi.
Foydali
Hosts fayli yordamida bannerlarning domen manzillarini 127.0.0.0, 127.0.0.1 yoki 0.0.0.0 manzillariga yo'naltirish orqali reklama filtrlash amalga oshirilishi mumkin.
127.0.0.1 ni ishlatish odatda tavsiya etilmaydi, chunki server mavjud emas yoki noto'g'ri sozlangan bo'lsa, javobni kutish va kechikishlarga olib keladi. Agar biror reklama domenini 0.0.0.0 IP-manziliga xaritalashtirsangiz, unga barcha so'rovlar darhol qaytariladi.
Ommaviy DNS-serverlar
Odatda, internet xizmatini ulaganda DNS-serverni ham olasiz. Ammo bunday bepul DNS-server — har doim eng yaxshi variant emas. Bundan tashqari, har safar biror saytga kirganingizda, provayderingizning DNS-serveriga domen nomi bilan so'rov yuborish istamasligingiz ham mumkin.
Shu sababli, ko'pchilik ommaviy bepul DNS-serverlarga o'tishni afzal ko'radi. Birinchidan, ular juda tez va katta domen ismlariga ega bo'lgan keshga ega. Saytlar tez yuklanadi va texnik muammolar minimal ehtimol bilan ishsiz ishlaydi.
Ikkinchidan — xavfsizlik. Ba'zi DNS-servislar fishing va zararli veb-saytlarga kirishni bloklashi mumkin va bolalarni internetdagi nomaqbul kontentdan himoya qilish uchun kontent filtrlashni taklif qiladi.
Bunday DNS-serverlar hatto firibgarlar bilan kurashishi mumkin. Masalan, siz soxta bank saytiga kirgansiz, lekin DNS-server sizga firibgarlarning IP-manzilini emas, balki o'z xavfsizlik xizmatining manzilini beradi.
Bunday serverlar ro'yxati
| Cloudflare | 1.1.1.1 1.0.0.1 |
Cloudflare tashrif ma'lumotlarini reklama ko'rsatish uchun ishlatmaslikka va'da beradi va so'rov manbasi IP-manzillarini diskka hech qachon yozmaslikka sodiqdir |
| Google Public DNS | 8.8.8.8 8.8.4.4 |
Yana taxminan 24-48 soat davomida nosozliklarni bartaraf etish va diagnostika qilish uchun so'rovchi qurilmaning IP-manzili haqida to'liq ma'lumotni saqlaydi |
| Comodo Secure DNS | 8.26.56.26 8.20.247.20 |
Fishing saytlarini bloklaydi, lekin agar siz zararli, josuslik dasturlariga ega saytlarga tashrif buyurmoqchi bo'lsangiz ogohlantiradi |
| Yandex.DNS | 77.88.8.8 77.88.8.1 |
Rossiyaning mashhur qidiruv tizimidan bepul DNS-servis |
GO TO FULL VERSION