هنگامی که میخواهید یک سایت اینترنتی را باز کرده و آن را ببینید، تنها مرورگر سیستم را باز کرده و آدرس سایت را وارد میکنید. خود مرورگر سایت را برای شما باز کرده و اطلاعات آن را نمایش میدهد. اما این تنها ظاهر قضیه است، اتفاقات زیادی در پشت پرده در حال وقوع است که شما نمیبینید.
از جمله اینکه آدرس سایت شما باید به یک آدرس آی پی تبدیل شود تا کامپیوترها بتوانند از آن استفاده کنند؛ اتفاقی که با کمک سیستم DNS میافتد و کار اتصال به اینترنت را بسیار راحت کرده است. در این مقاله از وب 24 قصد بررسی DNS را داریم. اگر شما میخواهید بدانید DNS چیست و چگونه کار میکند، با ما همراه باشید.
DNS (دی ان اس) چیست؟
برای پاسخ به اینکه DNS چیست، ابتدا باید به معنای لغوی آن اشاره داشته باشیم. DNS مخفف عبارت Domain Name System است و به عنوان سیستمی شناخته میشود که نام دامنه سایتها را به یک آی پی قابل استفاده توسط مرورگرها تبدیل میکند. این آی پی توسط مرورگرها برای بارگذاری صفحات اینترنت استفاده میشود. هر وسیلهای که به اینترنت متصل میشود یک آدرس آی پی مختص به خود دارد. از گوشیهای موبایل گرفته تا وبسایتهای بزرگ هرکدام این آیپی را دارند و برای ارتباط با یکدیگر از همین آدرس عددی استفاده میکنند.
معرفی خدمات وب24: طراحی سایت با کدنویسی اختصاصی
در واقع هنگامی که شما مرورگر سیستم خود را باز کرده و قصد بازدید از یک وبسایت را دارید، باید همین آدرس آی پی را وارد کنید؛ اما کمتر کسی است که بتواند این همه اعداد را برای همه سایتها به خاطر بسپارد. به جای این کار شما معمولاً آدرس url سایت را به صورت example.com وارد کرده و با استفاده از آن وارد سایت میشوید. در این میان اما آدرس url به صورت خودکار به آدرس آی پی تبدیل شده است؛ DNS سیستمی است که این کار را برای شما انجام میدهد. یعنی آدرسهای قابل خواندن برای کاربران را به آدرس آی پی قابل استفاده برای کامپیوترها تبدیل میکند.
DNS Server چیست؟
DNS Server هم در واقع یک کامپیوتر است که پایگاه دادهای شامل کلیه آیپیهای مرتبط با هر آدرس وبسایت را دارد. DNS سرور را میتوانید به عنوان دفترچه تلفن اینترنت در نظر بگیرید، جایی که به ازای هر آدرس سایت یک آدرس آی پی وجود دارد. وقتی شما آدرس یک وب سایت مثل www.web24.com را در مرورگر سیستم خود وارد میکنید، DNS شروع به جستجو کرده و آدرس آی پی مختص آن را پیدا میکند. این آدرس همان جایی است که سیستم کاربر میتواند به اطلاعات سایت دسترسی داشته باشد. درواقع با پیدا کردن آدرس آی پی، ارتباط کاربر با وبسایت مربوطه برقرار میشود.
کاربرد و دلیل اهمیت DNS چیست؟
بسیاری از کاربران میپرسند اهمیت استفاده از سامانه نام دامنه یا همان DNS چیست؟ از آنجا که سیستمهای کامپیوتری برای پیدا کردن یکدیگر در فضای اینترنت نیاز به آدرس آی پی دارند، وجود سیستم DNS اهمیت زیادی برای برقراری اتصال به اینترنت دارد. تصور کنید برای ورود به هر سایت به جای آدرس url آن باید یک عدد هشت یا نه رقمی را حفظ میکردید؛ اعدادی که خیلی هم شبیه به یکدیگر هستند و شاید هرکدام تنها در یک رقم با دیگری تفاوت داشته باشد. آیا در این وضعیت امکان وبگردی راحت برایتان فراهم میشد؟
معرفی خدمات وب24: طراحی سایت فروشگاهی با کد نویسی اختصاصی
DNS مثل یک دفترچه تلفن برای اینترنت است. اگر شما نام شخصی را میدانید و میخواهید شماره تلفن او را بیابید کافیست که به دفترچه تلفن خود نگاهی بیاندازید. DNS همین خدمات را در اینترنت ارائه میدهد. استفاده از سیستم DNS باعث شده ارتباط انسان با دنیای سایتها بسیار ساده و سریع برقرار شود. علاوه بر این هر سایت به جای آنکه آدرس خود را یک عدد قرار دهد، میتواند از نام برند خود برای سایت استفاده کرده و از مزایای بازاریابی و برندسازی آن بهرهمند شود.
مزایا و معایب DNS چیست؟
در بررسی مزایا و معایب DNS باید یک بار دیگر اشاره کنیم که DNS باعث شده سرعت مشاهده وبسایتها از آن چیزی که باید باشد، بیشتر شود. منظور از چیزی که باید باشد، حالتی است که باید آدرس آی پی عددی هر سایت را شخصاً پیدا کرده و در مرورگر سیستم وارد میکردید. DNS بسیاری از سختیهای این مسیر را از میان برداشته و همه چیز را به صورت خودکار بر اساس یک سیستم از پیش تعیین شده، انجام میدهد. همچنین در صورت تغییر هاست سایت، میتوانید بدون تغییر دامنه به فعالیت ادامه دهید، زیرا تنها آدرس آی پی متناظر دامنه و هاست تغییر خواهد کرد. در صورتی که dns آدرس وجود نداشت، باید برای تغییر هاست نام دامنه را هم تغییر میدادید.
البته با وجود مزیتی که DNS در سادگی و سرعت بخشیدن به فرایند باز کردن سایتها ایجاد کرده، اما میتواند مشکلات امنیتی هم در این مسیر ایجاد کند. مسیری که برای پیدا کردن آی پی یک سایت و مطابقت آن با آدرس url باید طی شود، فرصت خوبی برای هکرها فراهم میکند. هکرها میتوانند در این مسیر رخنه کرده و اطلاعاتی تقلبی در اختیار کاربر قرار داده و اطلاعات حساس او را بدست آورند.
معرفی خدمات وب24: تولید محتوای سئو شده
DNS چگونه کار می کند؟
به طور معمول هنگامی که کاربر یک آدرس url را در مرورگر خود وارد میکند، از چهار سرور باید عبور کند تا آی پی متناظر آن فراهم شود. این چهار سرور با یکدیگر کار میکنند تا آی پی موردنظر را پیدا کنند. در ادامه عملکرد این چهار سرور را بررسی میکنیم:
گام 1: درخواست اطلاعات
پردازش زمانی آغاز میشود که شما از کامپیوتر خود برای یافتن IP یک دامنه استفاده میکنید. مثلا هنگامیکه شما به وب سایت web24.ir مراجعه میکنید، اولین جایی که کامپیوتر شما بدنبال آن میگردد DNS cache local است. Local DNS Cache در کامپیوتر شما آدرس وب سایتهایی که اخیرا وارد آنها شدهاید را برای شما نگهداری میکند. این آدرسها شامل IP آدرس این سایتها نیز است. (اگر سرور سایتی قبل از اینکه شما این آدرسها را بروز کنید تغییر کند، شما دیگر قادر به دسترسی به سایت نیستید و باید اطلاعات ثبت شده در Local DNS Cache را توسط فرمان ipconfig /flushdns در نرم افزار Command Prompt پاک کنید). اگر کامپیوتر شما اطلاعات سایت را از قبل ذخیره نکرده باشد، کامپیوتر شما باید از DNS query برای یافتن IP سایت استفاده کند. (در نرم افزار Command Prompt دستور nslookup web24.ir استفاده کنید.)
گام 2: پرسش از recursive DNS servers
اگر اطلاعات سایت در روی سیستم شما ذخیره نشده باشد. کامپیوتر با جستجو در ISP سیستم recursive DNS servers سعی در یافتن Ip آدرس میکند. اینکار از جمله عملیاتهایی است که بصورت اختصاصی برای یافتن DNS یک سایت انجام میپذیرد. Recursive serversها کش خاص خود را دارند، بنابراین جستجو معمولا همینجا ختم میشود و شما IP سایت را به دست خواهید آورد.
معرفی خدمات وب24: طراحی سایت با وردپرس و کدنویسی
DNS recursor: این نوع سرور که به بازگشتکننده یا سرور حلکننده معروف است، درخواست کاربر را دریافت میکند، سپس با دیگر سرورها ارتباط برقرار میکند تا آی پی موردنظر را پیدا کند. در واقع پس از اینکه این سرور درخواست را از سوی کاربر دریافت کرد، درست مثل یک کاربر عمل میکند. یعنی شروع به ارسال درخواست برای دیگر سرورها میکند تا آی پی موردنظر را بدست آورد.
گام 3: پرسش از root nameservers
اگر سرورهای recursive servers آدرس DNS سایت شما را نداشتند، کامپیوتر شما از root nameservers برای یافتن IP آدرس سایت استفاده میکند. یک nameserver یک کامپیوتر است که به سؤالات پرسیده شده درباره نام دامنهها مانند IP addressها پاسخ میدهد. سیزده تا root nameservers مانند سیستم سویچنگ تلفن برای DNS عمل میکنند. آنها شاید ندانند که IP سایت مورد نظر شما چیست اما آنها میدانند که پاسخ این سؤال را از کجا بیابند.
Root nameservers: این سرور اساساً برای منطقه اصلی DNS در نظر گرفته شده است. وظیفه آن پاسخگویی به درخواستهایی است که به منطقه اصلی DNS ارسال میشود. این سرور برای پاسخ به درخواستها اقدام به ارسال لیستی از سرورها میکند که با TLD صحیحی مطابقت دارند.
گام 4: پرسش از TLD nameservers
root nameserversها ابتدا به اولین بخش از سؤال ما میپردازند. آنها آدرس سایت را از راست به چپ میخوانند. حالا آنها میتوانند پرسش شما را به Top-Level Domain (TLD) nameservers منتقل کنند. هر TLD مانند com ،.org ،.ir. برای خود یک سری nameservers مخصوص به خود دارد. این nameserversها مانند منشی تلفنی TLD عمل میکنند. آنها اطلاعات مد نظر ما را ندارند ولی میتوانند ما را به سروری که این اطلاعات را دارد منتقل کنند.
TLD nameservers: این سرور آدرسهای آیپی مربوط به مرحله دوم دامنه را که در TLD وجود داشته باشند، نگه میدارد. این سرور آدرس آیپی وبسایت را منتشر کرده و درخواستی به nameservers ارسال میکند.
خرید رپورتاژ آگهی از وب24
گام 5: پرسش از authoritative DNS servers
TLD nameservers بخش دوم از درخواست ما را مورد مطالعه قرار میدهند و ما را برای این دامنه خاص مستقیماً به nameservers responsible مربوطه هدایت میکنند. این authoritative nameserversها مسئول پاسخگویی درباره تمام اطلاعات مربوط به دامنهها هستند. این اطلاعات در DNS recordsها ذخیره شده است. تعداد رکوردهای اطلاعاتی در این قسمت بسیار زیاد است و هر رکورد مسئول نگهداری نوع خاصی از داده است. در این مثال ما به دنبال اطلاعات IP address برای سایت www.web24.ir میگردیم. بنابراین از authoritative nameserver برای Address Record (A) یا رکورد آدرس پرس و جو میکنیم.
Authoritative nameservers: این سرور جایی است که پاسخ واقعی را به درخواست DNS شما ارسال میکند. خود این سرورها به دو نوع تقسیم میشوند؛ سرور نام اصلی و سرور نام ثانویه. سرور نام اصلی، به عنوان منبع اصلی پاسخها فعالیت میکند و سرور ثانویه، به عنوان یک پشتیبان برای سرور اصلی فعالیت دارد که یک کپی از آن به شمار میرود. در واقع در صورت از دسترس خارج شدن سرور اصلی، سرور ثانویه وارد عمل میشود.
گام 6: دریافت اطلاعات رکورد
سرورهای recursive در پاسخ به سوال ما رکورد A را برای سایت Web24.ir بازگردانی میکنند. این اطلاعات از سرورهای authoritative nameservers دریافت شده است و رکورد اطلاعات مد نظر ما در کش سیستم سرورهای recursive ذخیره میشود. اگر کاربر دیگری برای سایت web24 درخواست IP Address بدهد، اینبار سرورهای recursive این اطلاعات را در خود خواهند داشت و به کاربر پاسخ خواهند داد و نیازی به تکرار تمام مراحل پردازش ذکر شده در بالا نیست. هر رکورد اطلاعات یک مقدار time-to-live یا زمان حیات دارد. درواقع چیزی مانند تاریخ انقضاء، هنگامیکه این زمان به اتمام برسد، سرور های recursive باید اطلاعات رکوردهای خود را از نو درخواست کنند تا مطمئن شوند که اطلاعات ذخیره شده در رکوردها منقضی نشده باشد.
گام 7: دریافت پاسخ
سرورهای recursive رکورد A را به کامپیوتر شما ارجاع خواهند داد. کامپیوتر شما نیز این اطلاعات را در کش خود ذخیره میکنند. سپس از این اطلاعات IP Address خوانده شده و به مرورگر شما انتقال داده میشود. سپس مرورگرها با webserver ارتباط برقرار کرده و اطلاعات سایت را به نمایش میگذارند.
تمام این مراحل از ابتدا تا انتها، تنها چند میلی ثانیه برای پردازش زمان نیاز دارد.
موارد امنیتی DNS
مسیری که سیستم DNS برای پیدا کردن آیپی یک سایت طی میکند، فرصت مناسبی برای هکرها فراهم میکند تا کاربر را تغییر مسیر بدهند. در این حملات هکرها میتوانند کاربر را از مقصد اصلی خود به یک کپی تقلبی از آن هدایت کرده و اطلاعات او را سرقت کنند. برای مثال در این حالت هکرها میتوانند اطلاعات کارت بانکی کاربر را بدست آورده و حساب او را خالی کنند. البته با رعایت موارد امنیتی DNS میتوان از این حملات جلوگیری کرد. اگر میپرسید بهترین راه بالا بردن امنیت DNS چیست، لازم است بدانید یکی از بهترین راهها برای بالا بردن امنیت DNS، استفاده از پروتکل DNSSEC است. این پروتکل میتواند امنیت لازم را حین انتقال اطلاعات بین سرورهای مختلف تأمین کند.
پیشنهاد مطالعه: هک کردن سایت چگونه صورت میگیرد؟
علاوه بر این اقدامات دیگری هم میتوان برای بالا بردن امنیت سیستم دی ان اس انجام داد. از جمله این اقدامات تأمین زیرساختهای لازم برای DNS است. در صورتی که سرویس DNS توان پاسخگویی به تعداد زیادی درخواست همزمان را داشته باشد، امکان حمله به آن به روش ddos کمتر میشود. در این نوع حمله تعداد زیادی درخواست به سرورها ارسال میشود تا آنها را از کار بیندازد. با بالا بردن ظرفیت پاسخگویی آنها میتوانید بر این حملات غلبه کنید.
Anycast routing هم روشی است که به شما برای غلبه بر حملات ddos کمک میکند. این روش اجازه میدهد چند سرور یک آی پی را به اشتراک بگذارند. در نتیجه اگر یکی از سرورها از کار بیفتد، سرورهای دیگری برای پاسخگویی به درخواستها وجود دارند. اما علاوه بر این روشها میتوانید از فایروال DNS هم برای بالا بردن امنیت آن استفاده کنید.
جمعبندی
در این مقاله سعی کردیم به سؤال DNS چیست، به طور مفصل و کامل پاسخ دهیم. سیستمی که به عنوان یک دفترچه تلفن برای اینترنت کار کرده و برای هر سایت، آدرس آی پی متناظر آن را پیدا میکند. از آنجا که کامپیوترها در اینترنت برای برقراری ارتباط با یکدیگر از آدرس آی پی استفاده میکنند، وجود چنین سیستمی اهمیت زیادی پیدا کرده است، چراکه اگر DNS وجود نداشته باشد برای ورود به هر سایت باید آدرس عددی آی پی آن را در مرورگر سیستم خود وارد کنید.