به نام خدا
با سلام خدمت همه ی شما عزیزان
در این قسمت از سری آموزش های آینوهاست به ماهیت TTL و کاربرد آن می پردازیم.
TTL چیست ؟
Time to Live یا به اختصار TTL به مدتزمان اعتبار داشتن یک بسته (packet) در سطح شبکه گفته میشود.
هر بسته (Packet) در طول مسیر، از مبدا تا مقصد از دستگاههایی عبور میکند که هر کدام از آنها یک گام (hop) محسوب میشوند.
TTL بسته رابطهی مستقیمی با تعداد گامهای مسیری که بسته از آن عبور میکند، دارد. با عبور از هر گام، یک واحد از TTL بسته کم میشود. و زمانی که مقدار TTL بسته به پایان برسد، اعتبار خود را از دست میدهد.
TTL افزون بر اینکه مفهومی در مسیریابی شبکه است، در حوزههایی مانند DNS Caching و CDN Caching نیز کاربرد دارد.
کاربرد TTL در شبکه چیست ؟
درواقع بر اساس پروتکل اینترنت (IP) پارامتر TTL یک فیلد 8 بیتی در هدر بسته های IPv4 میباشد. حداکثر مقدار TTL میتواند 255 باشد اما معمولا مقدار پیشنهادی و پیشفرض آن، 64 است.
TTL بهوسیلهی فرستنده در ساختار بسته ی ارسالی تعریف میشود و پس از گذشت از هر دستگاه، یک واحد از مقدار آن کم میشود. این کم شدن مقدار در هر گام، قبل از عبور بسته از آن گام انجام میشود. درنتیجه اگر در گامی به جز مقصد، دستگاه پس از دریافت بسته، یک واحد از مقدار TTL آن کم کند و این مقدار صفر شود، بسته دور انداخته میشود و به مقصد نمیرسد. در این شرایط گامی که بسته را دور انداخته است، یک پیغام خطا به فرستنده بسته ارسال میکند.
کاربرد TTL در DNS Caching چیست ؟
هر رکورد DNS دارای یک مقدار TTL است که مشخص میکند یک سرور Resolver چه مدت زمان میتواند آن رکورد DNS را در کش( cache ) خود ذخیره کند. با کش رکوردها در سرویس DNS، سرعت ترجمهی نام دامنه و در نتیجه لود صفحات وبسایتها سریعتر خواهد شد. زیرا در این حالت، پاسخگویی سرور DNS محلی که رکورد DNS درخواستی در آن کش شده است، به مراتب سریعتر از ارسال و دریافت پاسخ از DNS سرورهای بالادستی در سطح اینترنت است.
حال اگر در سرور های بالادستی در رکورد یک DNS تغییری ایجاد شود. در این حالت قابلیت cache در سرویس DNS دارای کمی اشکال میشود. زیرا رکورد مربوط به یک وبسایت در سطح سرورهای DNS جهانی تغییر میکند اما سرورهای DNS محلی و سطح پایین همچنان رکورد قبلی را در حافظهی خود دارند. در این حالت پاسخی که به کاربر برای ترجمهی یک نام دامنه به یک آدرس IP بازگردانده میشود، اشتباه است.
در این شرایط TTL به کمک سرویس DNS میآید و با تعیین تاریخ انقضا و مدت زمان اعتبار هر رکورد DNS در حافظهی cache، برای Resolver مشخص میکند که حداکثر تا چه مدتی میتواند از یک رکورد کش شده، استفاده کند و پس از اتمام این مدت زمان، باید اطلاعات کش خود را با سرورهای بالادستی بهروز کند.
کاربرد TTL در CDN چیست ؟
کاربرد دیگر TTL در حافظه cache سرورهای لبهی CDNها است. شبکهی توزیع محتوا یا CDN، با استفاده از TTL مشخص میکنند هر محتوای ذخیره شده در حافظه cache تا چه مدت زمانی باید بهوسیلهی یک سرور لبه ذخیره و منتشر شود. همچنین بازه زمانی نیاز به ارجاع به سرور اصلی میزبان سایت و بهروزرسانی تغییرات محتوا را نیز تعیین میکند. اگر این بازه زمانی به درستی تنظیم شود، CDNها میتوانند بدون نیاز به ارجاع پیدرپی به سرورهای اصلی میزبان سایت، محتوای بهروز را به کاربران ارایه دهند. این امر سبب افزایش سرعت در تحویل محتوا به کاربران نهایی و افزایش سرعت وبسایت میشود.(این بند متعلق به وبسایت ابر آروان میباشد.)
امیدواریم که این قسمت از سری آموزش های آینوهاست مورد استفاده ی شما عزیزان قرار گرفته باشد.
تیم آینوهاست | AinOhost Team.