استفاده از فضای اینترنت امروزه همه گیر شدهاست و برای انجام تمام کارهای روزمره به نحوی از این فضا استفاده می شود. آنچه که خیلی از افراد از آن بی خبر هستند، زیرساختهای پایه و اصولی این فضا است. یکی از پایههای اینترنت، DNS است. ما به صورت روزمره مدام از آن استفاده میکنیم، اما کمتر کسی در مورد نحوه عملکرد و ماهیت آن اطلاع دارد. در ادامه در مورد اینکه سرور DNS چیست و چگونه به پیشبرد کارهای روزمره کمک میکند، میپردازیم.
برای اطلاع از اینکه سرور DNSچیست، ابتدا باید در مورد مفهوم DNSاطلاعات کافی داشته باشیم. فضای اینترنت، فضای کد گذاری است. در واقع همه اطلاعاتی که در این بستر ثبت میشوند، به صورت کد قرار داده میشوند. DNS مخفف Domain Name System است. به بیان ساده، این سیستم نام هر سایت را به صورت کد در فضای اینترنت ذخیره میکند. اجازه بدهید این مفهوم را از طریق یک مثال توضیح دهیم.
تصور کنید که شما با تعداد زیادی از افراد از طریق تلفن همراه در ارتباط هستید. مسلما برای ما به خاطر سپردن نام افراد بسیار راحت تر از شماره تماس آنهاست، به همین دلیل شمارههای تماس را با نام افراد در قسمت دفترچه تلفن همراه خود ذخیره میکنیم. برای برقراری تماس تلفنی، به دفترچه مراجعه کرده و نام فرد را جست و جو میکنیم، سپس تماس را برقرار میکنیم. درست است که ما ارتباط تلفنی را از طریق نام فرد ایجاد کردیم، اما تلفن همراه این تماس را از طریق شماره برقرار کردهاست. به این معنی که زبان موبایل برای برقراری ارتباط، عدد است و ما این اعداد را برای دسترسی راحت تر به کلمات تبدیل کردیم.
سرور DNS دقیقا مانند دفترچه تلفن عمل میکند و به آن دفترچه تلفن اینترنت گفته میشود. آدرس هر سایتی در فضای اینترنت در قالب عدد قرار میگیرد، و هر کدام با یک نام به صورت حروف ذخیره میشود که دسترسی کاربر به آن راحتتر باشد. وقتی شما آدرس یک سایت را در نوار آدرس وارد میکنید، سرور DNS مسئول پیدا کردن IP مناسب برای آن سایت است. مرور گر در ادامه با استفاده از آن آدرس با سرور اصلی ارتباط برقرار میکند تا به اطلاعات آن سایت دسترسی پیدا کند.
سرور دستگاهی است که برای ارائه خدمات به برنامههای دیگر اختصاص داده شده که به آنها “clients” یا مشتریان گفته میشود. سرور DNS ماشینی است که در اختیار پاسخ دادن به درخواستهای DNS است و به ما این امکان را میدهد که بتوانیم اطلاعات مورد نیاز خود را از طریق سایتهای مختلف به دست بیاوریم.
هنگامی که شما درخواست خود را به یک سرور DNS ارسال میکنید (سرور بدون کش)، به طور معمول 4 سرور باهم کار میکنند تا بتوانند پاسخ مناسب ایجاد کنند. برای تبدیل درخواست کلاینت یا مشتری به آدرس آی پی سایت، سرورهای recursive resolvers, root nameservers, TLD nameservers, authoritative nameservers با همکاری یکدیگر کار میکنند. DNS recursor که به آن DNS resolver هم گفته میشود، سروری است که درخواست DNS را از کلاینت دریافت میکند. یعنی وقتی آدرس سایت را در نوار آدرس وارد میکنیم، این درخواست ابتدا به این سرور منتقل میشود. در ادامه، این سرور مانند درخواست کننده عمل میکند و با سه سرور دیگری ارتباط برقرار میکند تا بتواند پاسخ مناسب را پیدا کرده و نمایش دهد. برای انجام این کار، مراحل زیر طی میشود:
ابتدا آدرس سایت که برای انسان قابل درک است تحویل DNS resolver داده میشود. این سرور، درخواست را به root server ارسال میکند. این سرور ، آدرس IP را تحت عنوان top-level domain (TLD) (مثلا .net یا .com) که اطلاعات domain را ذخیره میکند، به DNS resolver ارسال میکند.
در مرحله بعد، resolver این اطلاعات را به سرور TLD ارسال میکند. این سرور TLD را به آدرس آی پی قابل درک و ترجمه سرور authoritative nameserver تبدیل میکند و سپس آن را به resolver ارسال میکند. در نهایت، سرور resolver این آی پی آدرس را به authoritative nameserver ارسال میکند. این سرور نیز آدرس آی پی سرور اصلی را به سرور resolver ارسال میکند و از طریق آن، به کلاینت ارسال میشود.
طی این عملیات کلاینت میتواند از طریق آدرس آی پی به اطلاعات سایت مورد نظر خود دسترسی داشته باشد و آن را مشاهده کند. در واقع کلاینت با استفاده از این آی پی درخواست خود را به سرور اصلی سایت ارسال میکند و سرور اصلی، اطلاعات سایت مورد نظر مشتری را در اختیار آن قرار میدهد.
یکی از فرآیندهایی که باعث افزایش سرعت پاسخ سرور DNS به درخواستهای کلاینت خود میشود، کش DNS است. بعد از اینکه سرور resolver برای اولین بار آدرس آی پی یک سایت را به دست میآورد، آن را برای مدت زمان محدودی در کش خود ذخیره میکند. به این ترتیب، وقتی کلاینت دیگری نیاز داشت به اطلاعات همان سایت دسترسی داشته باشد، سرور بدون طی کردن مراحل کامل آی پی را در اختیار آن قرار میدهد. اگر این بازه زمانی محدود به پایان برسد، سرور باید دوباره تمام مراحل را برای پیدا کردن آی پی طی کند. به این بازه زمانی محدود که آدرس آی پی سایت داخل کش سرور قرار میگیرد، time-to-live (TTL) گفته میشود. این زمان برای هر سایت داخل DNS record ثبت میشود و معمولا بین 24 تا 48 ساعت است. این بازه زمانی باید محدود باشد، زیرا آدرس آی پی سایتها بعضی از اوقات تغییر پیدا میکند، در نتیجه نمیتوان همیشه با یک آی پی به سایت دسترسی پیدا کرد.
یکی از مسائلی که از اهمیت بسیار زیادی برخوردار است، حفظ و ایجاد امنیت برای سرور DNS است. همانطور که متوجه شدیم، وظیفه این سرور متصل کردن مرورگر به سایت مورد نظر است. اگر این سرور از امنیت کافی بهرهمند نباشد، میتواند مورد حملات سایبری قرار بگیرد و تنظیمات DNS را بهم بزند. در این مواقع، ممکن است شما آدرس سایت فروش لوازم الکتریکی را وارد کنید، ولی DNS شما را به سایت خدمات بیمه منتقل کند. در نتیجه محافظت از نفوذ ویروس و بدافزارها به این سرور اهمیت بسیار زیادی دارد.
این محافظت در سایتهای بانکی از اهمیت بیشتری برخوردار است. معمولا کلاهبرداران با هک کردن سرور DNS سایت مشابه سایت بانکی را در اختیار شما قرار میدهند. وقتی تراکنش انجام میدهید، اطلاعات شما در سایت ثبت شده و آنها میتوانند بعدا از آن استفاده کنند. شما میتوانید برای جلوگیری از بروز این مشکلات، برنامه آنتی ویروس قوی و معتبری نصب کنید تا در حد امکان از بروز این مشکل جلوگیری کنید. معمولا در صورت مواجهه با این سایتها، پیام «Invalid Certificate» را مشاهده میکنید.
گاهی مواقع شما آدرس سایت را وارد میکنید، اما امکان دسترسی به آن را ندارید و خطایی با عنوان “DNS server isn’t responding” دریافت میکنید. این پیام نشان دهنده این است که سرور قادر به پاسخگویی نیست. دلایل مختلفی برای عدم پاسخ دهی سرور DNS وجود دارد، میتواند به دلیل مشکل در اتصال اینترنت شما باشد، یا مشکل از طرف سرور باشد که با قطعی مواجه شده است. در صورت بروز مشکلات سرور میتوانید اقدامات زیر را انجام دهید:
اولین اقدام برای برطرف کردن مشکل عدم دسترسی به یک سایت، استفاده از یک مرورگر دیگر است. اگر مشکل دسترسی به سایت با تغییر مرورگر برطرف شد، مروگر قبلی خود را بررسی کنید. احتمالا نیاز به بهروزرسانی داشته باشد بعنوان مثال، گوگل کروم در مواقعی که نیاز به بهروزرسانی داشته باشد، در سمت راست و بالای مرورگر اعلام میکند.
اگر مشکل دسترسی به سایت با تغییر مرورگر برطرف نشد، قدم بعدی غیرفعال کردن firewall است. وظیفه اصلی این نرمافزار محافظت از سیستم شما است که این محافظت گاهی اوقات میتواند برای دسترسی به سایت ها مشکل ایجاد کند. با غیرفعال کردن firewall می توانید به سایت مورد نظر خود دسترسی پیدا کنید. حتما به خاطر داشته باشید که بعد از اتمام کار با سایت، آن را مجدد فعال کنید.
گاهی مواقع خاموش و روشن کردن مودم میتواند مشکل اتصال به اینترنت و دسترسی به سایت را برطرف کند. اگر با خاموش و روشن کردن مودم مشکل برطرف نشد، آن را از پریز برق جدا کنید، 30 ثانیه صبر کرده و مجدد به برق وصل کنید. با این کار، مودم شما reboot میشود و میتوانید با اتصال به اینترنت و از طریق مرورگر، به سایت مورد نظر خود دسترسی پیدا کنید.
اگر تمام اقدامات بالا را انجام دادید و همچنان مشکل دسترسی به سایت برای شما برطرف نشد، پاک کردن کش DNS میتواند راه حل مناسبی باشد. همانطور که در جریان هستید، آدرس آی پی سایتهای مختلفی که مکرر از آن استفاده میکنید در کش DNS شما ذخیره میشود. با پاک کردن کش میتوانید تا حدی مشکلات دسترسی به سایت را برطرف کنید.