هر سایت اینترنتی روی سروری( Server ) یا هاستی که به اینترنت متصل است میزبانی میشود. اتصال به هاست یا سرورهای اینترنتی تنها با دانستن IP این سیستمها امکان پذیر است. بنابراین برای اینکه بتوانیم محتوای یک سایت مانند گوگل را مشاهده کنیم، لازم است تا شمارهی IP سرور آن را که شامل چهار عدد مانند 216.58.209.206 میباشد به خاطر بسپاریم.
با توجه به مشکل بودن این کار، طراحان اینترنت، سیستمی که بتواند این مشکل را حل کند، ابداع کردند. به جای حفظ کردن IP هر سرور یا هاست، کافی است تا نامی به این سیستم اختصاص دهیم. برای مثال نشانی google.com را به 216.58.209.206 اختصاص خواهیم داد.
تبدیل نامهای اختصاص داده شده به هر هاست نیازمند یک پایگاه دادهی مرکزی است که هر کاربر لازم است پیش از باز کردن سایت مورد نظر خود، ابتدا IP هاست هدف را از این پایگاه داده استخراج کند و سپس با استفاده از IP یافته شده، به سایت مورد نظر متصل شود.
تبدیل نام سایت به نشانی IP یا به عبارت دیگر تبدیل google.com به 216.58.209.206 به صورت خودکار توسط مرورگر با اتصال به پایگاه دادههای نامهای اینترنتی که DNS Server ( Domain Name System Server ) نام دارند انجام میشود.
به دلیل زیاد بودن تعداد سایتهای اینترنتی، تعداد DNS Serverها نیز زیاد هستند. هر کاربر بر اساس منطقهی جغرافیایی که در آن واقع شده به نزدیکترین DNS Server متصل میشود. DNS Serverها میتوانند با یکدیگر ارتباط داشته باشند و یکدیگر را از آخرین ردیفهای ثبت شده در پایگاه دادهی نامهای اینترنتی باخبر کنند.
به طور کل DNS و DNS Server چگونه کار می کند؟ برای پاسخدهی به سوال فوق بهتر است ابتدا تعریفی از DNS یا Name Server ارائه دهیم:
DNS چیست؟
دیاناس در واقع یک استاندارد تکنولوژی است که برای مدیریت نام وبسایتها و دامنههای موجود در اینترنت و تحت وب استفاده میشود.
به زبان سادهتر DNS را به یکی از روشهای زیر میتوان تعریف کرد:
– سختافزار و یا نرمافزاری که در یک شبکه رایانهای جهت پاسخگویی به درخواستهای موجود تحت شبکه راهاندازی شده است.
– سیستمی که به کاربر اجازه میدهد به سادگی به جای وارد نمودن آدرس IP (که حفظ آن برای همگان سخت است)، با وارد کردن نامی ساده به سایر کامپیوترها و یا شبکهها متصل شود.
مثال: تکنولوژی DNS به شما این امکان را میدهد که نام وبسایت مورد نظر مانند tegrahost.com را در مرورگر وارد کنید و کامپیوتر شما به صورت خودکار آن را در اینترنت پیدا کند.
یکی از عناصر مهم و تاثیرگذار بر عملکرد DNS، مجموعهای جهانی از DNS Server ها است.
هر سرور دیاناس که برای هدف نرمافزاری خاصی در شبکه فعالیت میکند، دارای یک آدرس IP عمومی و دیتابیسی از نام شبکهها و آدرس دیگر هاستهای اینترنتی است.
DNS Server ها در يک سلسله مراتب ساماندهی شده و فعاليت میکنند. در بالاترين رده اين سلسله مراتب، اينترنت دارای 13 سرور اصلی يا ريشه (Root Servers) است که به دليل نقش عمده، ديتابيس کامل و عملکرد جامع شان معروف میباشند. مالكيت اين سرورها نزد کمپانیهای معروف و مستقل از یکدیگر است.
DNS Server چگونه کار میکند؟
وقتی که وارد سایتی می شوید. مثلا سایت tegrahost.com کامپیوتر شما یک سری مراحل را می پیماید که طی آن آدرس سایت به IP آدرس که برای ماشین قابل خواندن است تبدیل میشود. این اتفاق هر بار که شما از یک نام دامنه domain name در مرورگر خود استفاده می کنید رخ میدهد. استفاده از نام دامنه میتواند هنگامی که شما وب سایتی را باز می کنید و یا هنگامی که یک ایمیل می فرستِد و یا هنگامیکه به یک رادیوی اینترنتی گوش میدهید. رخ دهد.
گام هایی که برای تبدیل آدرس سایت به IP سایت انجام می شوند عبارتند از :
مرحله 1: درخواست اطلاعات
پردازش زمانی آغاز میشود که شما از کامپیوتر خود برای یافتن IP یک دامنه استفاده میکنید. مثلا هنگامیکه شما به وب سایت tegrahost.com مراجعه میکنید. اولین جایی که کامپیوتر شما به دنبال آن میگردد DNS cache local است. Local DNS Cache در کامپیوتر شما آدرس وب سایت هایی که اخیرا وارد آنها شده اید را برای شما نگهداری می کند. این آدرس ها شامل IP آدرس این سایت ها نیز میباشد. ( اگر سرور سایتی قبل از اینکه شما این آدرس ها را بروز کنید تغییر کند. شما دیگر قادر به دسترسی به سایت نیستید و باید اطلاعات ثبت شده در Local DNS Cache را توسط فرمان ipconfig /flushdns در نرم افزار Command Prompt پاک نمایید.) اگر کامپیوتر شما اطلاعات سایت را از قبل ذخیره نکرده باشد. کامپیوتر شما باید از DNS query برای یافتن IP سایت استفاده کند. (در نرم افزار Command Prompt دستور nslookup tegrahost.com استفاده کنید.)
مرحله 2: پرسش از recursive DNS servers
اگر اطلاعات سایت در روی سیستم شما ذخیره نشده باشد. کامپیوتر با جستجو در ISP سیستم recursive DNS servers سعی در یافتن Ip آدرس می کند. این کار از جمله عملیات هایی است که بصورت اختصاصی برای یافتن DNS یک سایت انجام میپذیرد. Recursive servers ها کش خاص خود را دارند، بنابراین جستجو معمولا همینجا ختم میشود و شما IP سایت را به دست خواهید آورد.
مرحله 3: پرسش از root nameservers
اگر سرورهای recursive servers آدرس DNS سایت شما را نداشتند، کامپیوتر شما از root nameservers برای یافتن IP آدرس سایت استفاده می کند. یک nameserver یک کامپیوتر است که به سوالات پرسیده شده درباره نام دامنه ها مانند IP address ها پاسخ میدهد. سیزده تا root nameservers مانند سیستم سویچنگ تلفن برای DNS عمل می کنند. آنها شاید ندانند که IP سایت مورد نظر شما چیست اما آنها میدانند که پاسخ این سوال را از کجا بیابند.
مرحله 4 : پرسش از TLD nameservers
root nameservers ها ابتدا به اولین بخش از سوال ما می پردازند. آنها آدرس سایت را از راست به چپ می خوانند. WWW.tegrahost.com- حالا آنها میتوانند پرسش شما را به Top-Level Domain (TLD) nameservers منتقل کنند. هر TLD مانند .com,.org,.ir برای خود یک سری nameservers مخصوص به خود دارد. این nameservers ها مانند منشی تلفنی TLD عمل می کنند. آنها اطلاعات مد نظر ما را ندارند ولی میتوانند ما را به سروری که این اطلاعات را دارد منتقل کنند.
مرحله 5: پرسش از authoritative DNS servers
TLD nameservers بخش دوم از درخواست ما را مورد مطالعه قرار میدهند WWW.tegrahost.com و ما را برای این دامنه خاص مستقیماً به nameservers responsible مربوطه هدایت میکنند. این authoritative nameservers ها مسئول پاسخگویی درباره تمام اطلاعات مربوط به دامنه ها می باشد. این اطلاعات در DNS records ها ذخیره شده است. تعداد رکورد های اطلاعاتی در این قسمت بسیار زیاد است و هر رکورد مسئول نگهداری نوع خاصی از داده است. در این مثال ما به دنبال اطلاعات IP address برای سایت www.tegrahost.com میگردیم. بنابراین از authoritative nameserver برای Address Record (A) یا رکورد آدرس پرس وجو می کنیم.
مرحله 6: دریافت اطلاعات رکورد
سرورهای recursive در پاسخ به سوال ما رکورد A را برای سایت tegrahost.com بازگردانی می کنند. این اطلاعات از سرور های authoritative nameservers دریافت شده است و رکورد اطلاعات مد نظر ما را در کش سیستم سرورهای recursive ذخیره می شود. اگر کاربر دیگری برای سایت tegrahost درخواست IP Address بدهد. اینبار سرور های recursive این اطلاعات را در خود خواهند داشت و به کاربر پاسخ خواهند داد و نیازی به تکرار تمام مراحل پردازش ذکر شده در بالا نیست. هر رکورد اطلاعات یک مقدار time-to-live یا زمان حیات دارد. در واقع چیزی مانند تاریخ انقضاء، هنگامی که این زمان به اتمام برسد. سرور های recursive باید اطلاعات رکورد های خود را از نو درخواست کنند. تا مطمئن شوند که اطلاعات ذخیره شده در رکورد ها منقضی نشده باشد.
مرحله 7 : دریافت پاسخ
سرورهای recursive رکورد A را به کامپیوتر شما ارجاع خواهند داد. کامپیوتر شما نیز این اطلاعات را در کش خود ذخیره می کنند. سپس از این اطلاعات IP Address خوانده شده و به مرورگر شما انتقال داده میشود. سپس مرورگر ها با web server ارتباط برقرار کرده و اطلاعات سایت را به نمایش می گذارند.
تمام این مراحل از ابتدا تا انتها، تنها چند میلی ثانیه برای پردازش زمان نیاز دارد.
موارد امنیتی
بسیار اهمیت دارد که همیشه یک آنتی ویروس فعال داشته باشیم. یکی از دلایل این امر آن است که نرم افزارهای مخرب می توانند به کامپیوتر شما حمله کنند به نحوی که تنظیمات سرور DNS را تغییر دهند، که قطعا این چیزی است که شما هیچگاه نمی خواهید رخ دهد. بعنوان مثال این حقیقت را در نظر بگیرید که کامپیوتر شما از ادرس 8.8.8.8 یا 8.8.4.4 برای دسترسی به سایت google استفاده میکند. مطابق با این تنظیمات DNS شما به هنگام تایپ عبارت گوگل در مرورگر خود به سایت google میروید و میتوانید به حساب کاربری واقعی خود دسترسی پیدا کنید. با این وجود اگر یک نرم افزار تنظیمات DNS سرور شما را تغییر دهد (که معمولا بدون اینکه شما بدانید این اتفاق رخ میدهد) با همان عبارتی که وارد کردید به یک وبسایت کاملا متفاوت وارد میشوید یا با همان عبارت به وبسایتی کاملا مشابه با وبسایت گوگل وارد میشوید اما با این تفاوت که این وبسایت مشابه برای این ایجاد گردیده که اطلاعات حساب کاربری شما را ضبط کند و تمام چیزی که برای دسترسی به حساب کاربری شما نیاز است نام کاربری و کلمه عبور شماست.
با این حال، معمولا بدافزارهایی که به سرورهای DNS شما هجوم می آورند عموما وبسایتهای محبوب را به صفحاتی که پر از تبلیغات یا وب سایتهای ویروسی جعلی هستند، تغییر می دهد و شما به این نتیجه میرسید که باید یک برنامه برای تمیز کردن یک کامپیوتر آلوده را خریداری کنید.
. برای جلوگیری از تبدیل شدن به یک قربانی بدین شکل، باید دو عمل را انجام دهید. عمل اول این است که یک برنامه آنتی ویروس را نصب کنید تا برنامه های مخرب قبل از اینکه بتوانند به DNS سرورهای شما آسیب برساند، از کار بیافتند. دومین عملی که باید انجام دهید آن است که از وبسایتهایی که فکر میکنید جعلی هستند دوری کنید. حتی اگر وبسایت مورد نظر کمی از آنچه که معمولا بود، تغییر داشت یا از گوگل گواهی نامعتبر بودن سایت بر روی مرورگر شما پدیدار شد، ممکن است نشانهای برای شما باشد تا بدانید در یک وبسایت جعلی هستید.