DNS چیست و چگونه کار میکند؟ DNS چه کاربردی در شبکه دارد؟
همانطور که احتمالا میدانید، اینترنت با استفاده از IP ها کار میکند. یعنی برای اینکه یک وب سایت را مشاهده کنیم باید به آی پی سرور آن مراجعه کنیم. دی ان اس دقیقا همین کار را برای ما انجام میدهد. در این مقاله قصد داریم به معرفی و بررسی آن بپردازیم و بگوییم که سرویس DNS چیست و چگونه کار میکند.
نام دامنه یا دامین
قبل از اینکه نام دامنه ها به این صورت رواج پیدا کند، برای مشاهده یک سایت باید IP آن سایت در نوار مرورگر نوشته می شود. مثلا برای مشاهده google.com باید اعداد ۱۷۲.۲۱۷.۰.۰ که IP گوگل است در مرورگر نوشته میشد.
پس از گسترش اینترنت و به وجود آمدن تعداد بیشمار سایت، استفاده از IP و حفظ کردن آن برای مشاهده سایت، به شدت سخت شد و نام دامنه به وجود آمد. نام دامنه همان آدرس سایت است که در نوار مرورگرتان وارد میکنید و با زدن اینتر به مقصد دلخواه میرسید. مثلا نام دامنه دانشنامه کیمیاهاست kimiahost.com/blog است.
البته سرورها برای برقراری ارتباط بین سایتها و کاربرانشان از IPها استفاده میکنند و کاری به نام دامنه ندارند. همین موضوع باعث به وجود آمدن سیستم نام دامنه یا DNS شد.
DNS چیست؟
برای درک بهتر این سوال، ابتدا به تعریف DNS که مخفف Domain Name System یا سیستم نام دامنه می پردازیم. DNS در واقع یک استاندارد تعریف شده برای مدیریت نام وب سایتها و دامنه های موجود در اینترنت و تحت وب است.
به زبان ساده، DNS مانند دفترچه تلفنی آنلاینی است که شما را به مخاطب مورد نظرتان متصل می کند. در واقع DNS آدرس IP هر سایت را ذخیره می کند و به این ترتیب پس از وارد کردن نام دامنه در نوار مرورگر، DNS آن را با IP درست مطابقت می دهد و شما به سایتی که مدنظرتان است، هدایت می شوید.
DNS چگونه کار می کند؟
پس از اینکه متوجه شدیم DNS چیست، در مرحله بعد به شما نشان میدهیم که دی ان اس چگونه کار می کند.
وقتی دامنهای مثل kimiahost.com را در نوار مرورگر خود وارد میکنید، کامپیوتر شما ۷ مرحله را طی میکند تا بتواند یک آدرس وب قابل خواندن توسط انسان را به یک آدرس IP که برای ماشینها (اینترنت) مناسب است تبدیل کند.
مرحله ۱. درخواست اطلاعات
فرآیند هنگامی آغاز می شود که شما نام دامنه kimiahost.com را در مرورگر وب سایت خود وارد میکنید. اولین جایی که کامپیوتر شما در آن جستجو میکند، حافظه Cache یا حافظه نهان DNS محلی است. این Cache حاوی اطلاعات آخرین وب سایتهایی است که از آنها بازدید کردهاید. اگر دستگاه شما نتواند پاسخ خود را در کش محلی پیدا کند، باید برای یافتن آن نام دامنه شروع به جستوجوی DNS کند. دی ان اس، در اینجا مانند یک واسطه عمل میکند.
مرحله ۲. پرسش از سرورهای DNS بازگشتی
اگر اطلاعات در کش محلی ذخیره نشده باشند، کامپیوتر شما سرورهای DNS بازگشتی در سرویس ارئه دهنده اینترنت یا (ISP) را جستجو میکند. آنها به جای شما جستجوی دی ان اس، را انجام میدهند. سرورهای پاسخ دهنده دارای حافظه کش مخصوص به خود هستند. از این رو، بیشتر وقتها کار در همینجا به پایان میرسد و شما بهعنوان کاربر وارد سایت مدنظر خواهید شد.
مرحله ۳. پرسش از سرورهای نام اصلی
اگر سرورهای سرویس ارائه دهنده نتوانند پاسخ شما را پیدا کنند، به جستجو در سرورهای نام اصلی می پردازند. سرور نام (Name Server) به سوالات (Query) در مورد نام دامنه پاسخ میدهد. سیزده سرور نام اصلی بهنوعی همانند یک صفحه سوئیچ تلفن برای سیستم DNS عمل میکنند.
ابته باید به این نکته توجه کرد که سرورهای نام اصلی، پاسخ سوالات را نمیدانند. اما میتوانند جستجو را به سمتی هدایت کنند تا جواب سوالتان را پیدا کنید.
مرحله ۴. پرسش از سرورهای نام TLD
سرورهای TLD از سمت راست دامنه ایی که نوشته شده به سمت چپ شروع به خواندن کرده و جستجوی ما را به سمت سرورهای نام پسوند دامنه سطح اول (TLD) هدایت میکنند. هر پسوند دامنه سطح اولی (TLD ) مثل com و net مجموعهای از سرورهای نام مختص به خود را دارند که مانند یک مسئول پذیرش برای هر TLD عمل میکند. هرچند که این سرورها اطلاعات مورد نیاز ما را ندارند، اما به طور مستقیم شما را به سرورهای حاوی اطلاعات ارجاع میدهند.
مرحله ۵. پرسش از سرورهای DNS معتبر
سرورهای نام TLD بخش بعدی درخواست ما را نگاه میکنند و جستجوی ما را به طور مستقیم به سرورهای نام مربوط به این دامنه خاص برای مثال kimiahost.com هدایت میکنند. این سرورها در مورد اطلاعات هر دامنه خاص مسئول هستند و در رکوردهای DNS ذخیره میشوند.
سرورهای معتبر DNS، سوابق مربوط به نام دامنه لازم برای وضوح دی ان اس، را نگه میدارند. این سوابق معمولا در یک پرونده توسط مالک دامنه یا یک مدیر فنی نگهداری میشود.
مرحله ۶. بازیابی رکورد Record Retrieval
سرورهای نام پاسخ دهنده، A Recordمربوط به دامنه kimiahost.com را از سرورهای نام معتبر میپرسند و این رکورد را در حافظه کش یا نهان محلی ذخیره میکنند. از این پس اگر شخصی رکورد هاست این سایت را درخواست کند، سرورهای نام بازگشتی پاسخ او را به صورت ذخیره در حافظه کش دارند و دیگر نیازی به اجرای فرایند جستجو نیست.
همه رکوردها دارای مقداری به نام time-to-live یا (TTL) هستند که به نوعی تاریخ انقضا رکود می باشد. پس از مدتی سرورهای نام بازگشتی برای اینکه مطمئن شوند که تاریخ مصرف رکوردها تمام نشده است باید نسخه جدیدی از این رکوردها را درخواست کنند.
A Record: یکی از انواع رکوردهای سیستم DNS است. این نوع از رکوردها وظیفه دارند تا آدرس که یک دامنه را به آدرس IP فیزیکی سرور یا هاستی که دامنه را میزبانی می کند، اتصال دهند.
در اینجا چون شما قصد دارید آی پی kimiahost.com را بدانید، A Record را از سرور های نام معتبر (Name Server) درخواست میکنید.
مرحله ۷. دریافت پاسخ
سرور بازگشتی، A Record را در حالی که پاسخ در آن قرار دارد، به کامپیوتر شما بازمیگرداند. کامپیوتر شما رکورد خود را در حافظه کش ذخیره میکند و آدرس IP را از رکورد میخواند. سپس این اطلاعات را به مرورگر منتقل میکند. در ادامه مرورگر یک اتصال به وب سرور ایجاد کرده و شروع به دریافت اطلاعات وب سایت میکند. به این ترتیب این فرایند به پایان میرسد. البته کل این فراید از ایتدا تا انتهای آن فقط در حد چند میلی ثانیه به طول می انجامد.
مزایای DNS چیست؟
مهمترین و اصلی ترین مزیت DNS تسهیل استفاده از اینترنت برای کاربران است. در حالی که باید برای مشاهده سایتها تمام آدرس های IP را حفظ می کردیم، با دی ان اس دیگر نیازی به این کار نیست.
دومین مزیت DNS ثبات آن است، چرا که ممکن است به دلایل مختلفی آدرس های IP تغییر کنند، از این رو سیستم DNS وظیفه دارد تا آدرسهای IP را به روشی بسیار سریع و ثابت، به روز و دسترسی ما به وبسایتها را آسان کند.
سومین مزیت آن این است که میتواند امنیت زیرساخت را ارتقا بخشد، همچنین میتواند به روزرسانیهای ایمن پویا را فراهم کند میتواند پیامها را با خرابی صفر به کاربران تحویل دهد.
معایب DNS چیست؟
یکی از اصلیترین معایب آن حمله دی ان اس است. DNS Attack زمانی اتفاق میافتد که یک هکر یا مهاجم اینترنتی، آدرس DNS اصلی را با یک آدرس فیک و تقلبی جایگزین میکند. این امر باعث میشود که مخاطبان یک وب سایت بدون آن که بدانند وارد سایت های اشتباه و مخرب شوند.
در مواردی مانند وب سایت های بانکی یا فروشگاهی، کلاهبرداران میتوانند با استفاده از بدافزارها نام کاربری و رمزعبور شما را ضبط کند و اطلاعاتی که برای دسترسی به حساب بانکی شما مورد نیاز باشد را به دست افراد سوءاستفادهگر برسانند.
برای جلوگیری از چنین مشکلاتی، لازم است که برنامههای آنتی ویروس معتبر را بر روی سیستم خود نصب کنید و از ورود به سایتهایی که ظاهر متفاوتی با وبسایت درخواستی شما دارند پرهیز کنید. همچنین از وارد کردن اطلاعات شخصی و بانکی خود در سایتهای نامعتبر خودداری کنید.