در شبکه و DNS، TTL مخفف عبارت Time To Live است و به صورت کلی به مدت‌زمانی اشاره دارد که داده یا اطلاعات معتبر باقی می‌مانند. این مفهوم در حوزه‌های مختلفی کاربرد دارد، از جمله در پروتکل‌های شبکه و سیستم DNS. در ادامه هر دو کاربرد را توضیح خواهیم داد.

✅ 1. TTL در شبکه (مثلاً در IP)

در پروتکل IP (Internet Protocol)، TTL یک عدد است که همراه با هر بسته‌ی داده ارسال می‌شود. هدف آن جلوگیری از چرخش بی‌پایان بسته‌ها در شبکه در صورت وجود خطا یا مسیرهای اشتباه است.

  • TTL یک عددی صحیح است (مثلاً 64 یا 128) که توسط دستگاه مبدا تنظیم می‌شود.

  • هر روتر که بسته را عبور می‌دهد، این عدد را یک واحد کاهش می‌دهد.

  • وقتی TTL به صفر برسد، بسته دور انداخته می‌شود و پیامی (مثلاً ICMP Time Exceeded) به فرستنده بازگردانده می‌شود.

🔹 مثال: اگر بسته‌ای با TTL=5 ارسال شود و از 5 روتر عبور کند، در روتر ششم حذف می‌شود.


✅ 2. TTL در DNS

در سیستم نام دامنه (DNS)، TTL مشخص می‌کند که اطلاعات مربوط به یک رکورد DNS (مثل A, MX, CNAME و غیره) چه مدت در کش (Cache) باقی بماند.

  • وقتی DNS یک رکورد (مثلاً IP یک دامنه) را دریافت می‌کند، آن را در کش نگه می‌دارد تا درخواست‌های بعدی سریع‌تر پاسخ داده شوند.

  • TTL تعیین می‌کند که این کش برای چند ثانیه معتبر است.

  • پس از پایان TTL، رکورد از کش پاک می‌شود و اگر نیاز باشد، دوباره از DNS سرور اصلی گرفته می‌شود.

🔹 مثال کاربردی: اگر رکورد A برای example.com با TTL=3600 باشد، به این معنی است که IP آدرس مربوطه برای 1 ساعت (3600 ثانیه) در کش نگهداری می‌شود.


تفاوت‌های کلیدی

ویژگی TTL در شبکه IP TTL در DNS
هدف جلوگیری از حلقه‌های بی‌پایان مدیریت کش رکوردهای دامنه
واحد تعداد روترها زمان (ثانیه)
کاهش می‌یابد؟ بله، در هر روتر یک واحد خیر، توسط کش شمارش معکوس می‌شود
حذف در انتها؟ بسته دور انداخته می‌شود رکورد از کش پاک می‌شود