در حال حاضر DNS یکی از مهمترین اجزای اینترنت است. میلیاردها نفر در سراسر جهان از آن برای دسترسی به وبسایتها، سرورهای ایمیل و سایر منابع اینترنتی استفاده میکنند. DNS همچنین بخش مهمی از بسیاری از فناوریهای اینترنتی دیگر مانند هاست وب، شبکههای تحویل محتوا و تحویل ایمیل است. اگر شما هم از اینکه DNS چیست به اطلاعات جامع و البته بیان ساده نیاز دارید، این مقاله را بخوانید.
فهرست
DNS چیست؟
DNS که مخفف Domain Name System است، به معنی سامانه نام دامنه است. دی ان اس یک سیستم سلسلهمراتبی و نامگذاری شده برای رایانهها، خدمات و سایر منابع متصل به اینترنت یا یک شبکه خصوصی است. DNS نام دامنهها را به آدرسهای IP عددی تبدیل میکند تا بتوان از آنها برای مکانیابی و شناسایی سرویسها و کامپیوترها استفاده کرد. در واقع DNS به زبان ساده، همان آدرس سایتی است که به عدد (IP) تبدیل شده است.
به عنوان مثال، با کمک DNS دامنه وبسایت X به آدرس آی پی X تبدیل میشود. این گونه شما کافی است نام دامنه را جستجو کنید و نیازی نیست آی پی آن را بدانید. زیرا DNS مسئول تبدیل نام دامنه به آدرس IP است. دی ان اس جزئی جداییناپذیر از اینترنت است و از سال 1985 تا کنون از آن استفاده میشود و نام دامنه را برای ماشین قابلفهم میکند.
تاریخچه DNS
DNS در سال 1983 توسط پل موکاپتریس، ایجاد شد. او دی ان اس را برای جایگزین کردن فایل HOSTS.TXT طراحی کرد، فایلی که شامل تمامی نامهای دامنه و آدرسهای آی پی موجود در اینترنت بود. نگهداری و به روز رسانی فایل HOSTS.TXT دشوار بود و دارندگان آن نمیتوانستند با سرعت پیشرفت اینترنت آن را به روزرسانی کنند. موکاپتریس چیزی طراحی کرد که بتوان آن را به راحتی به روزرسانی کرد.
اولین سرور DNS در سال 1984 توسط داگلاس تری، مارک پینتر، دیوید ریگل و سانگنیان ژو، 4 دانشجوی دانشگاه کالیفرنیا طراحی شد. نام این سرور BID مخفف Berkeley Internet Name Domain بود و هنوز هم پردکاربردترین سرور دی ان اس است. در نهایت، در سال 1986 سیستم دی ان اس به طور رسمی توسط کارگروه مهندسی اینترنت یا IETF پذیرفته شد. از آن زمان، DNS به بخشی ضروری از زیرساخت اینترنت تبدیل شده است.
در ادامه نگاهی کلی به تاریخچه توسعه DNS میاندازیم:
1984: اولین سرور DNS در دانشگاه کالیفرنیا، برکلی پیاده سازی شد.
1986: سیستم DNS به طور رسمی توسط کارگروه مهندسی اینترنت (IETF) پذیرفته شد.
1987: اولین منطقه ریشه DNS ایجاد شد.
1990: اولین دامنههای سطح بالا (TLD) از جمله .com، .net و .org ایجاد شدند.
1995: مرجع واگذار اعداد در اینترنت یا Internet Assigned Numbers Authority (IANA) برای مدیریت منطقه ریشه DNS تأسیس شد.
1997: اولین نسخه DNSSEC که یک پسوند امنیتی برای پروتکل DNS است، منتشر شد.
2000: اولین پسوندهای دامنه بین المللی (IDN) معرفی شدند.
2011: اولین TLDهای جدید مانند .app، .info، و .name ایجاد شدند.
DNS چطور کار میکند؟
در بالا توضیح دادیم که DNS چیست و الان نوبت این است که هنگامی که یک نام دامنه مانند google.com را در مرورگر وب خود تایپ میکنید، این مرورگر یک درخواست DNS را به یک سرور DNS ارسال میکند. سرور DNS آدرس IP آن نام دامنه را جستجو میکند و آن را به مرورگر شما برمیگرداند. سپس مرورگر شما از آدرس IP برای اتصال به سرور وبسایت استفاده میکند.
سیستم DNS یک سیستم توزیع شده است، به این معنی که سرورهای DNS مختلفی در سراسر جهان وجود دارد. هر سرور DNS شامل بخشی از پایگاه داده DNS است که شامل لیستی از نام دامنهها و آدرسهای IP مربوط به آنها میشود. هنگامی که یک درخواست DNS ارسال میکنید، مرورگر شما ابتدا با یک سرور DNS محلی ارتباط برقرار میکند.
اگر سرور DNS محلی پاسخ سؤال شما را نداشته باشد، درخواست را به یک سرور DNS سطح بالاتر ارسال میکند. سپس سرور DNS سطح بالاتر درخواست را به سرور DNS دیگری ارسال میکند و به همین ترتیب ارسالها تا زمانی که پاسخ پیدا شود، ادامه پیدا میکند. هنگامی که سرور DNS پاسخ درخواست شما را پیدا کرد، آدرس IP را به مرورگر شما برمیگرداند. سپس مرورگر از آدرس IP برای اتصال به سرور وبسایت استفاده میکند.
کش DNS
سرورهای DNS سوابق DNS را در حافظه کش ذخیره میکنند تا بتوانند بدون نیاز به تماس با سایر سرورهای DNS، هر بار که سؤالی تکراری پرسیدید، به سرعت به آن پاسخ دهند. هنگامی که یک سرور DNS یک درخواست DNS دریافت میکند، ابتدا حافظه کش خود را بررسی میکند تا ببیند آیا پاسخ سؤال را دارد یا خیر. اگر سرور DNS پاسخ را در حافظه کش خود داشته باشد، بلافاصله آن را به کاربر برمیگرداند. اگر سرور DNS پاسخ را در حافظه کش خود نداشته باشد، درخواست را به سرور دی ان اس دیگری ارسال میکند.
DNS hierarchy چیست؟
سیستم DNS به شکل سلسلهمراتبی سازماندهی شده است. در رأس این سلسله مراتب، سرورهای ریشهای DNS قرار دارند. 13 سرور ریشه DNS در سراسر جهان وجود دارد. در زیر سرورهای ریشه DNS، سرورهای DNS دامنه سطح بالا (TLD) قرار دارند. سرورهای DNS TLD مسئول مدیریت رکوردهای DNS برای دامنههای سطح بالا مانند .com، .net و org هستند.
در زیر سرورهای DNS TLD، سرورهای DNS معتبر قرار دارند. سرورهای DNS معتبر مسئول مدیریت سوابق DNS برای نامهای دامنه خاص هستند. به عنوان مثال، سرورهای معتبر DNS برای google.com مسئول مدیریت رکوردهای DNS برای این دامنه هستند.
DNS resolution چیست؟
هنگامی که یک نام دامنه را در مرورگر وب خود تایپ میکنید، مرورگر شما ابتدا با یک سرور DNS محلی تماس میگیرد تا نام DNS را تحلیل کند. سپس سرور DNS محلی حافظه کش خود را بررسی میکند تا ببیند آیا پاسخی برای سؤال دارد یا خیر. اگر سرور DNS محلی پاسخ را در حافظه کش خود نداشته باشد، درخواست را به یک سرور DNS سطح بالاتر ارسال میکند. این کار تا زمانی ادامه پیدا میکند که یک سرور پاسخ سؤال شما را داشته باشد. هنگامی که سرور DNS پاسخ سؤال را پیدا کرد، آدرس IP را به سرور DNS محلی برمیگرداند. سپس سرور DNS محلی آدرس IP را به مرورگر باز میگرداند. در نهایت مرورگر از آدرس IP برای اتصال به سرور وبسایت استفاده میکند.
انواع سرورهای DNS
چهار نوع اصلی سرور DNS وجود دارد که در این بخش آنان را معرفی میکنیم.
سرور DNS بازگشتی
سرورهای DNS بازگشتی مسئول پاسخگویی مستقیم به سؤالات DNS هستند. اگر یک سرور DNS بازگشتی پاسخ یک سؤال را نداشته باشد، آن را به سرور DNS دیگری ارسال میکند تا زمانی که پاسخ را پیدا کند. سرورهای DNS بازگشتی رایجترین نوع سرور DNS هستند. از آنها در مودمهای خانگی، ISPها و سایر سازمانها (برای ارائه خدمات DNS به کاربران) استفاده میشود.
سرورهای Authoritative
سرورهای Authoritative مسئول ذخیره رکوردهای DNS برای یک نام دامنه خاص هستند. هنگامی که یک سرور DNS بازگشتی نیاز به حل یک سؤال دی ان اسی دارد، سرور Authoritative را برای نام دامنه مورد نظر بررسی میکند. سرورهای Authoritative معمولاً توسط ثبت نام دامنه یا سایر سازمانهای مسئول مدیریت فضای نام دامنه مدیریت میشوند.
سرور ریشه
سرورهای ریشه مسئول ذخیره رکوردهای DNS برای دامنههای سطح بالا (TLD) مانند .com، .net و .org هستند. هنگامی که یک سرور DNS بازگشتی نیاز به حل یک سؤال دی ان اسی برای نام دامنهای دارد که اطلاعاتی از آن در حافظه کش خود ندارد، یک سرور ریشه را بررسی میکند. 13 سرور DNS ریشه در سراسر جهان وجود دارد.
سرور کش
این سرور مسئول ذخیره رکوردهای DNS در حافظه کش است. از حافظه کش سرورهای DNS میتوان برای بهبود عملکرد سرورهای DNS بازگشتی و ارائه خدمات DNS به کاربران در مکانهای مختلف استفاده کرد.
علاوه بر این 4 مورد سرور دی ان اس، سرورهای دیگری هم وجود دارند:
- سرور Forwarding
- سرور ثانویه
- سرور Anycast
دی ان اس های سرویسهای معروف جهان
در ادامه چند نمونه از DNSهای سرویسهای معروف جهان را میآوریم:
Google: 8.8.8.8 و 8.8.4.4
Cloudflare: 1.1.1.1 و 1.0.0.1
Quad9: 9.9.9.9 و 149.112.112.112
OpenDNS: 208.67.222.222 و 208.67.220.220
Amazon Web Services (AWS): 205.251.198.53 و 205.251.192.244
Microsoft Azure: 192.168.1.1 و 192.168.1.2
Netflix: 172.104.190.16 و 172.104.190.17
Facebook: 173.252.112.0 و 173.252.111.0
YouTube: 172.253.112.0 و 172.253.111.0
اینها فقط چند نمونه هستند و سرورهای DNS دیگری نیز وجود دارند که توسط سرویسهای معروف در سراسر جهان استفاده میشوند. شما میتوانید سرورهای DNS خود را به هر یک از این سرورها تغییر دهید، یا میتوانید از سرورهای DNS دیگری که توسط ISP شما یا سایر سازمانها ارائه شدهاند، استفاده کنید.
توجه به این نکته مهم است که تغییر سرورهای DNS ممکن است تأثیر قابلتوجهی بر تجربه مرور در نت شما نداشته باشد، به خصوص اگر از یک سرور DNS سریع و قابل اعتماد استفاده میکنید. با این حال، اگر مشکلاتی با DNS خود دارید، مانند زمان بارگذاری کند وبسایت یا مشکل در اتصال به وبسایتهای خاص، تغییر سرورهای DNS ممکن است به بهبود تجربه مرور شما کمک کند.
DNS اختصاصی چیست؟
DNS اختصاصی نوعی از سرویس DNS است که به طور خاص برای رفع نیازهای کسب و کارها و سازمانها طراحی شده است. چندین مزیت را نسبت به خدمات DNS سنتی ارائه میدهد. DNS اختصاصی گزینه خوبی برای مشاغل و سازمانهایی است که به بهبود عملکرد، افزایش امنیت و کنترل بیشتر بر تنظیمات DNS خود نیاز دارند. همچنین میتواند گزینه خوبی برای کاربرانی باشد که نگران حریم خصوصی و امنیت هستند. در ادامه چند نمونه از نحوه استفاده از DNS اختصاصی آورده شده است:
- بهبود عملکرد و قابلیت اطمینان وبسایت و سایر خدمات آنلاین برای کسب و کارها
- فیلتر کردن وب سایتهای مخرب و محافظت از کاربران در برابر تهدیدات آنلاین
- مسدود کردن دسترسی به وبسایت و دامنههای خاص
اگر قصد استفاده از DNS اختصاصی را دارید، باید ارائهدهندهای را انتخاب کنید که از نظر عملکرد، امنیت و کنترل شهرت خوبی داشته باشد. علاوه بر این باید بودجه خود را هم در نظر بگیرید؛ زیرا این نوع خدمات گرانتر هستند.
تفاوت DNS و DNS اختصاصی
DNS با DNS اختصاصی تفاوتهایی دارد که در ادامه آنان را بررسی میکنیم.
- بهبود عملکرد: سرورهای DNS اختصاصی معمولاً سریعتر و قابل اعتمادتر از سرورهای DNS سنتی هستند. این امر به این دلیل است که آنها با سایر کاربران به اشتراک گذاشته نمیشوند و معمولاً در نزدیکی مکان کاربر قرار دارند.
- افزایش امنیت: سرورهای DNS اختصاصی قابلیتهای امنیتی خاصی دارند که سرورهای دی ان اس عادی ندارند. این ویژگیها شامل پشتیبانی از DNSSEC، فیلتر کردن وبسایتهای مخرب و محافظت در برابر حملات مسمومیت کش DNS است.
- کنترل بیشتر: با سرورهای اختصاصی DNS میتوان کنترل بیشتری بر تنظیمات DNS داشت. به عنوان مثال، کاربران میتوانند انتخاب کنند که از کدام سرورهای DNS استفاده کنند، میتوانند رکوردهای DNS سفارشی ایجاد کنند و دسترسی به وبسایتها و دامنههای خاص را مسدود کنند.
نحوه تغییر DNS در ویندوز
برای تغییر DNS در ویندوز روی منوی استارت کلیک کنید. سپس روی Settings بزنید.
روی Network & Internet کلیک کنید.
روی Change adapter options در زیر Advanced network settings کلیک کنید.
حال روی اتصالی که میخواهید دی ان اس آن را عوض کنید، راست کلیک کنید. مثلاً اگر به وای فای وصل هستید، روی WiFi بزنید. اگر به Ethernet متصل هستید، روی آن راست کلیک کنید. حال روی Properties کلیک کنید.
سپس روی Internet Protocol Version 4 (TCP/IPv4) بزنید. حال روی Properties بزنید.
گزینه Use the following DNS server addresses را انتخاب کنید. حال آدرس دی ان اس جدید را در بخش Preferred DNS server وارد کنید. بهتر است DNS ثانویه را هم در بخش Alternate DNS server وارد کنید.
نحوه تغییر DNS در مک
برای تغییر DNS در مک از منوی اپل گزینه System Preferences را انتخاب کنید. روی گزینه Network کلیک کنید.
از منوی سمت چپ روی اتصال اینترنت خود کلیک کنید.
روی Advanced بزنید. سپس روی سربرگ DNS کلیک کنید.
روی + بزنید تا بتوانید سرور دی ان اس جدید را ثبت کنید. DNS را ثبت کنید و سپس روی OK بزنید. در آخر روی Apply بزنید.
نحوه تغییر DNS در لینوکس
برای تغییر DNS در لینوکس وارد ترمینال شوید. شپش دستور زیر را در حالت Root user mode وارد کنید:
rm -r /etc/resolv.conf
nano /etc/resolv.conf
سپس صفحهای باز میشود. دستورات زیر را وارد کنید:
nameserver 1.1.1.1
nameserver 1.0.0.1
سرورهای بالا به گوگل تعلق دارند. شما میتوانید هر سرور DNS دیگری را جایگزین کنید. حال برای ذخیره کردن و بستن فایل دکمههای Ctrl + X را بزنید. سپس Y را بزنید.
سپس دستور زیر را در ترمینال وارد کنید:
sudo chattr +i /etc/resolv.conf
پس از ذخیرهسازی، میتوانید دستگاه را ری استارت کنید یا از دستور زیر برای این کار استفاده کنید:
sudo /etc/init.d/networking restart
سخن نهایی
در این مقاله در مورد اینکه DNS چیست صحبت کردیم و انواع آن را بررسی کردیم. دی ان اس جز جداییناپذیر اینترنت است. کاربران هم میتوانند از بین سرورهای DNS موجود، بهترین مورد را انتخاب کنند و در دستگاه خود از آن استفاده کنند. نظر شما در این باره چیست؟ شما از کدام سرور DNS استفاده میکنید؟ لطفاً نظرات، پیشنهادات و تجربیات خود را در بخش دیدگاه با ما در میان بگذارید.