دی ان اس (DNS) چیست؟ مزایا و معایب و نحوه کار آن
فهرست مطالب
بهترین سرور هایDNS عمومی رایگان
دی ان اس (DNS) چیست؟
مخفف Domain Name System است که به آن سیستم نام دامنه هم گفته میشود. تا بحال به این فکر کردید که چطوری وقتی شما اسم یک سایتی را سرچ میکنید صفحات اون سایت برای شما می اید؟ این کار توسط دی ان اس که مانند یک دفترچه تلفن که شما با سرچ اسم مخاطب خود به شماره آن دسترسی پیدا میکنید انجام میشود.
هر سایت یا دامنه مانند google.com ممکن هست یک یا چند DNS داشته باشد و شما با سرچ نام آن سایت، دی ان اس، نام سایت را به IP یا همان پروتکل اینترنت (Internet Protocol) تبدیل کرده و صفحه سایت را به شما طی انجام یک روند خاص به شما نشان می دهد.
مثلا برای سرچ سایت مستر خطیب به جای نوشتن آی پی 142.132.249.94 شما اسم یا همان دامنه سایت (mrkhatib.com) را سرچ میکنید و به این صورت شما میتوانید به سایت متصل شوید. به طور کلی و زبان ساده وظیفه DNS ترجمه نام دامنه به IP هست تا در سطح شبکه قابل تشخیص توسط دیتابیس ها باشند.
باید گفت که بدون وجود DNS هیچ وبسایتی پابرجا نخواهد ماند و تمام سایت ها و دامنه ها از این سیستم که در تمام جهان دیتابیس های آن هست دارند استفاده میکنند. در این مقاله، میخواهیم به طور کامل و با زبانی ساده دی ان اس را توضیح دهیم و نکاتی که قابل توجه هست را به شما بگیم، در ادامه این مطلب با ما همراه باشید
تاریخچه دی ان اس
در ابتدای دنیای اینترنت و شبکه ها و تعداد کم کاربران آن ، تایپ IP و حفظ آن راحت بوده تا به کامپیوتر های خاص یا سایت های خاصی مطابقت بدهند اما با گذشت زمان کمی و بیشتر شدن تعداد افراد و دستگاه های متصل به شبکه، تایپ و حفظ این آی پی ها برای کاربران کمی سخت بوده به همین دلیل آن ها میخواستند که بتوانند از طریق نام سایت به آن سایت متصل شوند چون حفظ نام راحتتر از حفظ IP بوده است.
موقع شروع به کار اینترنت الیزابت فاینلر از دانشگاه استنفورد به صورت شخصی تمام نام و آدرس ها را در یک لیست اصلی از هر دستگاههی که به اینترنت متصل بود اختصاص داد و به این فایل ها host.txt می گفتند.
اما در هنگام گسترش شبکه به میلیون ها دامنه این روش مناسب و پایدار نبود. در سال 1983 پاول موکاپتریس محقق دانشگاه کالیفرنیا جنوبی مسئول توسعه این روش شد و راه حل او ایجاد یک سیستم جدید به اسم DNS یا همان domain name system بود که امروزه همچنان باقی مانده است و به عنوان یک استاندارد به نام RFC 1035 در IETF نگهداری میشود.
DNS Server چیست؟
به صورت کلی دی ان اس سرور ( سرور دی ان اس، Name server یا Domain Name system server)، کامپیوترهایی هستند که درون خود دیتابیسی از IP آدرس ها و hostname های مربوط به آن هستند و مسئولیت آن ها این هست، وقتی یک نام دامنه را شما سرچ میکند وظیفه دارد تا آن را به IP آدرس ترجمه کند و شما را به سمت وبسایت درست هدایت کند.
این سرور ها در بیشتر مواقع به عنوان یک resolver یا همان تحلیلگر عمل می کنند. این سرور ها در رده های بالاتر که به آن ها سرور های ریشه یا root server گفته می شود تنها به تعداد 13 تا در جهان وجود و به طور کلی 13 آی پی ریشه داریم که توسط شرکت ها و کمپانی هایی خاصی مدیریت می شود.
یکی از آن ها کمپانی ICANN (THE Internet Corporation for Assigned Name and Number) هست. و در رده های پایین تر هرکدام از رووت سرور ها چندین سرور و آی پی دارن که توسط شرکت های ISP(Internet Service Provider) و خصوصی بزرگ مدیریت میشوند.
DNS چگونه کار میکند؟
نحوه کار DNS به صورت یک پروسه چهار مرحله ای هست که در آن چهار سرور باید هنگامی که یک URL در مرورگر تایپ میشود با همدیگر همکاری کنند تا نشانی IP به صورت صحیح ارائه شود و این فرایند تبدیل، به عنوان کوئری ( Query ) یا پرس و جو شناخته می شود. در ادامه با مراحل و نحوه عملکرد هر یک از سرور ها آشنا خواهیم شد:
- DNS recursor که به عنوان DNS resolver هم شناخته میشود، ابتدا کوئری ها را از DNS client که همان مرورگر شخصی خودمان هنگام سرچ هست، دریافت می کند و سپس با سرور های دیگر برای پیدا کردن آی پی درست ارتباط برقرار میکند و اگر در کش خود داشته باشند، آن را به سمت کلاینت ارسال میکنند تا بتواند با سرور آن سایت ارتباط بگیرد.
و اگر در کش های DNS resolver آن اطلاعات نبود، دی ان اس ریزولور، خود به عنوان یک دی ان اس کلاینت عمل می کند و کوئری ها را به سمت سه سرور دیگر ( Root nameserver، TLD nameserver، Authoritative nameserver ) ارسال میکند. - Root nameserver : یا همان root DNS server در بالای سلسله مراتب این پروسه وجود دارد و کار آن مثل بانکی از منابع است. در این سرور اطلاعاتی که ما به دنبال آن هستیم نگهداری نمی شود مثل IP آدرسی که با دامنه ما مطابق باشد. بلکه در این سرور هنگامی که درخواستی از دی ان اس ریزولور دریافت کند ابتدا می آید و top-level domain آن را تشخیص می دهید و سپس به DNS resolver می گوید که به سمت TLD nameserver برود.
- TLD nameserver سروری هست که وظیفه آن جمع آوری و مدیریت اطلاعات درباره نام دامنه هایی که از top-level domain یا همان TLD ( مثل .com، .org، .net، و …. ) های خاصی استفاده می کنند، است.اگر در این فرایند حل کننده یا کوئری، IP مدنظر خود را پیدا کرد، Root nameserver، دی ان اس ریزولور را به سمت آن TLD nameserver ارجاع خواهد داد و سپس TLD nameserver به resolver اطلاع خواهد داد که محل IP مطابق با دامنه ی تو، در Authoritative nameserver هست.
- Authoritative nameserver آخرین پروسه DNS resolution هست که تمام اطلاعاتی که ما در مورد دامنه مدنظر میخواهیم را در خود دارد مانند نشانی آی پی، و در آخر resolver این IP را جمع آوری کرده و به سمت کلاینت یا همان کامپیوتر ارسال می کند تا به سایت مدنظر متصل شویم.
و در آخر برای اینکه دفعات بعد مجدد بخواهیم به همان سایت متصل شویم بدون گذراندن این مراحل، DNS resolver به عنوان یک دی ان اس کش عمل کرده و این اطلاعات را درون خود به صورت موقت نگه می دارد.
مزایا و معایب دی ان اس چیست؟
مزایا دی ان اس (DNS)
-
سهولت در یادسپاری
یکی از مهمترین مزیت های دی ان اس استفاده راحت و آسان از اینترنت است که ما بجای حفظ کردن تمام IP های سایت ها به راحتی با حفظ نام آن میتوانیم به سایت ها دسترسی داشته باشیم.
-
قسمت اساسی و مهم از اینترنت
بدون وجود DNS اینترنت هیچ چیزی نیست و ارزشی ندارد به این دلیل که اینترنت برپایه وبسایت ها استوار است و وبسایت ها برپایه DNS server
-
عدم قطع شدن در صورت تغییر IP سایت
اگر به دلایلی یک سایت آی پی خود را تغییر دهد دی ان اس همچنان ثابت خواهد ماند و قطع نخواهد شد و این عمل به این خاطر است که DNS server ها مادام به صورت اتوماتیک در حال آپدیت شدن هستند.
-
سرعت بالا
به دلیل اینکه DNS server به اینترنت های بسیاری سریع متصل هستند، می توانند در کسری از ثانیه آی پی آدرس ها را پیدا کنند و در صورتی که آن آی پی توسط سرور دی ان اس یافت نشود آن درخواست ها به سمت نزدیکترین سرور دیگر فرستاده می شوند.
-
آسان و انعطاف پذیر
استفاده از DNS server راحت هست و ما تنها با به خاطر سپردن نام دامنه سایت ها می توانیم به تمام آن ها دسترسی داشته باشیم و تمام کار های دیگر را دی ان اس سرور خود انجام می دهد.
-
داشتن لود بالانسینگ ( Load balancing )
اگر هر سرور DNS تعداد زیادی درخواست دریافت کند، درخواستهای جدید به سرور نزدیکتر هدایت میشوند. این به این معنی است که توازن بار توسط سرورها انجام میشود.
-
وجود دو آدرس سرور DNS برای هر سایت
هر وب سایت دو آدرس سرور دی ان اس دارد. اگر یکی از آدرسها خراب شود، آدرس دیگر مسئولیت تبدیل نام دامنه به آدرس IP را بر عهده میگیرد. یک سرور نامگذاری اصلی و دیگری فرعی است. اگر سرور نامگذاری اصلی خراب شود، درخواست به سرور نامگذاری فرعی میرود. با استفاده از دو سرور نامگذاری دامنه، وبسایت به خوبی کار خواهد کرد.
معایب دی ان اس (DNS)
- قابلیت هک شدن
این امکان وجود دارد که هکر ها برای کلاه برداری و فریب دادن افراد با جایگزین کردن آدرس اصلی به آدرس های مخرب هدایت شوند. همچنین وجود بد افزار باعث تغییر سرور دی ان اس شده و با وارد کردن URL ممکن است شما را به یک سایت دیگر و متفاوت هدایت کند و یا به یک وبسایت که به نظر وبسایت اصلی است منتقل کنند مانند یک وبسایت درگاه پرداخت بانکی - کنترل شدن توسط یک کمپانی ( ICANN )
تمام سرورهای DNS توسط ICANN که یک سازمان غیرانتفاعی بوده و متعلق به یک کشور است، کنترل می شود. اگر به هرگونه ای قوانین و مقررات کشور تغییر کند، مسئولیت ICANN هم ممکن است تغییر کند. و این تغییرات ممکن است باعث ایجاد اختلال یا قطع ارتباط دیگر کشور ها به شبکه های اینترنتی می شود. - امکان قطع شدن در صورت حملات ویروسی
فرض کنید سرورهای DNS حمله ویروسی میبینند، در این صورت وبسایتهای مرتبط با سرور DNS هم بارگذاری نمیشوند. این یک مسئله بسیار خطرناک است زیرا اگر هزاران وبسایت متوقف شوند، کسب و کار صاحبان وبسایت آسیب میبیند. - سخت بودن در عیب یابی
مشکل تعمیر سرور DNS است. اگر هر خطایی در سرور DNS رخ دهد، رفع آن فرآیندی دشوار است. این به این دلیل است که تمام سرورهای DNS به یکدیگر متصل هستند.
بهترین سرور های دی ان اس (DNS) عمومی رایگان
Cloudflare:(1.1.1.1)
Google:(8.8.8.8)
OpenDNS:(208.67.22.222 ، 8.8.4.4 )
Quad9: ( 9.9.9.9 ، 149.112.112.112 ، 208.68.220.220 )
DNS Cache چیست؟
حافظه نهان DNS (همچنین به عنوان حافظه نهان DNS resolver شناخته میشود) یک حافظه موقت DNS بر روی یک دستگاه است که شامل رکوردهای دی ان اس و نامهای دامنهای است که قبلاً بازدید شدهاند. این رکوردها را بر اساس زمان معتبر بودن آنها (TTL) نگه میدارد.
هر بار که یک وبسایت را بازدید میکنید، آدرسهای آن در این پایگاه داده موقت رکوردها ذخیره میشود تا بازدید بعدی راحتتر شود.
در اصل، حافظه نهان دی ان اس نشان میدهد که دستگاه شما چگونه تلاش میکند تا در زمان صرفه جویی کرده و با پاسخ دادن به یک کوئری با یک رکورد DNS که از قبل درون حافظه نهان دی ان اس موقت قرار دارد، مراحل طولانی یک جستجوی DNS را نادیده بگیرد.
جمع بندی
در این مقاله یاد گرفتیم که DNS یا همان سیستم نام دامنه پروتکلی است که نام دامنه را به IP تبدیل می کند و این کار توسط سرور هایی که به آن ها دی ان اس سرور می گویند انجام می شود و این سرور ها مانند دفترچه تلفن عمل کرده و آی پی و نام دامنه ها را در حافظه های خود نگهداری می کند.
این سرور ها در رده های بالا به تعداد 13 تا در کل جهان وجود دارد که به آن ها Root server هم گفته می شود و توسط کمپانی ICANN مدیریت می شود. روش کار و DNS lookup توسط 4 سرو (ِDNS resolver، Root nameserver، TLD nameserver، Authoritative nameserver) به صورت سلسله مراتبی انجام می شود.
همچنین آموختیم هنگامی که دوباره خواستیم به آن سایت مدنظر وصل بشیم سرور دی ان اس ریزولور اطلاعات و آی پی آن سایت را درون کش خود به صورت موقت نگهداری می کند تا ما به راحتی و اتلاف وقت کمی به سایت یا دامنه خود متصل شویم.
اگر شما جز افرادی هستید که به مباحث اکتیو و پسیو شبکه علاقه دارید و مشتاق هستید که در حوزه ی سخت افزار و شبکه های کامپیوتری، اطلاعات کسب کنید، محتوای تیم مستر خطیب را دنبال کنید و با ارائه نظر، ما را در بهبود و ارتقای کیفیت مطالب یاری کنید.
هم چنین در دوره مستر کلاس آی تی، علاوه بر آشنایی کامل و کاربردی با تجهیزات و شبکه های کامپیوتری، نحوه اجرا و کانفیگ کردن آنها را هم یاد میگیرید تا همه چیز را برای ورود به بازار شبکه به همراه داشته باشید.
دیدگاهتان را بنویسید