سرور DNS چیست؟ ویدیو آشنایی با DNS و رکوردهای آن

امیرحسین بیگدلو June 2023

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

 

 

# سرور DNS چیست؟

کلمه DNS مخفف domain name system به معنی سیستم نام دامنه است. سیستم نام دامنه همچون دفترچه تلفن اینترنت عمل میکند. انسان ها از طریق نام های دامنه مانند www.mongard.ir به اطلاعات آنلاین دسترسی دارند اما مرورگرهای وب از طریق آدرس های 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 "پشت صحنه" انجام می شود و به غیر از درخواست اولیه نیازی به تعامل با رایانه کاربر ندارد.

 

سرور dns چطور کار میکند؟

 

# چهار نوع سرور DNS برای بارگزاری یک صفحه وب دخیل هستند

 

1 DNS recursor

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

 

2 Root nameserver

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

 

3 TLD nameserver

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

 

4 Authorative nameserver

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

 

 

# مراحل جستجوی DNS

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

 

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

 

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 مرحله جستجوی DNS آدرس IP برای مثال.com را برگرداند، مرورگر می‌تواند درخواست صفحه وب را انجام دهد:

 

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

 

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

 

مراحل کار سرور dns

 

 

# مترجم DNS یا DNS Resolver

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

 

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

مترجم dns چطور کار میکند

 

# رکوردهای DNS

رکوردهای DNS دستورالعمل‌هایی هستند که در سرورهای DNS معتبر قرار دارند و اطلاعاتی درباره یک دامنه از جمله آدرس IP مرتبط با آن دامنه و نحوه رسیدگی به درخواست‌ها برای آن دامنه ارائه می‌دهند. این رکوردها شامل یک سری فایل متنی است که به صورت دستور DNS نوشته شده است. سینتکس DNS فقط یک رشته از کاراکترها است که به عنوان دستوراتی استفاده می شود که به سرور DNS می گوید چه کاری انجام دهد. تمام رکوردهای DNS همچنین دارای "TTL" هستند که مخفف time-to-live است و نشان می‌دهد که سرور DNS هر چند وقت یکبار آن رکورد را تازه‌سازی می‌کند.

 

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

 

 

# حافظه کش در DNS

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

 

هنگامی که محدودیت زمانی کش به پایان می رسد، مترجم باید دوباره آدرس IP را بازیابی کند و یک ورودی جدید در حافظه پنهان خود ایجاد کند. این محدودیت زمانی که به آن زمان تا زندگی (TTL) گفته می شود، به صراحت در رکوردهای DNS برای هر سایت تنظیم شده است. به طور معمول TTL در محدوده 24-48 ساعت است. یک TTL ضروری است زیرا وب سرورها گهگاه آدرس IP خود را تغییر می دهند، بنابراین مترجم ها نمی توانند همان IP را به طور نامحدود از حافظه پنهان ارائه دهند.

 

ویدیوهای مشابه



متد init_subclass در پایتون
امیرحسین بیگدلو
آموزش ماژول inspect پایتون
امیرحسین بیگدلو

ارسال نظر


Sobhan

3 هفته قبل پاسخ به نظر

عالی بود سپاس گذارم:)

ارسال نظر



rouhollah

8 ماه قبل پاسخ به نظر

سلام و عرض ادب
لطفا در رابطه با این موضوعات(برچسب general) بیشتر ویدیو بگذارید تشکر ایشالله که همیشه سالم باشید

ارسال نظر



امیرحسین بیگدلو

8 ماه قبل

سلام
تمام تلاشم رو میکنم

kaveh

8 ماه قبل پاسخ به نظر

thank YOU !

ارسال نظر



محمد

8 ماه قبل پاسخ به نظر

قبلا یه گذینه وجود داشت که بتونیم ویدیو های رایگان رو دانلود بکنیم
نمیدونم الان چرا حذف شده
کاش برش نمیداشتید

ارسال نظر



Hessam

10 ماه قبل پاسخ به نظر

سلام استاد خسته نباشید.
لطفا یه ویدیو درباره دایرکتوری __pycache__ ظبت کنید ممنون

ارسال نظر



Md

9 ماه قبل

سلام، دایرکتوری __pycache__ مثل یک کاغذ چرک نویس برای انجام سریع تر عملیات های طولانی و زمان بر پایتون است.مثلا وقتی یک حلقه وایل طولانی داریم، اطلاعات مربوط به هر دور از حلقه در pycache ذخیره می شود و در هنگام اجرای دوباره، اطلاعات از این دایرکتوری بازخوانی شده و حلقه سریع تر تکرار میکند.

Milad

10 ماه قبل پاسخ به نظر

Thank you Mr Mongard
now, What is Firewall?

ارسال نظر



مونگارد