مفهوم TTL چیست و چه کاربردی در شبکه دارد؟
مفهوم TTL چیست و چه کاربردی دارد ؟ در چه شرایط دیگری از TTL استفاده میشود؟ TTL مخفف عبارت Time to live است که از آن تحت عنوان Hop Limit نیز یاد میشود. Time to Live یا به عبارت تحت الفظی «مدت زمان بقا»در علم شبکه کامپیوتر، مکانیسمی است که طول عمر و حیات داده ها را در یک کامپیوتر یا شبکه محدود میکند.
TTL ممکن است به عنوان یک شمارشگر یا برچسب زمان متصل به داده یا جاسازی شده در داده ها پیادهسازی شود. پس از سپری شدن تعداد رویدادهای تعیین شده و یا بازه زمانی مقرر، داده ها دور ریخته شده، از بین رفته و یا تجدید اعتبار میشوند.
در واقع و به تعبیر سادهتر، در شبکه های کامپیوتری، TTL از گردش نامحدود یک بسته داده جلوگیری میکند. در برنامه های محاسباتی، TTL معمولاً برای بهبود عملکرد و مدیریت حافظه پنهان داده ها استفاده میشود.
TTL روی بستههای آی پی
برای اطمینان از اینکه بستههای IP دارای طول عمر محدودی در شبکه هستند، همه بستههای IP دارای فیلد و مقدار هدر 8 بیت Time to Live هستند (IPv4) یا (IPv6) S که حداکثر تعداد پرشهای لایهی سه (معمولاً روترها) را مشخص میکند که در مسیر رسیدن به مقصد حرکت کردند. هر بار که بسته به یک دستگاه شبکه لایه سه (یک هاپ) میرسد، مقدار آن قبل از ارسال به سمت جلو، یک واحد کاهش مییابد. هنگامی که مقدار در نهایت به یک میرسد، بسته توسط دستگاهی که آن را دریافت میکند دور انداخته میشود (زیرا مقدار به صفر کاهش مییابد).
اگرچه این امر از مشکلات شبکه ناشی از حلقه مسیریابی یا موارد مشابه جلوگیری نمیکند، اما تأثیر آنها را کاهش میدهد و ممکن است به جلوگیری از خرابی روتر کمک کند. زیرا یک فیلد 8 بیتی است، حداکثر مقدار ممکن 255 (11111111 در باینری) است.
مقادیر پیشفرض TTL و Hop Limit چیست ؟
مقادیر پیشفرض TTL و Hop Limit بین سیستمعاملهای مختلف متفاوت است، در اینجا پیشفرضهای چند مورد را برای شما آوردهایم:
هسته لینوکس 2.4 (حدود 2001): 255 برای TCP، UDP و ICMP
هسته لینوکس 4.10 (2015): 64 برای TCP، UDP و ICMP
ویندوز 128XP2001 : برای TCP، UDP و ICMP
ویندوز 10 (2015): 128 برای TCP، UDP و ICMP
Windows Server :1282008 برای TCP، UDP و ICMP
Windows Server :128 2019 (2018): 128 برای TCP، UDP و ICMP
MacOS : 642001 برای TCP، UDP و ICMP
همانطور که می بینید، TTL یا Hop Limit که در بسته های یک میزبان دیده میشود، تا حدی میتواند برای شناسایی سیستم عامل مورد استفاده در آن میزبان استفاده شود.
Time To Live و ذخیره DNS
مقدار Time To Live (TTL) به سرورهای حلکننده محلی میگوید که چه مدت یک رکورد باید به صورت محلی ذخیره شود قبل از اینکه یک نسخه جدید از رکورد باید از DNS بازیابی شود. ذخیرهسازی رکورد به نام کَش DNS شناخته میشود و عمل ذخیره رکوردها را کش میگویند.
- TTL بخشی از سیستم نام دامنه است.
- TTL ها توسط یک NameServer معتبر برای هر رکورد منبع تنظیم میشوند.
- TTL ها برای اهداف کش استفاده میشوند. به عنوان مثال، مقدار TTL networkencyclopedia.com 86400 ثانیه (لینک مربوط به منبع مقاله میباشد) است که 24 ساعت است. هرچه TTL یک رکورد بالاتر باشد، اطلاعات بیشتر در حافظه پنهان ذخیره میشود و مشتری برای یافتن دامنه باید جستجوهای کمتری انجام دهد.
- TTL ها توسط NameServer حلکننده برای سرعت بخشیدن به حل با ذخیره کردن نتایج به صورت لوکال استفاده میشوند.
TTL چیست ؟
بیشتر بخوانید: پروتکل (Protocol) چیست؟
تنظیم TTLهای کوتاهتر
تنظیم TTLهای کوتاهتر آسان و امکانپذیر است. با این حال، میتواند بارهای سنگینتری روی یک NameServer معتبر ایجاد کند، اما میتواند هنگام تغییر آدرس سرویسهای مهم مانند سرورهای وب یا رکوردهای MX (اشارهگرهای سرور پست الکترونیکی) مفید باشد، و بنابراین اغلب به منظور به حداقل رساندن اختلالات توسط سرپرست DNS قبل از انتقال یک سرویس، کاهش مییابد.
مقادیر رایج TTL چیست ؟
معمولاً مقدار TTL 86.400 ثانیه است 24 ساعت است. این نقطه شروع خوبی برای اکثر رکوردها است. با این حال، میتوانید TTL بالاتری را برای رکوردهای MX یا CNAME تنظیم کنید، زیرا به ندرت انتظار میرود که آنها تغییر کنند. اگر سرویس شما مهم و حیاتی است، توصیه میشود TTL را روی 1 ساعت (3600 ثانیه) تنظیم کنید.
TTL در HTTP چیست ؟
TTL همچنین ممکن است به عنوان تاریخ و زمانی بیان شود که در آن یک رکورد منقضی میشود. سرصفحه Expires: در پاسخهای HTTP، فیلد Cache-Control: max-age header هم در درخواستها و هم در پاسخها و فیلد انقضا در کوکیهای HTTP به این ترتیب TTL را بیان میکنند.
اگر مقدار روی «Cache-Control: max-age=60» تنظیم شود، به این معنی است که هر 60 ثانیه یک منبع معین را قبل از گذشتن از تی تی ال، بهروزرسانی کنید. تنظیم «max-age=0» به این معنی است که منبع به هیچ وجه نباید کش شود.
Time to live field تأثیر مستقیمی بر زمان بارگذاری صفحه (دادههای ذخیرهشده در حافظه پنهان سریعتر بارگیری میشود) و تازگی محتوا در سایت شما دارد (یعنی دادههایی که برای مدت طولانی ذخیره میشوند ممکن است کهنه شوند).
TTL ها باید به صورت زیر پیکربندی شوند تا اطمینان حاصل شود که بازدیدکنندگان شما فقط آخرین نسخه وب سایت شما را میبینند:
- برای محتوای ایستا مانند تصاویر، اسناد و غیره، مقدار TTL طولانیتری تنظیم میشود زیرا به ندرت به روز میشوند.
- برای محتوای پویا مانند فایل های HTML، تنظیم مقادیر TTL دشوار است. به عنوان مثال، بخش نظرات یک وبسایت اغلب تغییر میکند و در صورتی که کاربر مجاز باشد پستهای موجود را تغییر دهد، به هیچ وجه نمیتوان زمان بهروزرسانی آن را پیشبینی کرد، پس ذخیره کردن در حافظه پنهان یک عمل توصیهشده نیست.
در چه شرایط دیگری از TTL استفاده میشود؟
جدای از ردیابی مسیری که بسته ها در اینترنت طی میکنند، از «تی تی ال» در زمینه ذخیره سازی اطلاعات برای مدت زمان معینی استفاده میشود. به جای اندازهگیری زمان در پرش بین روترها، که هر کدام میتواند زمان متغیری را ببرد، برخی از موارد استفاده از شبکه به روش سنتیتر عمل میکنند.
CDN ها مانند CDN Cloudflare معمولاً از یک TTL برای تعیین مدت زمان ارائه محتوای کش شده از یک سرور لبه CDN قبل از بررسی کپی جدید از یک سرور اصلی استفاده میکنند. با تنظیم مناسب مدت زمان بین کشش سرور مبدا، یک CDN میتواند محتوای بهروز شده را بدون درخواستهایی که به طور مداوم به مبدا انتشار میدهند، ارائه دهد. این بهینهسازی به CDN اجازه میدهد تا به طور مؤثر محتوا را نزدیکتر به کاربر ارائه دهد و در عین حال پهنای باند مورد نیاز از مبدا را کاهش دهد.
در زمینه یک رکورد DNS، TTL یک مقدار عددی است که تعیین میکند چه مدت یک سرور کش DNS میتواند یک رکورد DNS را قبل از دسترسی به سرور DNS معتبر و گرفتن یک کپی جدید از رکورد، ارائه کند.
برنامه های کاربردی TTL چیست؟
همانطور که میدانید، برنامههای مختلفی برای TTL وجود دارد. اگر وب سایت دارید، نگرانی اصلی شما احتمالا سرعت بارگذاری سایت شما است. اگر محتوای شما برای بارگذاری خیلی کند باشد، ممکن است بازدیدکنندگان و مشتریان بالقوه را از دست بدهید. علاوه بر این، سرعت بارگذاری سایت ها برای بهینه سازی موتورهای جستجو (SEO) مضر است.
اینجاست که باید TTL را در زمینه ذخیره سازی تحلیل کنیم. وب سایت شما شامل مجموعه ای از صفحات، کدها، تصاویر و سایر محتواهایی است که بارگذاری (Load) آنها زمان زیادی طول میکشد. اگر همه این محتوا باید برای هر کاربر بارگیری مجدد شود، میتواند سرعت سایت شما را به میزان قابل توجهی کاهش دهد.
میتوانید از یک TTL طولانیتر استفاده کنید تا سایت کَش خود را قبل از بهروزرسانی کرده باشد و مدت زمان لود کردن را کاهش دهد. در نتیجه، سایت شما بسیار سریعتر بارگذاری میشود و فشار کمتری به سرور وارد میکند.
با این حال، TTL های کوتاه نیز میتوانند در برخی زمینه ها مفید باشند. به عنوان مثال، وب سایت هایی که به طور مداوم به روز میشوند میتوانند از TTL کوتاهتری بهرهمند شوند. سایتی مانند Xe از تبدیل ارز در زمان واقعی استفاده میکند، بنابراین یک TTL طولانی میتواند داده های آن را زائد کند.
علاوه بر این، TTL های کوتاه میتوانند سایت شما را در برابر حملات Distributed-Denial-of-Service (DDoS) محافظت کنند. این حملات زمانی اتفاق میافتند که وب سایت شما با هزاران درخواست از مکانهای مختلف در مدت کوتاهی غرق شود. یک TTL کوتاه میتواند به محافظت از سایت شما کمک کند زیرا به روز رسانیهای مکرر DNS برای کنترلهای مسدود کننده در دسترس است.
همچنین ممکن است بخواهید DNS TTL خود را قبل از ویرایشهای برنامه ریزی شده در سایت خود تغییر دهید، مثلاً اگر یک وب سایت جدید اضافه میکنید یا آدرس IP یک سرور را به روز میکنید. اطلاعات قدیمی برای دوره TTL ذخیره میشود، بنابراین ممکن است لازم باشد آن را مطابق با جدول زمانی خود کم و زیاد کنید.
همچنین بخوانید: SSH و SSH Tunneling چیست و چگونه پیکربندی میشود؟
خلاصه :
TTL یک تنظیم ضروری است که شما را قادر میسازد تا مدت زمانی که یک سرور اطلاعات سایت شما را ذخیره میکند، کنترل کنید. برای کاهش زمان بارگذاری صفحه، به روز نگه داشتن داده ها و جلوگیری از حملات DDoS، میتوانید TTL خود را طولانیتر یا کوتاهتر کنید.
میتوانید TTL خود را تا 30 ثانیه یا حداکثر 24 ساعت تنظیم کنید. با این حال، برای اکثر سایتهای عمومی، TTL بین 1 تا 24 ساعت تعادل عالی را فراهم میکند. با انتخاب این مقدار، میتوانید سایت خود را به سرعت بارگذاری کنید و همچنان داده های فعلی را نشان دهید.
ما در این بخش برای شما عزیزان در مورد بحث TTL که چیست و چه کاربردی دارد مطالبی را ارائه نمودیم امیدواریم که مفید واقع شده باشد.
دیدگاهتان را بنویسید