علم و فناوریکامپیوتر و آی تی

DNS (Domain Name System) چیست؟ نحوه کار آن چگونه است؟

Domain Name System (DNS) دفترچه تلفن اینترنتی است. انسان ها از طریق نام دامنه مانند nytimes.com یا espn.com به اطلاعات آنلاین دسترسی پیدا می کنند. مرورگر های وب از طریق آدرس های پروتکل اینترنت (IP) با یکدیگر ارتباط برقرار می کنند. DNS ها نام دامنه را به آدرس IP ترجمه می کند تا مرورگرها بتوانند منابع اینترنت را بارگیری کنند.

هر دستگاه متصل به اینترنت دارای یک IP آدرس منحصر به فرد است که دستگاه های دیگر از آن برای یافتن دستگاه استفاده می کنند. دی ان اس سرور ها نیاز به انسان برای به خاطر سپردن IP آدرس های مانند 192.168.1.1 (در IPv4) یا IP آدرس های پیچیده تر و جدید تر مانند 2400: cb00: 2048: 1 :: c629: d7a2 (در IPv6) را از بین می برند.

DNS چیست؟

DNS چگونه کار می کند؟

فرآیند دی ان اس شامل تبدیل نام دامنه (مانند www.example.com) به IP آدرس رایانه ای (مانند 192.168.1.1) است. در اینترنت به هر دستگاه یک آدرس IP داده می شود و این آدرس برای یافتن دستگاه اینترنتی مناسب ضروری است، مانند آدرس خیابان که برای یافتن خانه خاصی استفاده می شود. هنگامی که یک کاربر می خواهد یک صفحه وب را بارگیری کند، باید ترجمه ای بین آنچه کاربر در مرورگر وب خود (example.com) تایپ می کند و آدرس متناسب با ماشین برای پیدا کردن صفحه وب example.com صورت گیرد.

4 دی ان اس سرور در بارگیری یک صفحه وب دخیل هستند:

  1. recursor DNS: می توان recursor را یک کتابدار دانست که از او خواسته می شود کتاب خاصی را در جایی از کتابخانه پیدا کند. DNS recursor سروری است که برای دریافت درخواست از ماشین های کلاینت از طریق برنامه هایی مانند مرورگر های وب طراحی شده است. به طور معمول، پاسخگوی انجام درخواست های اضافی به منظور جلب رضایت درخواست مشتری است.
  2. Root nameserver: سرور root نام دامنه وب سایت خوانا برای انسان را به اعداد قابل خواندن برای کامپیوتر یا همان آدرس IP تبدیل می کند. می توان آن را مانند فهرستی در کتابخانه دانست که به قفسه های مختلف کتاب اشاره دارد، معمولاً به عنوان مرجعی برای مکان های خاص دیگر عمل می کند.
  3. TLD nameserver: سرور دامنه سطح بالا (TLD) را می توان به عنوان مجموعه خاصی از کتاب ها در کتابخانه در نظر گرفت. این nameserver مرحله بعدی برای جستجوی یک آدرس IP خاص است و آخرین قسمت نام دامنه را پشتیبانی می کند (در example.com، می توان گفت TLD همان COM است).
  4. nameserver معتبر: این namesrever نهایی را می توان به عنوان یک فرهنگ لغت بر روی مجموعه ای از کتاب ها تصور کرد که در آن یک نام خاص را می توان به تعریف خود ترجمه کرد. nameserver معتبر آخرین توقف در جستجوی nameserver است. اگر nameserver معتبر به رکورد درخواستی دسترسی داشته باشد، آدرس IP مربوط به نام میزبان درخواستی را به DNS Recursor (کتابدار) که درخواست اولیه را داده است برمی گرداند.
سرور دی ان اس

چه تفاوتی بین یک سرور معتبر DNS و یک DNS بازگشتی وجود دارد؟

هر دو مفهوم به سرور ها (گروه های سرور) اشاره دارند که در زیر ساخت دی ان اس جدایی ناپذیر هستند، اما هر کدام نقش متفاوتی دارند و در مکان های مختلفی در داخل پایپ لاین یک کوئری از دی ان اس هستند. یکی از راه های فهمیدن تفاوت، الگوریتم بازگشتی در ابتدای جستجوی دی ان اس و nameserver معتبر در پایان است.

