آیا تا به حال مجبور شدهاید با تنظیمات Wi-Fi خود سر و کار داشته باشید، مثلا در کافی شاپها یا رستورانها، زمانی که اتصال به درستی صورت نمیگیرد، به احتمال زیاد با عبارت DNS Server برخورد کردهاید. اما نیم سرور یا DNS به چه معناست و چگونه کار میکند؟ اگر برای شما نیز این سؤال پیش آمده و قصد دارید اطلاعات بهتر و بیشتری پیرامون نیمسرور DNS بدانید، با وب ات ساین در این مطلب همراه باشید تا به تمامی اطلاعات پیرامون آن بپردازیم.
اصطلاحات مقاله
قبل از این که به سراغ معرفی نیمسرور و هر آنچه که باید در رابطه با آن بدانید برویم، ابتدا به بررسی اصطلاحاتی میپردازیم که در این مقاله ممکن است بارها با آنها مواجه شوید.
- Query
query به یک درخواست داده از یک پایگاه داده اشاره دارد.
- Stub Resolver
Stub Resolver درخواست را دریافت کرده و به سمت DNS هدایت میکند. پس از بررسی، اگر پاسخی در این بین باشد آن را برگردانده و اگر نباشد درخواست به فرآیند دیگری منتقل میشود.
- DNS Resolvers
DNS Resolvers به سرور یا گروهی از سرورها اشاره میکند.
- root nameservers
root nameservers به درخواستهایی که مربوط به قسمت ریشه هستند، پاسخ میدهد.
- recursive resolvers
recursive resolvers به درخواستهای کلاینت پاسخ میدهد و به ردیابی رکورد DNS میپردازد.
- authoritative nameservers
همان سرور DNS است که به پاسخ query ها در رابطه با تبدیل نام به IP یا سایر درخواستها میپردازد.
معرفی اختصاصی نیم سرور یا DNS
سیستم نام دامنه (Domain Name System|DNS) یا نیمسرور یک سیستم نامگذاری سلسله مراتبی است که امکان ارتباط بین دستگاههای موجود در شبکه را فراهم میکند. این سیستم معمولا، نامهای دامنه قابل خواندن برای افراد (مانند webatsign.com) را به آدرسهای پروتکل اینترنتی (IP) سازگار با رایانه (مانند 104.239.197.100) ترجمه میکند.
آدرس دهی IP وسیلهای منطقی برای تخصیص آدرس به دستگاههای موجود در شبکه است. هر دستگاه متصل به یک شبکه نیاز به یک آدرس IP منحصر به فرد دارد. در واقع در این زمینه هدف DNS تفکیک نام است، برای حل یک نام دامنه کاملا واجد شرایط به یک آدرس IP قابل خواندن.
DNS اساسا به ما این امکان را میدهد که بدون نیاز به حفظ یک رشته اعداد مانند 10.239.17.100 در IPv4 به وبسایتها متصل شویم. یا حتی آدرسهای الفبایی عددی پیچیدهتر در IPv6 جدیدتر، مانند 20:db8::8a3f4362:789. علاوه بر این، به یک سرور اجازه میدهد بسته به نام دامنهای که مرورگر شما از آن درخواست میکند، وب سایتهای مختلفی را ارائه دهد.
با DNS، تنها چیزی که هنگام باز کردن مرورگرهای وب باید بدانیم نام وب سایتها است. در ادامه این مطلب ما به برخی از تاریخچه و اصول اولیه نحوه عملکرد یک query برای DNS خواهیم پرداخت. در مرحله دوم، ما چهار نوع سرور را که فرآیند جستجو را انجام میدهند، بررسی خواهیم کرد. سرانجام، به برخی از مفاهیم پیشرفته و بهترین شیوهها اشاره میکنیم.
نگاهی مختصر به تاریخچه نیم سرور
ARPANET (شبکه آژانس پروژههای تحقیقاتی پیشرفته) وزارت دفاع ایالات متحده در ابتدا IP را توسعه داد. در نتیجه، مراکز تحقیقاتی ایالات متحده با سرعت بیشتری اطلاعات را بین خود به اشتراک گذاشتند. برای انجام این کار، از دایرکتوری عظیمی از وبسایتها و آدرسهای IP متناظر آنها استفاده شد.
در دهه ۱۹۷۰ تعداد کامپیوترهای این شبکه به سرعت در حال افزایش بود اما به نوعی سیستم ردیابی آنها سخت و از انسجام کافی برخوردار نبود. متعاقبا، آدرسهای IP عددی بهطور فزایندهای طولانی شد و به خاطر سپردن آنها غیرممکن بود و عملا تنها یک سیستم واحد برای سادهسازی شبکه مورد نیاز بود.
دانشمندان کامپیوتر آمریکایی و پیشگامان اینترنت، پاول موکاپتریس و جان پستل، سیستم نام دامنه را در سال ۱۹۸۳ اختراع کردند. در سال ۱۹۸۶، کارگروه مهندسی اینترنت (IETF) آن را به عنوان یکی از استانداردهای اصلی اینترنت تایید کرد.
DNS در لایه ۷، لایه برنامه، در مدل OSI قرار دارد. این مدل ارتباطات بین شبکههای کامپیوتری را به هفت لایه انتزاعی تقسیم میکند که هر یک عملکرد مشخصی را در ارتباطات شبکهای انجام میدهند. لایه ۷ پروتکلهایی را در بر میگیرد که برنامهها برای انجام کار خود و انتقال دادهها به کاربران نهایی به آنها تکیه میکنند.
بررسی عمل اساسی نیم سرور به نام query
شما رایانه یا گوشی هوشمند خود را که دستگاه مشتری نیز نامیده میشود، هدایت میکنید تا از یک وبسایت بازدید کند. برای انجام این کار، دستگاه شما یک درخواست یا درخواست DNS ارسال میکند. stub resolver بخشی از دستگاه مشتری است که این درخواستها را تسهیل میکند.
یک سرور نام DNS رکوردهای DNS را ذخیره میکند یا با سرورهای دیگر ارتباط برقرار میکند. هنگامی که یک درخواست توسط یک دستگاه ارسال میشود، سرورهای نام دامنه و Resolvers وارد عمل میشوند. آنها اطمینان میدهند که query از رکورد مربوطه، پاسخ دریافت میکند.
به طور کلی دو نوع query وجود دارد:
query بازگشتی
این مورد بین یک دستگاه کلاینت و یک Resolver یا سرور محلی DNS رخ میدهد. مشتری یک تفکیک نام میخواهد و سرور باید پاسخ کاملی را ارائه دهد. از طرف دیگر، اگر سرور نتواند یکی را ارائه کند، یک query تکراری را شروع میکند.
query غیر بازگشتی (یا تکراری)
این query بین یک سرور محلی و سایر سرورهای DNS رخ میدهد. اغلب با root nameservers شروع میشود. سرور محلی نیازی به وضوح نام ندارد. متعاقبا سایر سرورها میتوانند با پاسخ یا ارجاع به سرور دیگری پاسخ دهند.
Queryها که به جستجوی DNS نیز معروف هستند، همیشه در حال انجام وظیفه هستند. این پرسشهای DNS داخلی هرگز به اینترنت عمومی راه پیدا نمیکنند. در تنظیمات کسبوکار، یک سرور DNS داخلی اختصاصی تمام نامهای DNS داخلی داخل شبکه شما را حل میکند. از سوی دیگر، برای وبسایتهای خارجی، queryها به خارج از شبکه شما ارسال میشوند و برای حل، به سرورهای خارجی متکی هستند.
سرورهای DNS چگونه کار میکنند؟
دو نوع سرور DNS وجود دارد که عبارتاند از: سرور های recursive resolvers و سرورهای نام معتبر یا authoritative nameservers. نوع دوم شامل سرورهای ریشه و همچنین سرورهای دامنه سطح بالا (TLD) است. (یک TLD آخرین بخش یک دامنه است، مانند (.com یا .org) سرورهای نام معتبر گاهی اوقات به عنوان سرورهای DNS معتبر نیز شناخته میشوند. به طور معمول، این موارد در یک زنجیره جستجو با هم کار میکنند تا یک آدرس IP را به دستگاه مشتری تحویل دهند.
ذخیرهسازی
نکته مهم: این اطلاعات اغلب به صورت محلی در داخل دستگاه یا جایی در زیرساخت سرور DNS ذخیره میشود. در نتیجه، اطلاعات ذخیره شده در حافظه پنهان مراحل بعدی را دور میزنند و رکورد را تحویل میدهند. مطمئنا سرورها پاسخها را در حافظه پنهان نگه میدارند تا queryها را با کارایی بیشتری ارائه دهند.
هشت مرحله برای جستجو
بسیاری از سناریوها نیاز به جستجو دارند. در اینجا هشت مرحله اساسی برای یک مورد بسیار رایج، با استفاده از یک مرورگر وب آورده شده است:
- یک کاربر com را در یک مرورگر وب تایپ میکند. پس از آن، دستگاه مشتری اطلاعات آدرس IP را میپرسد و سعی میکند پاسخ را به صورت محلی در دستگاه پیدا کند. اگر نتواند آن را بیابد، در مرحله بعد recursive resolvers وارد عمل میشود.
- recursive resolvers: این یک نوع سرور DNS بین یک سرویس گیرنده و سرورهای نام معتبر است. (یک ارائه دهنده خدمات اینترنتی (ISP) معمولا یک resolvers بازگشتی ارائه میکند. با این حال، برخی ممکن است از یک حلکننده DNS عمومی استفاده کنند.) پس از دریافت یک query، یک recursive resolvers یا با اطلاعات ذخیرهشده پاسخ میدهد یا درخواستی را به یک Root nameserver میدهد.
- Root nameserver: این قسمت اولین قدم در ترجمه نام دامنه به آدرس IP است. وظیفه اصلی آن اشاره به سایر مکانهای سرور بوده که خاصتر هستند. در واقع Root nameserver به recursive resolvers با نام سرور نام TLD پاسخ میدهد که اطلاعات دامنههای خود را ذخیره میکند.
- recursive resolver درخواستی را به سرور نام TLD ارسال میکند.
- سرور نام TLD با نامها و آدرسهای IP احتمالی سرورهای نام معتبر دامنه درخواستی پاسخ میدهد.
- Recursive resolver درخواستی را به سرور نام معتبر ارسال میکند. در انتهای زنجیره جستجو، این سرور داور نهایی سوابق منابع است. این سرور به عنوان آخرین توقف در فرآیند، میتواند رکورد مورد نیاز مرورگر وب را برگرداند.
- سرور نام معتبر داده های درخواستی را به recursive resolver برمیگرداند.
- recursive resolver با دادههای درخواستی به مرورگر وب پاسخ میدهد و کاربر پاسخ خود را دریافت میکند.
بررسی مفاهیم تخصصی نیمسرور و بهترین شیوه های استقرار
نیمسرور نیز برای انواع مختلف کشف خدمات در وب سایتها استفاده میشود. به عنوان مثال: یافتن سرور ایمیل مناسب برای یک آدرس ایمیل یا نزدیکترین سرور اکتیو دایرکتوری.
مناطق – Zones
برای مدیریت موثرتر، فضای نام نیمسرور را میتوان به مناطق DNS مجزا تقسیم کرد. یک نهاد یا مدیر خاص میتواند هر منطقه را مدیریت کند. این تکنیک کنترل بیشتری را بر روی اجزای خاص مانند سرورهای نام معتبر به ادمینها ارائه میدهد.
با این حال، یک منطقه نباید به یک نام دامنه یا یک سرور محدود شود. تعدادی zone میتواند روی یک سرور وجود داشته باشد. علاوه بر این، هر منطقه معمولا در چندین سرور وجود دارد و از تکثیر خودکار برای همگام نگه داشتن کپیها استفاده میکند.
مناطق در نقاطی در یک نام دامنه از هم جدا میشوند. این بخش به سرور نام TLD اجازه میدهد تا یک زیرمنطقه را به یک دامنه متصل (به عنوان مثال، careers.example.com، blog.example.com) واگذار کند.
بخشی از سهگانه DDI
DDI مخفف DNS، DHCP و مدیریت آدرس IP است. اغلب به عنوان مخفف مختصر برای توصیف ادغام سه جزء اصلی شبکه در یک راه حل مدیریت متمرکز استفاده میشود. DNS آدرسهای IP را ارائه میدهد، DHCP آدرسهای IP را اختصاص میدهد و IPAM منابع IP را مدیریت میکند. گردآوری این خدمات اصلی در یک راه حل پلتفرم BlueCat میتواند مدیریت شبکه را متحول کند.
لایه های معماری
ساخت سرویس های DNS نیازمند یک رویکرد لایهای به معماری شما است. این شامل لایههای بازگشتی داخلی (internal recursive)، اقتدار داخلی (internal authoritative) ، بازگشتی خارجی (external recursive) و لایه های معتبر خارجی (external authoritative) است. برای اطمینان، هر کدام مزایا و معایبی دارند. درباره راهحل های موجود برای ایجاد یک پایه شبکه قابل اعتماد، ایمن و انعطافپذیر سعی کنید اطلاعات بیشتری را در این زمینه بیاموزید.
کلام آخر
همانطور که در عنوان این مطلب نیز پیداست، نیمسرور بخشی از اینترنت است که اگر از آن جدا شود، عملا اینترنت دیگر قادر به فعالیت نیست. پس این بخش به عنوان یکی از حیاتیترین قسمت دنیای مجازی و اینترنت معرفی میشود که دانستن اطلاعات مفید در رابطه با آن میتواند برای ما بسیار حائز اهمیت باشد. وب ات ساین در این مطلب به ارائه تمامی اطلاعات پیرامون این موضوع پرداخت تا شما عزیزان علاقهمند به وب و اینترنت بتوانید با استفاده از این اطلاعات، دید خود را نسبت به اینترنت و جستجوهای انجام شده در آن وسیعتر کنید.
بدون دیدگاه