اینترنت

DNS چیست؟ نحوه عملکرد DNS

DNS

DNS چیست؟

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

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

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

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

برای درک فرآیند پشت رزولوشن دی ان اس، مهم است که در مورد اجزای سخت افزاری مختلفی که یک کوئری دی ان اس باید بین آنها عبور کند، یاد بگیرید. برای مرورگر وب، جستجوی دی ان اس “پشت صحنه” انجام می شود و به غیر از درخواست اولیه نیازی به تعامل با رایانه کاربر ندارد.

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

  • Recursor DNS – Recursor را می توان به عنوان یک کتابدار در نظر گرفت که از او خواسته می شود تا کتاب خاصی را در جایی در کتابخانه پیدا کند. Recursor DNS سروری است که برای دریافت پرس و جو از ماشین های مشتری از طریق برنامه هایی مانند مرورگرهای وب طراحی شده است. معمولاً Recursor پس از آن مسئول ایجاد درخواست های اضافی به منظور برآوردن درخواست دی ان اس مشتری است.
  • سرور نام ریشه – سرور ریشه اولین گام در ترجمه (حل کردن) نام های میزبان قابل خواندن توسط انسان به آدرس های IP است. می‌توان آن را مانند نمایه‌ای در کتابخانه در نظر گرفت که به قفسه‌های مختلف کتاب اشاره می‌کند – معمولاً به عنوان مرجعی برای مکان‌های خاص دیگر عمل می‌کند.
  • سرور نام TLD – سرور دامنه سطح بالا (TLD) را می توان به عنوان یک قفسه خاص از کتاب ها در یک کتابخانه در نظر گرفت. این سرور نام گام بعدی در جستجوی یک آدرس IP خاص است و آخرین بخش از نام میزبان را میزبانی می کند (در example.com، سرور TLD “com” است).
  • سرور نام معتبر – این سرور نام نهایی را می توان به عنوان فرهنگ لغت روی قفسه ای از کتاب ها در نظر گرفت که در آن می توان یک نام خاص را به تعریف آن ترجمه کرد. سرور نام معتبر آخرین توقف در پرس و جو سرور نام است. اگر سرور نام معتبر به رکورد درخواستی دسترسی داشته باشد، آدرس IP را برای نام میزبان درخواستی به Recursor DNS (کتابدار) که درخواست اولیه را انجام داده است، برمی گرداند.

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

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

حل کننده DNS بازگشتی

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

سرور DNS معتبر

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

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

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

توجه: اغلب اطلاعات جستجوی دی ان اس به صورت محلی در داخل رایانه درخواست کننده یا از راه دور در زیرساخت دی ان اس ذخیره می شود. معمولاً 8 مرحله در جستجوی دی ان اس وجود دارد. هنگامی که اطلاعات DNS در حافظه پنهان ذخیره می شود، مراحل از فرآیند جستجوی دی ان اس نادیده گرفته می شود که باعث سریعتر شدن آن می شود. مثال زیر تمام 8 مرحله را نشان می‌دهد که هیچ چیز در حافظه پنهان وجود ندارد.

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

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

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

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

حل کننده DNS چیست؟

حل‌کننده دی ان اس اولین ایستگاه در جستجوی دی ان اس است و مسئول رسیدگی به مشتری است که درخواست اولیه را انجام داده است. حل کننده دنباله ای از پرس و جوها را شروع می کند که در نهایت منجر به ترجمه URL به آدرس IP لازم می شود.

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

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

انواع کوئری های DNS چیست؟

در یک جستجوی دی ان اس معمولی سه نوع پرس و جو رخ می دهد. با استفاده از ترکیبی از این پرس و جوها، یک فرآیند بهینه برای وضوح دی ان اس می تواند منجر به کاهش مسافت طی شده شود. در یک موقعیت ایده‌آل، داده‌های رکورد حافظه پنهان در دسترس خواهد بود، که به سرور نام دی ان اس اجازه می‌دهد یک پرس و جو غیر بازگشتی را برگرداند.

3 نوع پرس و جو DNS:

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

کش DNS چیست؟ کش DNS کجا اتفاق می افتد؟