دی ان اس بازگشتی

دی ان اس بازگشتی رایانه ای است که به درخواست تکراری مشتری پاسخ می دهد و ردیابی رکورد دی ان اس زمان می برد. این کار را با ایجاد یک سری درخواست انجام می دهد تا زمانی که به سرور معتبر دی ان اس برای رکورد درخواستی برسد (یا در صورت پیدا نکردن رکورد خطایی را از بین می برد یا خطا را برمی گرداند). خوشبختانه، رفع کننده های خطای دی ان اس بازگشتی همیشه نیازی به درخواست های متعدد برای ردیابی سوابق مورد نیاز برای پاسخگویی به مشتری ندارند.

DNS  بازگشتی

سرور معتبر دی ان اس

به زبان ساده، یک سرور معتبر دی ان اس سروری است که در واقع سوابق منابع دی ان اس را نگهداری و مسئولیت آن را بر عهده دارد. این سرور در پایین زنجیره جستجوی DNS است که با منابع کوئری رکورد شده پاسخ می دهد، در نهایت به مرورگر وب که درخواست می کند به IP آدرس مورد نیاز برای دسترسی به یک وب سایت یا سایر منابع وب اجازه می دهد. یک nameserver معتبر می تواند برای کوئری از داده های خود استفاده کند، بدون اینکه نیازی به کوئری یک منبع دیگر باشد، زیرا منبع نهایی درست برای برخی از رکورد های دی ان اس است.

لازم به ذکر است که در مواردی که درخواست مربوط به یک زیر دامنه مانند foo.example.com است، یک nameserver اضافی بعد از nameserver معتبر که مسئول ذخیره سازی رکورد CNAME زیر دامنه است، به دنباله اضافه می شود.

یک تفاوت اساسی بین بسیاری از سرویس های دی ان اس و سرویس Cloudflare وجود دارد. رفع کننده های خطای دی ان اس های بازگشتی مختلف مانند Google DNS ،OpenDNS و ارائه دهندگانی مانند Comcast همه مرکز داده های رفع کننده ی خطای دی ان اس را حفظ می کنند. این الگوریتم ها امکان جستجوی سریع و آسان را از طریق دسته های بهینه شده سیستم های رایانه ای بهینه سازی شده دی ان اس فراهم می کنند، اما تفاوت های اساسی با nameserver میزبان Cloudflare دارند.

Cloudflare nameserver سطح زیرساخت را که به طور یکپارچه در عملکرد اینترنت نقش دارند، حفظ می کند. یک مثال کلیدی شبکه سرور f-root است که Cloudflare تا حدی مسئول میزبانی آن است. F-root یکی از مولفه های زیرساخت nameserver دی ان اس در سطح روت است که مسئول میلیارد ها درخواست اینترنت در روز است. شبکه Anycast ما را در موقعیت بی نظیری قرار می دهد تا حجم زیادی از ترافیک دی ان اس را بدون وقفه در سرویس کنترل کنیم.

DNS query

مراحل جستجوی DNS چیست؟

در بیشتر شرایط، دی ان اس مربوط به ترجمه یک نام دامنه به IP آدرس مناسب است. برای یادگیری نحوه کار این فرآیند، به شما کمک می کند مسیر جستجوی دی ان اس را هنگام حرکت از یک مرورگر وب، از طریق فرآیند جستجوی دی ان اس، دوباره دنبال کنید. بیایید نگاهی به مراحل بیندازیم.

توجه: غالباً اطلاعات کوئری دی ان اس به صورت محلی درون رایانه جستجوگر یا از راه دور در زیرساخت دی ان اس ذخیره می شود.

به طور معمول 8 مرحله در جستجوی دی ان اس وجود دارد. وقتی اطلاعات دی ان اس پنهان می شوند، مراحل جستجوی دی ان اس رد می شوند که باعث سریع تر شدن آن ها می شود. مثال زیر هر 8 مرحله را که هیچ حافظه ای پنهان نشده است مشخص می کند.

