سیستم نام دامنه (DNS) دفترچه تلفن اینترنت است. انسان ها از طریق نام های دامنه مانند nytimes.com یا espn.com به اطلاعات آنلاین دسترسی دارند. مرورگرهای وب از طریق آدرس های پروتکل اینترنت (IP) تعامل دارند. DNS نام دامنه را به آدرس های IP ترجمه می کند تا مرورگرها بتوانند منابع اینترنتی را بارگیری کنند.
بخوانید >> طراحی سایت در تبریز
هر دستگاه متصل به اینترنت دارای یک آدرس IP منحصر به فرد است که سایر دستگاه ها برای یافتن دستگاه از آن استفاده می کنند. سرورهای DNS نیاز انسان به حفظ آدرسهای IP مانند ۱۹۲.۱۶۸.۱.۱ (در IPv4) یا آدرسهای IP پیچیدهتر الفبایی عددی جدیدتر مانند ۲۴۰۰:cb00:2048:1::c629:d7a2 (در IPv6) را از بین میبرند.
DNS چگونه کار می کند؟
فرآیند DNS شامل تبدیل نام میزبان (مانند www.example.com) به یک آدرس IP مناسب برای رایانه (مانند ۱۹۲.۱۶۸.۱.۱) است. یک آدرس IP به هر دستگاه در اینترنت داده می شود، و این آدرس برای یافتن دستگاه اینترنتی مناسب ضروری است . مانند آدرس خیابان برای یافتن یک خانه خاص. هنگامی که کاربر می خواهد یک صفحه وب را بارگیری کند، باید بین آنچه کاربر در مرورگر وب خود تایپ می کند (example.com) و آدرس ماشین پسند لازم برای مکان یابی صفحه وب example.com، ترجمه انجام شود.
برای درک فرآیندDNS، مهم است که در مورد اجزای سخت افزاری مختلفی که یک کوئری DNS باید بین آنها عبور کند، یاد بگیرید. برای مرورگر وب، جستجوی DNS “پشت صحنه” انجام می شود و به غیر از درخواست اولیه نیازی به تعامل با رایانه کاربر ندارد.
۴ سرور DNS در بارگذاری یک صفحه وب دخیل هستند:
Recursor DNS را می توان به عنوان یک کتابدار در نظر گرفت که از او خواسته می شود تا کتاب خاصی را در جایی در کتابخانه پیدا کند. Recursor DNS سروری است که برای دریافت پرس و جو از ماشین های مشتری از طریق برنامه هایی مانند مرورگرهای وب طراحی شده است. معمولاً Recursor پس از آن مسئول ایجاد درخواست های اضافی به منظور برآوردن درخواست DNS مشتری است.
Root nameserver سرور اصلی اولین گام در ترجمه (حل کردن) نام های میزبان قابل خواندن توسط انسان به آدرس های IP است. میتوان آن را مانند نمایهای در کتابخانه در نظر گرفت که به قفسههای مختلف کتاب اشاره میکند . معمولاً به عنوان مرجعی برای مکانهای خاص دیگر عمل میکند.
سرور نام TLD – سرور دامنه سطح بالا (TLD) را می توان به عنوان یک قفسه خاص از کتاب ها در یک کتابخانه در نظر گرفت. این سرور نام گام بعدی در جستجوی یک آدرس IP خاص است و آخرین بخش از نام میزبان را میزبانی می کند (در example.com، سرور TLD “com” است).
TLD nameserver سرور دامنه سطح بالا (TLD) را می توان به عنوان یک قفسه خاص از کتاب در یک کتابخانه در نظر گرفت. این سرور نام گام بعدی در جستجوی یک آدرس IP خاص است و آخرین بخش از نام میزبان را میزبانی می کند (در example.com، سرور TLD “com” است).
Authoritative nameserver این سرور نام نهایی را می توان به عنوان یک فرهنگ لغت در یک قفسه کتاب در نظر گرفت که در آن نام خاصی را می توان به تعریف آن ترجمه کرد. سرور نام معتبر آخرین توقف در پرس و جو سرور نام است. اگر سرور نام معتبر به رکورد درخواستی دسترسی داشته باشد، آدرس IP را برای نام میزبان درخواستی به Recursor DNS (کتابدار) که درخواست اولیه را انجام داده است، برمی گرداند.
تفاوت بین سرور DNS معتبر و حل کننده DNS بازگشتی چیست؟
هر دو مفهوم به سرورهایی (گروههایی از سرورها) اشاره میکنند که یکپارچه از زیرساختهای DNS هستند، اما هر یک نقش متفاوتی را ایفا میکنند و در مکانهای مختلفی در داخل خط لوله پرس و جوی DNS موجود هستند. یکی از راههای فکر کردن به تفاوت این است که حلکننده بازگشتی در ابتدای کوئری DNS و نام سرور معتبر در انتهای آن قرار دارد.
بخوانید >> طراحی سایت در اهر
حل کننده DNS بازگشتی
حلکننده بازگشتی رایانهای است که به درخواست بازگشتی از مشتری پاسخ میدهد و برای ردیابی رکورد DNS زمان میبرد. این کار را با ایجاد یک سری درخواست انجام می دهد تا زمانی که به نام سرور معتبر DNS برای رکورد درخواستی برسد (یا در صورت یافت نشدن رکورد، زمان را به پایان می رساند یا خطا را برمی گرداند). خوشبختانه، حلکنندههای DNS بازگشتی برای ردیابی سوابق مورد نیاز برای پاسخگویی به مشتری، همیشه نیازی به درخواستهای متعدد ندارند. کش کردن یک فرآیند تداوم داده است که به اتصال کوتاه درخواست های ضروری با ارائه رکورد منبع درخواستی در جستجوی DNS کمک می کند.
Authoritative DNS server
به بیان ساده، سرور 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 ذخیره می شود. معمولاً ۸ مرحله در جستجوی DNS وجود دارد. هنگامی که اطلاعات DNS در حافظه پنهان ذخیره می شود، مراحل از فرآیند جستجوی DNS نادیده گرفته می شود که باعث سریعتر شدن آن می شود. مثال زیر تمام ۸ مرحله را نشان میدهد که هیچ چیز در حافظه پنهان وجود ندارد.
۱-کاربر «example.com» را در یک مرورگر وب تایپ می کند و درخواست دسترسی به اینترنت را دارد و توسط یک حل کننده بازگشتی DNS دریافت می شود.
۲-سپس حل کننده یک سرور نام ریشه DNS (.) را پرس و جو می کند.
۳-سپس سرور ریشه با آدرس سرور DNS دامنه سطح بالا (TLD) (مانند .com یا .net)، که اطلاعات را برای دامنه های خود ذخیره می کند، به حل کننده پاسخ می دهد. هنگام جستجو برای example.com، درخواست ما به سمت TLD .com است.
۴-سپس حل کننده درخواستی را به TLD .com می کند.
۵-سپس سرور TLD با آدرس IP سرور نام دامنه، example.com پاسخ می دهد.
۶-در نهایت، حلکننده بازگشتی یک پرس و جو را به سرور نام دامنه ارسال میکند.
۷-سپس آدرس IP برای example.com از سرور نام به حل کننده بازگردانده می شود.
۸-سپس حلکننده DNS با آدرس IP دامنه درخواستی ابتدا به مرورگر وب پاسخ میدهد.
حل کننده DNS چیست؟
حلکننده DNS اولین ایستگاه در جستجوی DNS است و مسئول رسیدگی به مشتری است که درخواست اولیه را انجام داده است. حل کننده دنباله ای از پرس و جوها را شروع می کند که در نهایت منجر به ترجمه URL به آدرس IP لازم می شود.
توجه: یک جستجوی DNS غیر کش معمولی شامل پرس و جوهای بازگشتی و تکراری می شود.
مهم است که بین یک پرس و جو DNS بازگشتی و یک حل کننده DNS بازگشتی تفاوت قائل شوید. پرس و جو به درخواستی اشاره دارد که به یک حل کننده DNS انجام شده است که به حل پرس و جو نیاز دارد. حلکننده بازگشتی DNS رایانهای است که یک درخواست بازگشتی را میپذیرد و با درخواستهای لازم، پاسخ را پردازش میکند.
انواع کوئری های DNS چیست؟
در یک جستجوی DNS معمولی سه نوع پرس و جو رخ می دهد. با استفاده از ترکیبی از این پرس و جوها، یک فرآیند بهینه برای وضوح DNS می تواند منجر به کاهش مسافت طی شده شود. در یک موقعیت ایدهآل، دادههای رکورد حافظه پنهان در دسترس خواهد بود، که به سرور نام DNS اجازه میدهد یک پرس و جو غیر بازگشتی را برگرداند.
۳ نوع پرس و جو DNS:
۱-پرس و جو بازگشتی : در یک پرس و جو بازگشتی، یک سرویس گیرنده DNS نیاز دارد که یک سرور DNS (معمولاً یک حل کننده بازگشتی DNS) در صورتی که حل کننده نتواند رکورد را پیدا کند، با رکورد منبع درخواستی یا یک پیام خطا به مشتری پاسخ دهد.
۲-پرس و جو تکرار شونده – در این شرایط، سرویس گیرنده DNS به سرور DNS اجازه می دهد بهترین پاسخی را که می تواند ارائه دهد. اگر سرور DNS مورد بررسی برای نام پرس و جو مطابقت نداشته باشد، یک ارجاع به سرور DNS معتبر برای سطح پایینتری از فضای نام دامنه را برمیگرداند. سپس مشتری DNS یک پرس و جو به آدرس ارجاع می دهد. این فرآیند با سرورهای DNS اضافی در زنجیره پرس و جو ادامه می یابد تا زمانی که یک خطا یا مهلت زمانی رخ دهد.
۳-پرس و جو غیر بازگشتی – معمولاً زمانی رخ می دهد که یک سرویس گیرنده حل کننده DNS از یک سرور DNS برای رکوردی که به آن دسترسی دارد یا به دلیل معتبر بودن رکورد یا وجود رکورد در حافظه پنهان آن به آن دسترسی دارد، پرس و جو می کند. به طور معمول، یک سرور DNS برای جلوگیری از مصرف پهنای باند اضافی و بارگذاری در سرورهای بالادست، سوابق DNS را کش می کند.
کش DNS چیست؟ کش DNS کجا اتفاق می افتد؟
هدف از ذخیره سازی T ذخیره موقت داده ها در مکانی است که منجر به بهبود عملکرد و قابلیت اطمینان درخواست های داده می شود. کش کردن DNS شامل ذخیره دادهها نزدیکتر به مشتری درخواستکننده است، به طوری که پرس و جوی DNS میتواند زودتر حل شود و از درخواستهای اضافی در زنجیره جستجوی DNS جلوگیری شود، در نتیجه زمان بارگذاری بهبود مییابد و مصرف پهنای باند/CPU کاهش مییابد. دادههای DNS را میتوان در مکانهای مختلفی ذخیره کرد، که هر یک از آنها رکوردهای DNS را برای مدت زمان مشخصی که توسط زمان تا زندگی (TTL) تعیین میشود، ذخیره میکنند.
ذخیره DNS مرورگر
مرورگرهای وب مدرن به طور پیش فرض طراحی شده اند تا رکوردهای DNS را برای مدت زمان مشخصی ذخیره کنند. هدف در اینجا واضح است. هرچه کش کردن DNS به مرورگر وب نزدیکتر باشد، مراحل پردازش کمتری باید انجام شود تا کش را بررسی کرده و درخواستهای صحیح را برای یک آدرس IP انجام دهید. هنگامی که درخواستی برای رکورد DNS انجام می شود، حافظه پنهان مرورگر اولین مکانی است که برای رکورد درخواستی بررسی می شود.
ذخیره سازی DNS سطح سیستم عامل (OS)
حلکننده DNS سطح سیستم عامل، دومین و آخرین توقف محلی قبل از خروج یک درخواست DNS از دستگاه شما است. فرآیند داخل سیستم عامل شما که برای رسیدگی به این پرس و جو طراحی شده است، معمولاً «حل کننده خرد» یا سرویس گیرنده DNS نامیده می شود. هنگامی که حلکننده خرد درخواستی از یک برنامه دریافت میکند، ابتدا حافظه پنهان خود را بررسی میکند تا ببیند آیا رکورد را دارد یا خیر. اگر این کار را انجام ندهد، یک پرس و جوی DNS (با مجموعه پرچم بازگشتی)، خارج از شبکه محلی به یک حل کننده بازگشتی DNS در ارائه دهنده خدمات اینترنت (ISP) ارسال می کند.
دیگر مقالات وب سایت :
با تشکر از نوشته جالب شما واقعا DNS را کامل توضیح دادین