چگونگی عملکرد سیستم DNS و اهمیت طراحی سلسله مراتبی آن + ویدیو
سیستم نامگذاری دامنه یا DNS، به عنوان استخوان اصلی اینترنت عمل میکند، اما تعداد کمی از افراد به دقت نحوه عملکرد آن را میشناسند. در این مطلب، قصد داریم در مورد طراحی سیستم DNS بیشتر بدانیم و به تفصیل به عملکرد آن پرداخته و سلسله مراتبی بودن آن را بررسی کنیم.
مفهوم DNS
سیستم DNS به عنوان دایرکتوری اینترنت عمل میکند. این سیستم توانایی ترجمه نامهای دامنه قابل فهم برای انسان، مانند google.com به آدرسهای IP قابل فهم برای ماشین را دارد.
سلسله مراتب DNS
DNS به علت وجود انواع مختلفی از سرورهای DNS در سلسله مراتب خود، یکمی گیجکننده است. وقتی یک مرورگر یک پرسش DNS میکند، از یک Resolver DNS درخواست میکند. این Resolver میتواند از ارائهدهنده اینترنت ما یا از ارائهدهندههای مشهور DNS مانند 1.1.1.1 از Cloudflare یا 8.8.8.8 از Google باشد. اگر Resolver DNS جواب مورد نظر را در حافظه نداشته باشد، به دنبال سرور نامی معتبر مناسب میگردد و از آن سوال میکند. سرور نامی معتبر، سروری است که پاسخ مورد نظر را نگه دارد.
برای یافتن سرور Name معتبر، سه سطح اصلی سرورهای DNS معتبر وجود دارد. این سطوح شامل سرورهای نام اصلی (root name servers)، سرورهای نام سطح بالا (TLD) و سرورهای نامی معتبر برای دامنهها میشوند.
وقتی یک کاربر نام google.com را در مرورگر وارد میکند، یک پرسش DNS آغاز میشود. این پرسش از حافظه مرورگر چک میشود و اگر جوابی نداشته باشد، یک فراخوانی سیستم عامل صورت میگیرد. سپس Resolver DNS درخواست را از حافظه خود چک میکند و اگر جواب موجود نباشد یا منقضی شده باشد، به سرور نام اصلی میپرسد.
این سرور نام اصلی باز میگردد و لیست سرورهای نام TLD .com را ارائه میدهد. Resolver DNS به سرور نام TLD .com متصل میشود و این سرور لیست سرورهای نامی معتبر google.com را ارائه میدهد. در نهایت، Resolver DNS به سرور نامی معتبر google.com متصل میشود و آدرس IP google.com را باز میگرداند.
TLD مخفف عبارت Top Level Domain می باشد که به معنای دامنه سطح بالا می باشد. TLD ها بالا ترین رتبه در پسوند های دامنه هستند که در محدوده نام و در منطقه ریشه Root Zone قرار گرفته و نصب میشود. دامنههای سطح بالا یا TLD دارای طبقات مختلفی بوده و به حروف بزرگ و کوچک حساس نیستند. .com، .org و .net که بالاترین سطح در سلسله مراتب DNS هستند، خدمت میکند. اطلاعات مربوط به این دامنهها در DNS سطح بالا ذخیره میشود و این سطح از سلسله مراتب مسئول تخصیص نیز هست. انواع دامنه سطح بالا بر اساس کاربردهای مختلف به ۳ دسته مختلف تقسیم می شود:
- ccTLDL پسوند دامنه tld کشوری یا CcTLD که از عبارت Country code Top-level Domain گرفته شده است، جهت نمایش وب سایتهای شخصی و سازمانی داخل کشورها ارائه می شود.
- gTLD یا همان Generic Top-level Domains به دامنه های سطح بالای عمومی گفته می شود که کاربران به طور عمومی می توانند آن را ثبت کنند.
- sTLD یا Sponsored Top-level Domains به معنی دامنههای سطح بالا حمایت شده است و به وسیله سازمان های خصوصی ارائه می شود و ثبت آنها قوانین خاصی دارد.
مشکلات بهروزرسانی DNS برای سیستمهای فعال با ترافیک زیاد
پخش DNS به دلیل وجود TTL در هر رکورد DNS کند است. برخی از TTLهای پیشفرض خیلی طولانی هستند. همچنین، هر Resolver DNS شهروند خوبی نیست و برخی از آنها TTL را رعایت نمیکنند. برای کاهش این مشکلات، دو مرحله عملی را میتوان انجام داد. اولاً، TTL برای رکوردی که میخواهیم تغییر دهیم را به مدت زمان کوتاهی، به عنوان مثال 60 ثانیه، کاهش دهید وقتی تغییر واقعاً اتفاق میافتد. این به سرورهای DNS کافی زمان میدهد تا TTL کاهش یافته جدید را دریافت کنند. دوماً، سرور را به آدرس IP قدیمی کار کننده رها نکنید و تا زمانی که ترافیک به سطح قابل قبولی کاهش پیدا کند، سرور قدیمی را خاموش نکنید. این اقدامات به دلیل اینکه برخی از Resolver های DNS TTL را رعایت نمیکنند، زمان و صبر بیشتری ممکن است طول بکشد.
امیدواریم شما حالا درک بهتری از چگونگی طراحی سلسله مراتبی DNS داشته باشید و چگونگی افزایش ایمنی و پایداری این سیستم را متوجه شده باشید. به یاد داشته باشید که DNS یکی از اجزای مهم است که نامهای دامنه را به آدرسهای IP ترجمه میکند و از اهمیت بخش اصلی اینترنت برخوردار است.