در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

مراحل فرآیند DNS Name Resolution برگرفته از سایت مایکروسافت

dns

مطابق شکل فرآیند DNS Name Resolution در 5 مرحله زیر صورت می گیرد که مرحله 1 در کلاینت مرحله 2 تا 4 در سرور و مرحله 5 در خارج از شبکه و سرورهای دیگر انجام میگیرد:

1- Dns resolver cache

2- Dns server

3- zones server

4-Dns Server cache

5- other Dns server یا ( server to server query (Recursion

متاسفانه در چندین مقاله اینجا گفته شده مرحله HOST file از Cache جداگانه بررسی میشه و مراحلی جدا دارد و هیچ اصلاحی هم در مقاله صورت نگرفته در صورتی که cache و HOST file یک مرحله هستند در واقع cache اطلاعاتش را از HOST فایل می گیرد مطابق شکل نکته دیگر اینکه مدت زمان نگهداری اطلاعات cache با توجه به Time-To-Live (TTL) value نگهداری می شود که به صورت پیش فرض 3,600 seconds یعنی یک ساعت می باشد که قابل تغییر است.

#dns_سرور_چگونه_کار_می_کند #فایل_Hosts_چیست #مراحل_فرآیند_dns_name_resolution #انواع_zone_transfer_در_dns #نحوه_کار_سرویس_dns #کاربرد_caching_only_dns_سرور #مکانیزم_کاری_سرویس_dns
6 نظر
میلاد اسحاقی

دوست عزیز ممنون از نکته گفته شده ، فقط نکته ای که لازم میدونم اشاره کنم این هست که در ساختار Cache نکته ای که نباید فراموش بشه این هست که درسته Host file در Cache ذخیره میشه اما همانطور که میدانید Cache فقط از Host file تشکیل نشده و خب مسلما جواب Query های گرفته شده از DNS ها نیز مسلما درون Cache کلاینت ذخیره میشه با این تفاوت که مقادیر درون Host تا جایی که در فایل Host file موجود باشند در Cache باقیمانده اما مقادیر بدست آمده از مراحل NAME Resolution به اندازه TTL در حافظه Cache باقی خواهند ماند بنابر این جمله "در صورتی که cache و HOST file یکی هستند " جمله خیلی مناسبی نیست ! . و همینطور دقیق تر این مطلب بدین صورت هست که شما قبل از Root Hint مسلما باید Conditional Forwarder و Forwarder را لحاظ کنید و سپس مورد Root Hint را در نظر بگیرید . ممنون از مطلب شما

setareh9821

ممنون از توجه و نظر شما آقا میلاد منظور از یکی بودن cache و host file یعنی در یک مرحله و مکمل همدیگر هستند و مرحله جداگانه برای بررسی ندارند این جمله شما که " مقادیر باقیمانده از مراحل NAME Resolution به اندازه ttl در حافظه cache باقی خواهد ماند " بنا بر منبع مایکروسافت این حرف شما درست نیست چون به محض تشکیل شدن کش ttl به همه cache ها اعمال میشه در مورد Conditional Forwarder و Forwarder هم مشخصه در مرحله 5 لحاظ می شوند و منظور از اینها همان دیگر سرور ها هستند استاندارد تقسیم بندی مراحل بنابر نظر مایکروسافت بدین صورت است که جزییات باید در درون این 5 مرحله باشد مثل هفت لایه osi می باشد شما نمی توانید جزییات و پروتکل ها را لایه جداگانه در نظر بگیرید هر کدام در لایه خود هستند

میلاد اسحاقی

ممنونم ، دوست عزیز اگر قرار بود تمامی Cache ها روی کلاینت به یک مقدار اعمال شود پس چرا داخل DNS برای هر یک از RR ها می توان TTL متفاوت قرار داد ؟ یعنی اگر TTL موجود برای یک رکورد که DNS ما از یک DNS سرور دیگر گرفته مثلا 120 ثانیه باشد و سیستم کلاینت اول در لحظه اول این جواب را کش کند با کلاینت دیگری که در لحظه 110 این مقدار را cache کرده یکسان است ؟!! چون در واقع این کش قرار است جواب درست را به اندازه باقی مانده زمان اعتبار این نام خرج کند و خب با این اوصاف وجود TTL برای RR ها فقط وقتی معنا دارد که یک DNS به DNS دیگر جواب دهد و در صورتی که در سناریویی که خدمت شما عرض کردم قطعا باید cache کلاینت هم بر اساس باقی مانده TTL محاسبه شود تا اعتبار آن Cache باقی بماند، به نظر من که جز این غیر منطقی میاد ! به هر حال ممنون بابت جواب و پیگیری شما .

این یکی از جواب ها برای سوال در مورد نحوه کش در کلاینت است که به عنوان جواب تیک خورده :

The DNS cache doesn't ever flush, unless you explicitly tell it to or you make a DNS/networking related configuration change. DNS records have a Time To Live (TTL) value associated with them which tells a DNS cache how long the particular record is good for. Records in the cache are kept for their TTL, then re-queried.

setareh9821

نه گرامی از ایراد جمله اتون که گفتم یه برداشت دیگه کردید شما فرمودید "مقادیر درون Host تا جایی که در فایل Host file موجود باشند در Cache باقیمانده اما مقادیر بدست آمده از مراحل NAME Resolution به اندازه TTL " یعنی شما اومدید زمان باقی ماندن cahce را به دو قسمت تقسیم کردین یکی مربوط به Host فایل و یکی باقی مانده به TTL در صورتی که طبق نظر مایکروسافت در سایت technet تی تی ال به همه cached RRs ها اعمال می شود اینطور نیست که TTL به قسمتی از cache اعمال شود و به قسمتی از cache اعمال نشود ! جمله مایکروسافت را به زبان اصلی خدمتتان میگذارم من طبق این جمله جواب دادم در ضمن جواب انگلیسی شما تناقضی با گفته من نداشت

When information is cached, a Time-To-Live (TTL) value applies to all cached RRs.

میلاد اسحاقی

ممنون ، شاید برداشت صحبت هامون برای هم روشن نیست ، اگر منظورتون درست متوجه شده باشم نظر من مخالف نظر شما نیست ، عرض بنده اینه : وقتی مقداری داخل Hostfile باقی بماند ، تا وقتی در hostfile هست همچنان در کش باقی می ماند ! و اینجمله که مقدار TTL به کل حافظه کش اعمال میشود مسلما درست است و نظر من مخالف این نست اما ... اما وقتی مقداری را دستی در hostfile قرار میدهید تا زمانی که در این فایل موجود باشد در حافظه کش باقی خواهد ماند و با اینکه TTL به کل حافظه کش اعمال میشود و بالاخره پایانی دارد و دوباره امکان تمدید دارد باز هم این مقدار در Cache خواهد ماند و تا وقتی دستی از Hostfile حذف نشود از کش هم پاک نخواهد شد ! به هر حال قطعا چون ریزه کاری در DNS بسیار زیاد هست شاید نتونیم منظور جملات را در قالب نگارش ارائه کنیم ! ممنون از حسن توجه شما و منتظر نکات و آموزش های شما هستیم .

setareh9821

بله درسته فایل Host نقش همیشگی تغذیه کننده Cache را دارد فقط بهتر بود در جمله اتون اینطور اشاره می کردید که TTL هم مقادیر cache شده از host فایل و هم NAME Resolution کش شده را پاک می کند ولی host فایل خودکار دوباره مقادیرش را در cache می نویسد و NAME Resolution با تکرار شدن دوباره مقادیرش را می نویسد یه مقدار جمله اتون پیچیده بود یه برداشتی دیگه میشد به هر حال عذر خواهی می کنم از بد برداشت کردن گرامی

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....