هدف از ذخیره سازی ذخیره موقت داده ها در مکانی است که منجر به بهبود عملکرد و قابلیت اطمینان درخواست های داده می شود. کش کردن دی ان اس شامل ذخیره داده‌ها نزدیک‌تر به مشتری درخواست‌کننده است، به طوری که پرس و جوی دی ان اس می‌تواند زودتر حل شود و از درخواست‌های اضافی در زنجیره جستجوی دی ان اس جلوگیری شود، در نتیجه زمان بارگذاری بهبود می‌یابد و مصرف پهنای باند/CPU کاهش می‌یابد. داده‌های دی ان اس را می‌توان در مکان‌های مختلفی ذخیره کرد، که هر یک از آنها رکوردهای دی ان اس را برای مدت زمان مشخصی که توسط زمان تا زندگی (TTL) تعیین می‌شود، ذخیره می‌کنند.

ذخیره DNS مرورگر

مرورگرهای وب مدرن به طور پیش فرض طراحی شده اند تا رکوردهای DNS را برای مدت زمان مشخصی ذخیره کنند. هدف در اینجا واضح است. هر چه کش کردن دی ان اس به مرورگر وب نزدیک‌تر باشد، مراحل پردازش کمتری باید انجام شود تا کش را بررسی کرده و درخواست‌های صحیح را برای یک آدرس IP انجام دهید. هنگامی که درخواستی برای رکورد DNS انجام می شود، حافظه پنهان مرورگر اولین مکانی است که برای رکورد درخواستی بررسی می شود.

در کروم، با رفتن به chrome://net-internals/#dns، می‌توانید وضعیت کش دی ان اس خود را ببینید.

ذخیره سازی DNS سطح سیستم عامل (OS).

حل‌کننده دی ان اس سطح سیستم عامل، دومین و آخرین توقف محلی قبل از خروج یک درخواست دی ان اس از دستگاه شما است. فرآیند داخل سیستم عامل شما که برای رسیدگی به این پرس و جو طراحی شده است، معمولاً «حل کننده خرد» یا سرویس گیرنده دی ان اس نامیده می شود. هنگامی که حل‌کننده خرد درخواستی از یک برنامه دریافت می‌کند، ابتدا حافظه پنهان خود را بررسی می‌کند تا ببیند آیا رکورد را دارد یا خیر. اگر این کار را انجام ندهد، یک پرس و جوی دی ان اس (با مجموعه پرچم بازگشتی)، خارج از شبکه محلی به یک حل کننده بازگشتی دی ان اس در ارائه دهنده خدمات اینترنت (ISP) ارسال می کند.

هنگامی که حل‌کننده بازگشتی در داخل ISP یک کوئری دی ان اس دریافت می‌کند، مانند تمام مراحل قبلی، همچنین بررسی می‌کند که آیا ترجمه میزبان به آدرس IP درخواستی قبلاً در لایه ماندگاری محلی آن ذخیره شده است یا خیر.

حل‌کننده بازگشتی نیز بسته به نوع رکوردهایی که در حافظه پنهان خود دارد، عملکردهای اضافی دارد:

  1. اگر حل‌کننده رکوردهای A را نداشته باشد، اما رکوردهای NS را برای سرورهای نام معتبر داشته باشد، مستقیماً از آن سرورهای نام پرس و جو می‌کند و چندین مرحله در کوئری دی ان اس را دور می‌زند. این میانبر از جستجوها از سرورهای نام root و .com (در جستجوی ما به عنوان مثال.com) جلوگیری می کند و کمک می کند تا حل پرس و جو دی ان اس سریعتر رخ دهد.
  2. اگر حل‌کننده رکوردهای NS را نداشته باشد، یک پرس و جو به آن ارسال می‌کند
    سرورهای TLD (در مورد ما .com)، از سرور ریشه صرف نظر می کنند.
  3. در صورت بعید که حل کننده سوابقی که به سرورهای TLD اشاره می کنند نداشته باشد، سرورهای ریشه را پرس و جو می کند. این رویداد معمولاً پس از پاکسازی کش دی ان اس رخ می دهد.

ادامه مقالات را در مجله آی تی بورس دنبال کنید.

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