DNS یکی از اصلیترین و مهمترین المانهایی است که برای دسترسی به اینترنت مورد استفاده قرار میگیرد و یک نقش کلیدی را برعهده دارد. در واقع وظیفه این المان حساس پیدا کردن نام ماشینی آن چیزی است که شما به صورت نام سایت و یا همان دامنهی سایت میشناسید، تا از این طریق بتوانید به آن متصل شده و به اطلاعات سایت دست پیدا کنید و یا از خدمات آن استفاده نمایید. اجازه دهید در ادامه به بررسی این که DNS چیست و قرار است چه کاری برای ما انجام دهد بپردازیم.
فهرست عناوین
DNS چیست؟
DNS یکی از معروفترین سرواژهها در بین مفاهیم شبکه، اینترنت و کامپیوتر است که تقریبا تمام استفادهکنندگان و کسانی که یک سر رشته کوچک از اینترنت داشته باشند نام آن را یکبار شنیدهاند، یا حداقل آن را در ارورها و پیامهایی که مرورگر وب میدهد، دیدهاند. Domain Name System یا سیستم نامگذاری دامنه مکانیزمی است که نام دامنه سایتها را به یک حالت قابل فهم برای ماشین ترجمه میکند که شما بتوانید به آنها دسترسی پیدا کنید. اگر بخواهیم به زبان خیلی ساده بگوییم که DNS چیست، میتوانیم بگوییم DNS یک دفترچه تلفن برای اینترنت است.
وقتی که شما نام سایتی را مانند Maralhost.com در مرورگر خود وارد میکنید و کلید اینتر را میزنید، این سایت برای شما به نمایش در میآید. اما حقیقت این است که سرورها و هاستهایی که این سایت از طریق آنها برای شما بارگذاری شده نام maralhost را نمیشناسند و تنها تصویری که از این سایتها در حافظه آنها وجود دارد یک عدد چند رقمی به نام IP است که خود میتواند اشکال مختلفی داشته باشد.
سرورها و بستر اینترنت از قابلیتی به نام DNS استفاده میکنند تا این نام قابل درک برای شما را به نام قابل درک ماشین یعنی همان IP ترجمه کند. برای این کار مکانیزمها و سطوح مختلفی وجود دارد که DNS از آنها استفاده میکند. اما اجازه دهید قبل از اینکه به بررسی این موارد بپردازیم که مکانیزمهای DNS چیست، کمی بیشتر در مورد IP صحبت کنیم و ببینیم که اصلا چه نیازی به این مکانیزم داریم و چه انواع مختلفی از IP وجود دارد.
IP چیست و به چه دردی میخورد؟
IP Address یا همان Internet Protocol Address یکی از مفاهیم اینترنتی است که نشاندهنده شناسهی اصلی برای اتصال در اینترنت و استفاده از آن است. بستر اینترنت یک شبکه بزرگ است که اساس آن انتقال اطلاعات از روی این بستر با استفاده از خطوط انتقال است. وقتی که شما میخواهید درخواستی را به یک سایت بفرستید و جواب آن را دریافت نمایید، در ابتدا باید یک آدرس داشته باشید که خود را با آن معرفی کنید و به سایت بگویید که چه چیزی میخواهید، تا سایت محتوای مورد نیاز را برای شما بفرستد. تمامی بستههایی که در اینترنت برای شما ارسال میشوند، و شما از محتوای آنها استفاده میکنید به آدرس IP شما فرستاده خواهند شد.
IP یک شماره است که میتواند از دو نوع مختلف تشکیل شده باشد. به طو کلی ما در اینترنت دو نوع IP ورژن 4 و 6 داریم که به نامهای IPv4 و همینطور IPv6 شناخته میشوند. در IPv4 شما با یک عبارت 32 بیتی 4 بخشی طرف هستید که هر کدام از این بخشها به صورت یک عدد در بازهی 0 تا 255 تشکیل شده است. بیشتر سایتها و کاربرانی که در اینترنت فعال هستند با استفاده از این نوع IP شناسایی میشوند و خدمات اینترنتی دریافت میکنند.
IPv6 که نوع جدیدتری از IP نسبت به ورژن 4 میباشد کمی ساختار پیچیدهتری دارد. این IP از یک عبارت 128 بیتی تشکیل شده است که 8 بخش مختلف داشته که از اعداد 16دهی برای نمایش اعداد IP استفاده میکنند. این نوع از IP به علت پیشبینی برای رفع محدودیت تعداد در مورد IPv4 ایجاد و ارائه شد. با این وجود که چند سالی است که این نوع از IP معرفی شده است اما سرعت تغییر IPهای ورژن 4 به IPهای ورژن 6 به شدت پایین بوده و همان IP ورژن 4 استفادههای بیشتری دارد.
بستر اینترنت تمامی کاربران خود را با این IPها میشناسد. چه شما مانند گوگل یک سایت بزرگ ارائهدهنده خدمات به میلیونها نفر باشید و چه یک یوزر ساده که فقط به چند سایت سر میزنید، بستر و ساختار اینترنت، شما را با یک شماره IP میشناسد و به شما سرویسدهی میکند. وقتی که شما نام سایت را در مرورگر خود درج نموده و میخواهید به آن دسترسی پیدا کنید، پروتکلهای اینترنتی باید نامی که شما وارد کردهاید را در دفترچه تلفن خود جستجو کرده تا شماره مربوط به آن را پیدا کنند. این دفترچه تلفن همان DNS است و البته مکانیزمی بسیار پیچیدهتر از آن دارد که به نظر میرسد، و قرار است در ادامه به بررسی این مورد که مکانیزم کارکرد DNS چیست بپردازیم.
مکانیزم عملکرد DNS چیست؟
سیستم نامگذاری دامنه یکی از بزرگترین و مهمترین سیستمهای اینترنت است که در مورد هدف آن به طور کامل صحبت کردیم. اما برای این پیدا کردن آدرسها باید چه کاری انجام گیرد و چگونه میتوان آن را انجام داد. وقتی این مکانیزم را با دفترچه تلفن مقایسه میکنیم قطعا قابل حدس است که از یک پایگاه داده برای این کار استفاده میشود. اما این که این پایگاه داده در کجا قرار دارد و چه ویژگیهایی دارد یکی از موراد اصلی است که باید برای درک پاسخ DNS چیست به آن بپردازیم.
وقتی که شما میخواهید از طریق نام دامنه به یک سایت دسترسی پیدا کنید، اتفاقی که میافتد این است که نام سایت از طریق مرورگر شما به سرویسدهنده اینترنت شما یا همان ISP ارسال میشود. در اینجا سفر دور و دراز این نام برای پیدا کردن IP آغاز میشود که توسط DNS و موارد مربوط به آن کنترل میشود. برای این کار یک پرسوجوی سلسله مراتبی انجام میگیرد. به این صورت که ابتدا کش سیستم، بعد سرورهای کوچکتر مربوط به ISPها سپس سرورهای بزرگتر منطقهای و بعد هم سرورهای جهانی بررسی میشود. اطلاعات استخراج شده از سرورهای جهانی در تمام سرورهای پایینتر کش شده تا در صورت نیاز دسترسی راحتتر انجام شود. اجازه دهید تا هر یک از این مراحل را به صورت واضح و شفاف بازگو کنیم و ببینیم که واقعا مکانیزم عملکرد DNS چیست.
بررسی نام دامنه در کَش
وقتی شما نام دامنه را وارد کردید اولین جایی که باید برای این نام جستجو شود کامپیوتر و سیستم خود شماست. مرورگر شما این قابلیت را دارد تا با کش کردن IP تعدادی از سایتهای پرتکرار این مراحل طولانی را برای شما کوتاه کند. در صورتی که مشخص شد که به کجا میخواهید دسترسی داشته باشید این ارتباط برقرار میشود. در غیر این صورت باید درخواست به ISP یا همان Internet Service Provider شما ارسال شود. ISP شما همان شرکتی است که شما از خدمات اینترنت او استفاده میکنید. این شرکت میتواند یک ارائهدهنده خدمات ADSL و یا یک اپراتور تلفن همراه باشد.
بررسی سرورهای DNS بازگشتی
وقتی درخواست به اینترنت ارسال میشود در ابتدا از سرورهای DNS خاصی به نام سرورهای بازگشتی برای این کار استفاده میشود. سرور بازگشتی سروری است که مشخصات آیپیهای دامنهای که از سرورهای دست بالاتر رسیده است در آن ذخیره شدهاند. سرورهای بازگشتی حکم کشهای بزرگی را دارند که روی سطح بالاتری عمل میکنند. عموما با استفاده از سرور DNS بازگشتی میتوان به نتیجه رسید و IP مربوط به نام دامنه بهراحتی پیدا میشود. زیرا معمولا دسترسیهای یکسانی از یک منطقه خاص به یک سایت انجام میشود. بهعنوان مثال یک سایت ایرانی و فارسی زبان بیشتر دسترسیهای خود را از ایران دارد. پس عموم IPهای این سایتها در سرورهای DNS بازگشتی ایران قابل دسترسی هستند و کش شدهاند. اما قدم بعدی برای پیدا کردن DNS چیست؟
بررسی سرورهای نام (Name serverها)
Name Serverها جزو اصلیترین و مهمترین اجزای DNS هستند و نگهدارنده اطلاعاتی دربارهی نام دامنهها هستند که میتوانند سرورها و ISPهای درخواستدهنده را به سمت نام دامنههای موردنظر هدایت کنند. این نوع از سرورها دارای یک موتور تجزیه و تحلیل برای بررسی کوئریها و همینطور پرسوجوهای اینترنتی هستند که میتوانند شما را به سمت محلهایی که نام دامنه قرار دارد و از آنها IP مورد نظر را پیدا کرد یعنی سرورهای TLD، هدایت کنند.
تجزیه و تحلیل درخواست در TLD
TLDها دسته دیگری از سرورها هستند که کار تجزیهوتحلیل دامنهای که شما برای رسیدن به آن درخواست دادید را انجام میدهند. البته لازم به ذکر است که در این مرحله از مراحل DNS نیز شما به IP موردنظر خود و آدرس آن دسترسی نخواهید داشت. آنچه که TLDها مسئول آن هستند تحلیل IP شما بر اساس پسوند آن است.
در ابتدا پسوند آدرس دامنهی درخواستی شما بررسی شده تا ببینند در کدام بخش قرار میگیرد. البته این پسوندها از نظر پسوند اصلی مانند com ،org ،net و موارد دیگر طبقهبندی میشود و پسوندهایی مانند Store ،Site و همینطور پسوندهای ترکیبی از چند نوع باید به انواع اصلی پسوند تجزیه شده و بعد برای بررسی ادامهی مراحل DNS از آنها استفاده شود. بعد از این تحلیلها و بررسیها دامنهها برای سرورهای اصلی DNS ارسال شده که همان DNS Serverها هستند.
تجزیهوتحلیل در DNS Server
وقتی دامنه درخواستی شما به DNS سرور مربوطه رسید، یک تجزیهوتحلیل مجزا روی آن صورت گرفته و اطلاعات مربوط به آن بررسی میشود. DNS Serverها جزو اصلیترین سرورهایی هستند که میتوانند اطلاعات مربوط به DNS را داشته باشند. عموما اطلاعات تخصیص DNS و فراهم کردن نام این دامنهها توسط همین سرور ها انجام گرفته است و اطلاعات مربوط به این دامنهها توسط مدیران سایتها و صاحبان آنها حفظ و نگهداری میشود. در نظر داشته باشید ممکن است که این نوع از DNS سرورها با برنامهی DNS سرور موجود در ویندوز سرور اشتباه گرفته شود. این سرورها حتی در تمامی انواع هاست لینوکس و همینطور تمامی وبسرورها وجود دارند و بهصورت پابلیک از آنها استفاده میشود. در بخشهای بعدی بیشتر به این مفهومها میپردازیم.
عملیات بازیابی رکوردها یا همان Record Retrieval
وقتی DNS Serverهایی که به آنها مراجعه کردهاید این اطلاعات را در اختیار داشته باشند شما باید این اطلاعات را استخراج و بازیابی کنید. DNSها بهصورتی تخصیص پیدا میکنند که با داشتن دامنه و رسیدن به سرور مربوطه میتوان اطلاعات مربوط به رکورد DNS را خواند. این رکورد یک رشته اطلاعات مربوط به IP و همینطور هاستی است که سایت روی آن قرار گرفته و باید برای دسترسی به این اطلاعات آن را خواند.
استفاده از اطلاعات و کشینگ
وقتی که شما این رکورد و اطلاعات را بدست آورید مسیری که طی کردهاید بهصورت معکوس طی شده و این اطلاعات با گذشتن از تمامی این سرورها به مرورگر شما میرسد. اطلاعات مربوطه در صورتی که کارآمد تشخیص داده شوند توسط سرورهای ISP شما و یا مرورگر شما کش شده تا برای استفادههای بعدی قابل استفاده باشد.
اما اگر این کش انجام شد و آدرس DNS تغییر کرد چه اتفاقی خواهد افتاد! اجازه دهید به برررسی این موضوع بپردازیم.
TTL، یک نکته حساس!
یکی از موارد مهمی که باید به آن توجه ویژه داشت امکان تغییر DNSها است. باید توجه داشت که این DNSها همیشه ثابت نیستند و به دلایل متعددی ممکن است تغییر کنند. به همین علت هر رکوردی که بازیابی شده و کش میشود یک المان همراه خود دارد. این المان خاص که TTL نام دارد و سرواژهای برای Time To Live است، نشاندهنده مدت زمانی است که DNS اعتبار دارد و میتوان به آن تکیه کرد. در صورتی که این زمان به پایان رسیده باشد مرورگر و سرورهای ISP و همینطور سرورهای نام دامنه بدون توجه به رکورد موجود و کش شده یکبار دیگر تمام این مسیر را طی کرده تا از صحت اطلاعات اطمینان حاصل کنند.
البته باید در نظر داشت که تمامی این مراحل در کسری از ثانیه انجام شده و لازم نیست شما منتظر جوابی برای هر کدام از این مراحل باشید. تنها چیزی که دربارهی این مراحل مشاهده خواهید کرد آیکون لودینگ روی تب مرورگر شما و همینطور توضیحات مختصری که در گوشهی سمت چپ مرورگر شما نوشته خواهد شد میباشد که اگر به آنها دقت کرده باشید به سرعت اتفاق افتاده و معمولا شما وقت نمیکنید که آنها را تماما بخوانید.
تفاوت DNS و برنامه Microsoft DNS manager
قطعا تا اینجای کار متوجه شدهاید که وقتی از DNS صحبت میکنیم قضیه در مورد برنامه Microsoft DNS Manager نیست و منظور ما یک پروتکل و یک سیستم نامگذاری دامنهی سراسری است که روی تمامی سیستمها انجام میگیرد. اما پس Microsoft DNS Manager چه برنامهای است و شباهتها و تفاوتهای آن با DNS چیست؟
در اینجا باید بگوییم Microsoft DNS manager یک برنامه برای ویندوز سرور است و بیشتر کاربرد آن در سرورهای لوکال است. اما کاری که قرار است انجام دهد دقیقا شبیه DNS است. با این تفاوت که سرویس نام دامنه را برای سیستمهای لوکال و سرور محلی پیادهسازی میکند. البته در صورتی که شما از هاست ویندوز استفاده کنید و سایت خود را روی آن راهاندازی کنید این برنامه در خط مقدم سرویس نام شما قرار خواهد گرفت. اما کنترل این برنامه به صورت جامع برای مواقعی است که شما میخواهید روی یک شبکهی محلی سیستمهای خود را به جای IP با استفاده از نام آنها شناسایی کنید.
Microsoft DNS manager یکی از برنامههای اصلی است که عموما بلافاصله پس از نصب ویندوز سرور از طریق Dashboard نصب و پیکربندی میشود و تنظیمات شناسایی سرور لوکال را برای سایر سیستمهای شبکه به انجام میرساند. تنظیم DHCP برای IPدهی خودکار به سایر سیستمها نیز معمولا در گام بعدی پیکربندی این سیستم ها قرار دارد.
دلایل قطعی DNS چیست؟
در بعضی مواقع شما با ارورهایی به منظور قطعی DNS مواجه میشوید که عموما رفع کردن آنها دردسرهای زیادی را به همراه دارد. اما معنی این ارور DNS چیست؟
در این حالت شما ممکن است دو نوع ارور DNS را دریافت کنید. در نوع اول زمانی است که DNSهای مربوط به سایتی که میخواهید به آن متصل شوید از کار افتاده است و از دید شما مخفی شده است و به طور شفافتر میتوانیم بگوییم نام و آدرس وجود ندارد که برای دسترسی به سایت به آن مراجعه کنیم و وقتی به آدرس قبلی سر میزنیم کسی در را برای ما باز نخواهد کرد. در این حالت ممکن است درست شدن وضعیت به کمی زمان نیاز داشته باشد. در صورتی که مشکل از سرورهای میانی باشد و از طرف خود سایت نباشد با ریست و تغییر دادن IP داینامیک یا استفاده از VPN به منظور تغییر IP و مسیری که برای دریافت DNS از آن استفاده میشود، ممکن است این ایرادات رفع شود. اما اگر از طرف سایت این اتفاق افتاده باشد باید تا برطرف شدن مشکل تحمل کنید.
اما در مواقع دیگری DNS مربوط به سیستم شما به مشکل برخورد کرده است که در این صورت درخواستهای شما ارسال شده اما به دلیل معلوم نبودن آدرس برگشت شما هیچ بستهای به دست شما نخواهد رسید و ارتباط شما با اینترنت قطع خواهد بود. در این حالت اگر از یک شبکهی داخلی استفاده کنید، خواهید دید که صرفا مشکل روی اینترنت است و شما این امکان را دارید تا از سایر خدمات شبکه استفاده کنید.
این حالت در مواقعی پیش میآید که شما تنظیمات خود را ریست کرده و یا از VPNهای سطح بالا که تونل ایجاد میکنند مانند VPNهای کریو استفاده کرده باشید. اما راه برطرف کردن این ارور DNS چیست؟!
برای رفع این ارور میتوانید دیاگنوستیک ویندوز را اجرا کرده، تنظیمات اینترنت و DNS خود را از Internet Option ریست کرده و یا سیستم خود را به آخرین چک پوینتی که از تنظیمات شبکهی سالم خود داشته است بازگردانی و به اصطلاح آن را restore کنید.
نتیجهگیری
پاسخ به این سوال که DNS چیست ما را وارد مبحثی داغ و گسترده نمود که آگاهی از این اطلاعات برای تمامی کسانی که میخواهند در وب فعالیت داشته باشند نه تنها مفید است، بلکه ضرورت نیز دارد. سرویس نام دامنه یکی از ارکان اصلی اینترنت بوده که پیدا کردن تمامی آدرسهای اینترنتی را ممکن ساخته و اعداد را به نام قابل درک برای ما تبدیل کرده است. ترجمه نام به این اعداد دردسرهای خاص خود را دارد و همانطور که دیدیم باید مراحل مختلفی بین سرورهای متعدد طی شود تا اطلاعات مربوط به یک نام دامنه استخراج شده و بتوان به آن دسترسی پیدا کرد. همینطور قطعیهای مختلف و ارورهایی که ممکن است برای DNS پیش بیاید را با هم بررسی کردیم و دیدیم که این سرویس در مواقعی با اشکالاتی مواجه میشود. اما هرچه که باشد یادگیری روش کار این سرویس، اصلی ضروری است که برای هر وبمستر مورد نیاز خواهد بود.