Dns چیست؟و چگونه کار میکند؟
دی ان اس یا همان پروتکل dns، مخفف انگلیسی عبارت Domain Name System می باشد که در فارسی به سامانه نام دامنه معنی شده است. کاری اصلی این پروتکل اتصال دامنه سایت به هاست و سرور های مربوطه آن برای نمایش صحیح وب سایت است.
خوب است بدانید عمل ترجمه نام دامنه به آدرس IP را اصطلاحا Resolve کردن نام دامنه می نامند. و بطور کلی هدف سیستم نام دامنه یا همان DNS این است که هر کاربری از هر نقطه از دنیا با وارد کردن نام دامنه مورد نظر، به آدرس IP مربوطه ارجاع داده شود.
در واقع DNS یکی از پایه های مهم سرچ اینترنتی است و بیشتر ما در طول روز بدون آنکه بدانیم از DNS استفاده می کنیم. در این خصوص می توانید از فیلم آموزش کار با اینترنت کامپیوتر استفاده کنید.
قبل از پیشرفت اینترنت به شکل امروز، تمام سایت ها با آدرسهای IP شناخته می شدند و چون تعداد آن ها کم بود به راحتی قابل شناسایی بودند. اما با گسترش اینترنت و زیاد شدن تعداد وب سایت ها روش هایی برای ذخیره نام و IP وب سایت ها ارائه شد.
الیزابت فینلر، اولین فردی بود که فایلی به نام host.txt که حاوی نام تمام وب سایت ها و آدرس آی پی آنها بود را ایجاد کرد. اما بعد از وی این پل مک پتریس بود که سیستمی بر اساس DNS امروز را ایجاد کرد.
کاربرد DNS چیست ؟
همانطور که در مقاله دامنه چیست گفته شد، اولین کار برای داشتن یک وب سایت، خرید و ثبت دامنه دلخواه است. پس از خرید وثبت دامنه آن، نام و دامنه می بایست به وب سایت شما اشاره کند. اینجاست که DNS به شما کمک می کند.
در واقع وظیفه DNS همین است. تبدیل دامنه به IP ها منحصر به فرد برای اتصال هاستینگ محل ذخیره وب سایت به سرور فروشنده اینترنت و دامنه.
بگذارید با مثالی بهتر سوال DNS چیست و چگونه کار میکند؟ را توضیح دهیم.
عملکرد DNS را همانند دفترچه تلفن موبایل خود فرض کنید. شما برای هر فرد خاص با نام خاص، یک شماره تماس ثبت کرده اید. هرگاه قصد تماس با آن فرد خاص را داشته باشید، کافی است نام او را در دفترچه موبایل سرچ کرده و بدون نیاز به حفظ شماره تماس او، با وی تماس بگیرید.
در مثال بالا دفترچه تلفن را DNS سرور فرض کنید. شماره تماس ها را IP و همچنین نام افراد را دامنه. به همین سادگی DNS کمک میکند تا شما با سرچ دامنه ای خاص بتواند اطلاعات آن سایت را به درستی ببنید.
با توجه به تعریف بالا، اکثر افراد در بسیاری از کارهای روزمره خود مانند کار با تلفن همراه، چک کردن ایمیل و جستجوی در اینترنت، از DNS استفاده می کنند. و همین بر اهمیت آن تاکید دارد. یکی دیگر از کاربردهای DNS کمک به انتقال اطلاعات است که ما در آموزش سرچ کنسول، بخصوص در بخش نصب گوگل سرچ کنسول از آن استفاده می کنیم.
dns server چیست
همانطور که بالاتر اشاره شد، کاربرد DNS اتصال هاستینگ به سرور های ذخیره کننده اطلاعات دامنه است. در اینجا DNS Server در واقع همان دیتابیس بزرگی است که شامل مجموعه ای از دامین ها و IP های مرتبط می باشد.
انواع DNS Server
در ادامه به معرفی انواع DNS Server که به لود شدن صفحه وب کمک می کنند خواهیم پرداخت:
DNS recursor
Root nameserver
TLD nameserver
Authoritative nameserver
DNS recursor
DNS recursor، اولین سروری است که جهت دریافت درخواست ها از سیستم های کاربران، از طریق برنامه هایی مانند مرورگرهای وب، برنامه ریزی شده است. به طور معمول، recursor مسئول راضی نگه داشتن کاربران می باشد و این کار را با پاسخ دادن به درخواست های کاربران انجام می دهد. این سرور را dns resolver هم می گویند.
در واقع این سرور را می توان به عنوان مسئول کتابخانه در نظر گرفت که از او درخواست می شود کتاب خاصی را در جایی از کتابخانه پیدا کند.
Root nameserver
این سرور به اولین قدم در ترجمه نام دامنه قابل خواندن توسط انسان به آدرس آی پی می باشد. البته زمانی که IP مورد نظر در DNS recursor پیدا نشود. کار این سرور ارجاع درخواست به سرور مروبط به پسوند مرتبط با دامنه (.com, .ir, .org و….) است. این سرور را می توان به عنوان فهرست در کتابخانه در نظر گرفت که به قفسه های مختلف کتاب ها اشاره دارد.
TLD nameserver
TLD nameserver مخفف Top Level Domain Server می باشد. این سرور مسئول ترجمه پسوند دامنه و ارجاع باقی نام دامنه به سرور مربوط به ادامه نام دامنه است. این سرور را می توان به عنوان یک قفسه خاص از کتاب ها را در کتابخانه در نظر گرفت.
Authoritative nameserver
Authoritative nameserver آخرین مرحله جستجو را انجام می دهد. در صورتی که authoritative nameserver به سابقه ی درخواستی دسترسی پیدا کند، آدرس آی پی را برای hostname درخواستی، به DNS Recursor (مسئول کتابخانه) که درخواست اولیه را صادر کرده، بر می گرداند. این سرور را می توان به عنوان یک فرهنگ لغت در یک قفسه کتاب در نظر گرفت که یک نام خاص را می تواند به یک تعریف (definition) ترجمه کند.
DNS چگونه کار می کند
همانطور که پیش تر کامل توضیح داده شد، هنگامی که شما قرار است از سایتی بازدید کنید، کامپیوتر شما یک سری مراحل را برای تبدیل آدرس وب قابل خواندن توسط انسان به یک آدرس IP قابل خواندن توسط ربات و ماشین دنبال می کند.
جالب است بدانید هر سایت نامگذاری شده می تواند با بیش از یک آدرس IP مطابقت داشته باشد. یعنی برخی سایتها می توانند صدها آدرس IP داشته باشند که همه با همان نام دامنه خاص مطابقت دارند. با توجه به این قضیه به سیستم DNS نیاز است تا آدرسهای IP را به نام دامنه ارجاع داده و وب سایت مورد نظر را نمایش دهد.
در قدم اول به یاد داشته باشید که، پروتکل DNS از یک پایگاه داده سلسله مراتبی استفاده می کند که حاوی اطلاعاتی مور نیاز در خصوص نام دامنه است. این یعنی چه؟
فرض کنید شما در مرورگر خود نام دامنه سایتی را جستجوی می کنید. اولین کاری که مرورگر شما انجام خواهد داد، ارسال درخواست به DNS سرور محلی سیستم عامل است تا بررسی کند که آیا پاسخ مورد نیاز شما در حافظه نهان (Cache) مرورگر ذخیره شده است یا خیر.
اگر ذخیره شده بود، همان را نشان می دهد. اگر در حافظه پنهان یافت نشد، درخواست شما از طریق کارت شبکه سیستم و اینترنت به Resolver ( کامپیوتر های ذخیره کننده اطلاعات در سرور های ارائه دهنده اینترنت) ارسال می شود. درصورتی که این سرور اطلاعات مربوط به IP مورد درخواست شما را پیدا نکند درخواست را به یک لول بالا تر یعنی سرور روت (Root Server) ارسال می کند.
در این مرحله Root Server متناسب با پسوند دامنه شما به Resolver دستور می دهد تا درخواست را به TLD Resolvers مروبطه ارسال کند. TLD Resolvers در واقع هزاران کامپیوتر در سراسر دنیا هستند که با دریافت مداوم اطلاعات از سرویس دهنده های ریشه (root server) ، آنها را ذخیره کرده و برای استفاده کاربران مهیا می کنند، این کامپیوترها در مراکز خدمات اینترنتی (ISP) در سراسر دنیا پراکنده شده اند.
سرور TLD تمام اطلاعات مربوط به پسوند دامنه ها را در خود دارد. و متناسب با آن از سرور Resolver درخواست می کند تا تمام اطلاعات دامنه را از name server دریافت نماید. به این شکل کامپیوتر شما می تواند تمام اطلاعات دامنه را به درستی نمایش دهد.
لازم به ذکر است، اگر اطلاعات لازم در این DNS سرورهای یافت نشد، شما با خطای DNS روبرو خواهید شد.
برای توضیح بهتر حافظه نهان یا همان Cache به این توضیح دقت کنید.
فرض کنید فقط یک دایرکتوری برای سایت مورد نظر شما وجود داشته باشد، آن گاه در مواقعی خاص از شبانه روز وقتی تعداد درخواستها برای بازدید از آن سایت زیاد شود، مدت زمان زیادی طول می کشد تا به درخواست شما پاسخی داده شود. اینجا باز DNS به کمک شما خواهد آمد.
از آنجا که، اطلاعات DNS در سرورهای زیادی ( Resolver ) به اشتراک گذاشته می شود، این احتمال وجود دارد که اگر شما چندین بار در روز از یک سایت خاص بازدید کنید، با ذخیره شدن اطلاعات در کش مرورگر دیگر نیازی به هر بار درخواست و عملیات انطباق Ip با سرورهایی غیر از سرور محلی (مرورگر شما) نباشد. در نتیجه تعداد دفعاتی که لازم است از DNS استفاده شود، کمتر از تعداد دفعاتی است که شما یک سایت را در مرورگر جستجو می کنید.
شیوه نمایش یک وب سایت به کمک DNS
زمانی که شما آدرس وی سایت مورد نظرتان (Domain) را در address bar مرورگر تایپ می کنید مرورگ متناسب با اطلاعاتی که دارد یا اطلاعاتی که جستجو می کن، سایت درست را پیدا و نمایش می دهد. قطعا اولین اتفقا این است که نام domain به آدرس IP سایت ترجمه می شود. اما فقط همین مرحله است؟ خیر
علاوه بر تبدیل دامنه به IP اتفاقات زیر نیز رخ می دهد.
در مرحله اول مرورگر cache خود را چک کرده تا IP منطبق با دامنه و URL تایچپ شده را بیاید. در صورتی که این IP وجود داشته باشد آن را resolve کرده و سایت را نمایش می دهد.
درصورتیکه نام دامنه resolve نشود مرورگر فایل های هاست و رکورهای دی ان اس را چک می کند.
اگر رکوردی در فایل هاست نباشد مرورگر به دنبال سرور dns پیش فرض می رود و درصورتیکه مدخلی برای نام دامین وجود داشته باشد سایت مربوطه را نمایش می دهد.
حال اگر سرور dns رکوردی برای دامنه مورد نظر نداشته باشد مرورگر به دنبال سرور در سایر نقاط دنیا می گردد و این کار از طریق ساختار سلسله مراتبی انجام می دهد.
اگر مرورگر نتوانست هیچ دی ان اس سرور مرتبطی را پیدا کند نام دامین resolve نخواهد شد و خطای مربوطه به کاربر نمایش داده می شود.
خوب است بدانید DNS به عنوان نوعی لایه اضافی امنیتی نیز کاربرد دارد. DNS میتواند امنیت زیرساخت را ارتقا بخشیده، و در به روزرسانی های ایمن تاثیرگذار باشد. DNS پیام ها را با خرابی صفر به کاربران تحویل، و شما را قادر می سازد تا عملکرد فنی سرویس دیتابیس را مشخص کنید.
خطای dns چیست ؟
زمانی که شما یک URL یا آدرس سایتی را در مرورگر خود جستجو می کنید، اگر که سرور DNS مربوطه از کار افتاده باشد یا به هر دلیلی به IP شما دسترسی پیدا نکند، کامپیوتر شما نمی تواند صفحات سایت مورد نظر شما را از دایرکتوری مورد نظر دریافت و نمایش دهد. اگر این اتفاق بیوفتد شما با یک پیام DNS error روبرو می شوید.
این خطاها به دلایل مختلفی از جمله نصب برنامههای آنتی ویروس، مشکلات روتر، خرابی درایور، مشکلات ارائه دهنده سرویس DNS و… روی میدهد.
اطلاعات بیشتر در مورد dns
آیا می دانید SOA چیست؟ به سرور DNS هایی که یک دامنه ی خاص را مدیریت می کنند، SOA یا Start Of Authority می گویند. با گذشت زمان نتایج جستجوی هاست ها در SOA در میان سرور های DNS دیگر نیز منتشر می گردد و در نهایت در سراسر اینترنت شناخته می شود. این انتشار به دلیل کش شدن نتایج برای مدت زمان مشخصی در هر سرور DNS که به آن TTL یا مدت عمر آن کش (time-to-live) میگویند رخ می دهد.
کسی که مسؤولیت یک DNS را دارد میتواند TTL آن را تنظیم کند. مقدار TTL در هر سرور متفاوت خواهد بود.
تاثیر dns در سرعت اینترنت
در واقع DNS ارتباط مستقیمی با سرعت اینترنت ندارد. اما همان طور که بالاتر گفته شد، کامپیوترها پاسخهای DNS را به صورت محلی در حافظه کش ذخیره می کنند و از این جهت دامنه های خاص و از پیش بازدید شده را با سرعت بالاتری اجرا می کنند.
پس درصورتی که ساختار و تنظیمات DNS درست انجام شده باشد تا حدودی میتواند بر سرعت نمایش یک صفحه در کامپیوتر شما تاثیر بگذارد.
مزایا و معایب دی ان اس
در ادامه به معرفی مزایا و معایب dns خواهیم پرداخت.
مزایای DNS چیست؟
با توجه به مثال دفترچه تلفن که بالاتر ذکر شده اگر قرار بود برای بازدید از سایت های مورد نظر تمام آدرس IP های لازم را حفظ کنیم، کار جستجوی صفحات وب بسیار سنگین و دشوار می شد. پس شاید اولین و اصلی ترین مزیت DNS تسهیل استفاده از اینترنت است.
همانطور که گفته شد، اگر بخواهید به یک وبسایت دسترسی پیدا کنید، باید آدرس IP آن را بدانید. اگر آدرس آی پی تغییر کند چه؟ یکی دیگر از مزایای DNS به روز شدن و ثبات است. سیستم DNS وظیفه دارد تا آدرس های IP را به روشی بسیار سریع و ثابت، به روز کرده و دسترسی ما به وب سایت ها را آسان کند.
معایب DNS چیست؟
در واقع نمی توان عیب مشخصی را برای dns در نظر گرفت. اما اگر بخواهیم در مورد برخی مشکلات دی ان اس صحبت کنیم، می توان به موارد زیر اشاره کرد.
یکی از این موارد DNS Attacks است . در این حالت مهاجم آدرس واقعی سایت را با یک آدرس جعلی به منظور کلاه برداری و یا سئو استفاده های سئوی جایگزین میکند و با فریبکاری کاربران سایت مورد هجوم را بدون اطلاع به آدرسهای مخرب و یا مد نظر هدایت می کند. معمولا هدف از این کار گرفتن اطلاعات بانکی یا سایر دادههای مهم و حساس کاربران و اقدامات سئو کلاه سیاه و سئو کلاه خاکستری است.
رکورد چیست؟
رکوردهای DNS دربرداندهی اطلاعاتی ضروری دربارهی نام دامنه هستند. به کمک این رکوردها، DNS میتواند دسترسی به یک وبسایت یا یک وبسرویس را فراهم کند.
انواع رکورد های DNS
dns ها در پایگاه داده یا همان دیتابیس خود دارای رکورد هایی با کاربردهای متفاوت هستید که در ادمه صرفا به معرفی آنها خواهیم پرداخت.
A Record
AAAA Record
CNAME Record
TXT Record
NS Record
SOA Record
MX Record
اگر در خصوص dns ، سوال یا تجربه ای دارید، میتوانید در بخش نظرات با ما به اشتراک بگذارید.
سوالات متداول در مورد DNS
کار اصلی DNS چیست؟
تبدیل دامنه خواندی توسط انسان به IP خواندی توسط ماشین برای دریافت اطلاعات از سرورهای مروبطه و نمایش آن در مرورگر ها.
dns در سرعت اینترنت تاثیر دارد؟
همانطور که در متن مقاله اشاره شد، DNS بر سرعت اینترنت تاثیر مستقیم ندارد. اما کامپیوترها پاسخهای DNS را به صورت محلی در حافظه کش ذخیره می کنند و از این جهت دامنه های خاص و از پیش بازدید شده را با سرعت بالاتری اجرا می کنند. پس درصورتی که ساختار و تنظیمات DNS درست انجام شده باشد تا حدودی میتواند بر سرعت نمایش یک صفحه در کامپیوتر شما تاثیر بگذارد.
DNS SERVER چست؟
DNS Server در واقع همان دیتابیس بزرگی است که شامل مجموعه ای از دامین ها و IP های مرتبط می باشد.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.