Dns چیست و چگونه کار میکند

کاربرد Dns در حوزه های مختلف چگونه کار میکند و چه کاربردی در دنیای اینترنت دارد

دسته بندی

آخرین آپدیت

1400/08/14

زمان خواندن

10 دقیقه

پیمان احمدی هستم موسس سایت تیک پارس،در زمینه طراحی و برنامه نویسی سایت و اپلیکیشن فعالیت دارم

جدیدترین مقاله سایت

دسته بندی

آخرین آپدیت

1400/08/14

زمان خواندن

10 دقیقه

Dns چیست و چگونه کار میکند

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

در این مقاله خواهید خواند چگونگی کاربردDns، ویژگیهای آن در حوزه های مختلف، با ما همراه باشید 

 DNS چیزی است که به کاربران امکان می دهد به جای آدرس IP با استفاده از نام دامنه به وب سایت ها متصل شوند.  نحوه کار DNS را بیاموزید.

 DNS چیست؟

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

 هر دستگاه متصل به اینترنت دارای یک آدرس IP منحصر به فرد است که سایر دستگاه ها برای یافتن دستگاه از آن استفاده می کنند.  سرورهای DNS نیاز انسان به حفظ آدرس‌های 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، ترجمه انجام شود.

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

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

 Recursor DNS - Recursor را می توان به عنوان کتابداری در نظر گرفت که از او خواسته می شود کتاب خاصی را در جایی در کتابخانه پیدا کند.  Recursor DNS سروری است که برای دریافت پرس و جو از ماشین های مشتری از طریق برنامه هایی مانند مرورگرهای وب طراحی شده است.  معمولاً Recursor پس از آن مسئول ایجاد درخواست های اضافی به منظور برآوردن درخواست DNS مشتری است.

 سرور نام ریشه - سرور ریشه اولین گام در ترجمه (تحلیل) نام‌های میزبان قابل خواندن توسط انسان به آدرس‌های IP است.  می‌توان آن را مانند نمایه‌ای در کتابخانه در نظر گرفت که به قفسه‌های مختلف کتاب اشاره می‌کند - معمولاً به عنوان مرجعی برای مکان‌های خاص دیگر عمل می‌کند.

 سرور نام TLD - سرور دامنه سطح بالا (TLD) را می توان به عنوان یک قفسه خاص از کتاب در یک کتابخانه در نظر گرفت.  این سرور نام گام بعدی در جستجوی یک آدرس IP خاص است و آخرین بخش از نام میزبان را میزبانی می کند (در example.com، سرور TLD "com" است).

 سرور نام معتبر - این سرور نام نهایی را می‌توان به‌عنوان فرهنگ لغت روی قفسه‌ای از کتاب‌ها در نظر گرفت، که در آن می‌توان نام خاصی را به تعریف آن ترجمه کرد.  سرور نام معتبر آخرین توقف در پرس و جو سرور نام است.  اگر سرور نام معتبر به رکورد درخواستی دسترسی داشته باشد، آدرس IP را برای نام میزبان درخواستی به Recursor DNS (کتابدار) که درخواست اولیه را انجام داده است، برمی گرداند.

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

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

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

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

 

  •  سرور DNS معتبر

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

 

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

 

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

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

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

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

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

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

 کاربر «example.com» را در یک مرورگر وب تایپ می کند و درخواست به اینترنت سفر می کند و توسط یک حل کننده بازگشتی DNS دریافت می شود.

 سپس حل کننده یک سرور نام ریشه DNS (.) را پرس و جو می کند.

 سپس سرور ریشه با آدرس سرور DNS دامنه سطح بالا (TLD) (مانند .com یا .net)، که اطلاعات را برای دامنه های خود ذخیره می کند، به حل کننده پاسخ می دهد.  هنگام جستجو برای example.com، درخواست ما به سمت TLD .com است.

 سپس حل کننده درخواستی را به TLD .com می کند.

 سپس سرور TLD با آدرس IP سرور نام دامنه، example.com پاسخ می دهد.

 در نهایت، حل‌کننده بازگشتی یک پرس و جو را به سرور نام دامنه ارسال می‌کند.

 سپس آدرس IP برای example.com از سرور نام به حل کننده بازگردانده می شود.

 سپس حل‌کننده DNS با آدرس IP دامنه درخواستی ابتدا به مرورگر وب پاسخ می‌دهد.

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

 مرورگر یک درخواست HTTP به آدرس IP ارسال می کند.

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

 

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

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

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

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

 

 انواع پرس و جوهای DNS چیست؟

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

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

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

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

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

 کش DNS چیست؟  کش DNS کجا رخ می دهد؟

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

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

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

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

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

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

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

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

 اگر حل‌کننده رکوردهای A را نداشته باشد، اما سوابق NS را برای سرورهای نام معتبر داشته باشد، مستقیماً از آن سرورهای نام پرس و جو می‌کند و چندین مرحله در جستار DNS را دور می‌زند.  این میانبر از جستجوها از سرورهای نام root و .com (در جستجوی ما به عنوان مثال.com) جلوگیری می کند و کمک می کند تا حل پرس و جو DNS سریعتر رخ دهد.

 اگر حل‌کننده سوابق NS را نداشته باشد، درخواستی را به سرورهای TLD (در مورد ما .com) ارسال می‌کند و سرور ریشه را رد می‌کند.

 در صورت بعید که حل کننده سوابقی که به سرورهای TLD اشاره می کنند نداشته باشد، سرورهای ریشه را پرس و جو می کند.  این رویداد معمولاً پس از پاکسازی کش DNS رخ می دهد.

نظرات کاربران


برای ارسال نظر ابتدا وارد حساب کاربری خود شوید