8 مرحله در جستجوی DNS:

  1. یک کاربر “example.com” را در یک مرورگر وب تایپ می کند و درخواست به اینترنت می رود و توسط یک رفع کننده خطای DNS بازگشتی دریافت می شود.
  2. سپس توسط الگوریتم یک nameserver ریشه DNS را جستجو می کند.
  3. سپس سرور root با آدرس دامنه سطح بالا (TLD) DNS (مانند .com یا .net) که اطلاعات دامنه های خود را ذخیره می کند، به آن پاسخ می دهد. هنگام جستجو برای example.com، درخواست ما به سمت TLD.com است.
  4. سپس درخواست راه حل از TLD.com می کند.
  5. سپس سرور TLD به IP آدرس دامنه، example.com پاسخ می دهد.
  6. سرانجام، رفع کننده خطای دی ان اس بازگشتی کوئری را به nameserver دامنه ارسال می کند.
  7. سپس IP آدرس برای مثال com. از nameserver به رفع کننده خطای دی ان اس برگشت داده می شود.
  8. سپس رفع کننده خطای DNS با IP آدرس دامنه ای که در ابتدا درخواست شده است به مرورگر وب پاسخ می دهد.

هنگامی که 8 مرحله جستجوی DNS، آی پی آدرس را برای مثال com. بازگرداند، مرورگر می تواند درخواست صفحه وب را انجام دهد:

مرورگر درخواست HTTP را به IP آدرس ارائه می دهد و سرور در آن IP صفحه وب را برای نمایش در مرورگر برمی گرداند (مرحله 10).

رفع کننده خطای DNS

رفع کننده خطای DNS چیست؟

رفع کننده خطای DNS اولین توقف در جستجوی DNS است و مسئولیت رسیدگی به مشتری ای را که درخواست اولیه را انجام داده است، بر عهده دارد. پاسخ دهنده یک سری سوالات را شروع می کند که در نهایت منجر به ترجمه URL به IP آدرس لازم می شود.

توجه: یک جستجوی معمولی دی ان اس غیرمستقیم شامل هر دو کوئری بازگشتی و تکراری است.

مهم این است که بین یک درخواست DNS بازگشتی و یک DNS بازگشتی تفاوت ایجاد کنید. عبارت query به درخواستی که برای حل کردن دی ان اس نیاز دارد و نیاز به جستجو دارد، گفته می شود. DNS بازگشتی به کامپیوتر رایانه ای گفته می شود که یک کوئری بازگشتی را می پذیرد و پاسخ را با درخواست های لازم پردازش می کند.

انواع کوئری DNS کدامند؟

در یک جستجوی DNS معمولی، سه نوع کوئری وجود دارد. با استفاده از ترکیبی از این کوئری ها، یک فرایند بهینه شده برای DNS می تواند منجر به کاهش فاصله پیموده شده شود. در یک موقعیت ایده آل، داده های ثبت شده پنهان در دسترس خواهد بود، به nameserver DNS اجازه می دهد تا یک کوئری غیر بازگشتی را بازگرداند.

3 نوع کوئری DNS:

  1. کوئری بازگشتی: در یک کوئری بازگشتی، یک سرویس گیرنده DNS ایجاب می کند که یک DNS سرور (معمولاً یک رفع کننده خطای DNS بازگشتی) درصورتی که پاسخ دهنده نتواند اطلاعات را پیدا کند، با رکورد منبع درخواستی یا پیام خطا به مشتری پاسخ دهد.
  2. کوئری تکراری: در این شرایط سرویس گیرنده DNS به یک سرور DNS اجازه می دهد تا بهترین جواب ممکن را برگرداند. اگر سرور DNS مورد پرسش مطابقت با نام کوئری را نداشته باشد، ارجاع را به یک سرور DNS معتبر برای سطح پایین تر فضای نام دامنه باز می گرداند. سپس مشتری DNS از آدرس ارجاع کوئری ایجاد می کند. این فرایند با DNS سرور های اضافی در زنجیره کوئری ادامه می یابد تا زمانی که خطا یا وقفه زمانی رخ دهد.
  3. کوئری غیر بازگشتی: این امر معمولاً هنگامی اتفاق می افتد که مشتری رفع کننده خطای DNS از یک DNS سرور برای رکوردی که به آن دسترسی دارد یا معتبر است کوئری ایجاد کند. به طور معمول، یک DNS سرور رکورد های DNS را برای جلوگیری از مصرف پهنای باند اضافی و بارگیری در سرور های بالادست، ذخیره می کند.

منبع: CLOUDFLARE

نمایش بیشتر

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا