TTL یا Time To Live چیست و چگونه بهینه سازی کنیم؟

TTL یا Time To Live چیست و چگونه بهینه سازی کنیم؟

در این مقاله می خوانید:

TTL مخف کلمه Time to Live میباشد که به معنی مدت زمان زنده ماندن (اعتبار داشتن) یک بسته (packet) در سطح شبکه گفته می شود.

در این مقاله به بررسی TTL یا Time To Live چیست می پردازیم. TTL مخف کلمه Time to Live است. که به معنی مدت زمان زنده ماندن (اعتبار داشتن) یک بسته (Packet) در سطح شبکه گفته می شود. هر بسته (Packet) در طی مسیر، از مبدا تا مقصد از دستگاه هایی عبور می کند که هر کدام از آن ها یک گام (Hop) به حساب می آیند.

TTL یا Time to Live چیست؟

TTL بسته رابطه مستقیمی با تعداد گام های مسیری که بسته از آن رد می شوند، دارد. با عبور از هر Hop یک واحد از TTL بسته کم می شود. TTL افزون بر این که مفهومی در مسیریابی شبکه دارد، در حوزه هایی مانند DNS Caching و CDN Caching نیز کاربرد بسیاری دارد.

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

بیشتر بخوانید: CDN چیست و استفاده از آن چه مزایایی دارد؟

کاربرد TTL در شبکه

بر اساس پروتکل IP  یا (Internet Protocol)، پارامتر TTL یک فیلد هشت بیتی در هدر بسته های IPv4 است. حداکثر مقدار TTL می تواند مقداری برابر با 255 باشد. اما معمولا مقدار پیش فرض و پیشنهادی آن 64 است.

TTL به وسیله فرستنده در ساختار بسته تعریف شده و پس از گذشت از هر دستگاه، یک واحد از مقدار آن کم می شود. این کم شدن مقدار در هر گام، قبل از عبور بسته از آن گام انجام می گردد. پس اگر در گامی به جز مقصد، دستگاه پس از دریافت بسته، یک واحد از مقدارTTL آن کم کند و این مقدار صفر شود، بسته دور انداخته شده و به مقصد نخواهد رسید. در این شرایط گامی که بسته را دور انداخته، یک پیغام خطا با استفاده از پروتکل ICMP به فرستنده بسته ارسال می کند.

کاربرد TTL در شبکه

کاربرد TTL در DNS

همانطور که بیان شد، TTL علاوه بر مسیریابی شبکه، در مکانیزم هایی مانند DNS Caching و CDN Caching نیز کاربرد دارد. هر رکورد DNS دارای یک مقدار TTL است که مشخص می کند یک سرور Resolver چه مدت زمان می تواند آن رکورد DNS را در Cache خود ذخیره نماید.

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

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

بیشتر بخوانید: همه آن چیزی که باید در مورد سرویس DNS بدانید!

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

در این شرایط TTL به کمک سرویس DNS می رود و با تعیین تاریخ انقضا و مدت زمان اعتبار هر رکورد DNS در حافظه Cache، برای Resolver مشخص می کند. که حداکثر تا چه مدتی می تواند از یک رکورد Cache شده، استفاده کرده و پس از اتمام این مدت زمان، باید اطلاعات Cache خود را با سرورهای بالادستی بروز کند.

کاربرد TTL در DNS

اهمیت چرخه بروزرسانی حافظه Cache

چرخه بروزرسانی حافظه Cache سرورهای DNS بسیار اهمیت دارد. تصور کنید TTL رکوردهای DNS دامنه شما یک روز تعیین شده باشد. این امر به این معناست که اگر شما در همین لحظه تغییراتی در رکوردهای DNS وب سایت خود اعمال کنید، دست کم یک روز زمان می برد تا سرورهای DNS بالادستی و به شکل کامل سرورهای DNS در سطح اینترنت، رکورد سایت شما را آپدیت کنند.

در نتیجه طولانی بودن زمان TTL یک رکورد در Cache سرور DNS امکان دارد تغییرات شما در رکوردهای DNS وب سایت تان را با مشکل روبه رو کند. پس طولانی شدن مقدار TTL امکان دارد مزایای استفاده از Cache در سرویس DNS را تحت تاثیر قرار بدهد.

بیشتر بخوانید: معرفی مفهوم Cache Control و روش کار با آن

کاربرد TTL در CDN

کاربرد دیگر TTL در حافظه Cache سرورهای لبه CDN هاست. شبکه توزیع محتوا یا CDN، با استفاده از TTL مشخص می کند که هر محتوای ذخیره شده در حافظه Cache باید تا چه مدت زمانی به وسیله یک سرور لبه ذخیره و منتشر گردد.

همچنین مدت زمان نیاز به ارجاع به سرور اصلی میزبان سایت و بروزرسانی تغییرات محتوا را نیز تعیین می کند. اگر این بازه زمانی به درستی تنظیم گردد، CDN ها توانایی آن را دارند بدون نیاز به ارجاع پی درپی به سرورهای اصلی میزبان سایت، محتوای بروز را به کاربران ارائه دهند. این امر سبب افزایش سرعت در تحویل محتوا به کاربران نهایی و افزایش سرعت وب سایت می شود.

کاربرد TTL در CDN

کاربردهای دیگر TTL

TTL در CDN Caching و DNS Caching هم استفاده می شود. در DNS برای هر رکورد، TTL تعریف میگردد تا مدت زمان کش بودن اطلاعات مربوط به دامنه و آی پی آدرس مشخص می شود. با کش شدن این اطلاعات، بار کمتری به سرور DNS وارد میگردد و زمان لود صفحات کاهش پیدا می کند.

TTL در شبکه توزیع محتوا یا CDN هم کاربرد دارد و مدت زمانی لازم برای مراجعه به سرور هاست و آپدیت محتوا را مشخص می کند. نتیجه آن افزایش سرعت وب سایت و افزایش سرعت ارائه محتوا به کاربر است.

بیشتر بخوانید: راهنمای انتخاب بهترین هاست | ۱۳ ویژگی یک هاست خوب

TTL در پینگ به چه معناست؟

دستورات رایج شبکه، Ping و Traceroute هر دو از TTL استفاده می کنند. Ping مخفف عبارت Packet Internet Groper و ابزاری برای عیب یابی اتصالات شبکه است.

معنای TTL در ping چیست؟ پینگ مستقیما برای TTL یا Hop Limit استفاده نمی شود. اما خروجی این دستور، TTL یا Hop Limit بسته آی پی ورودی را که برای پیام های ICMP Echo Response دریافت می شود، نشان می دهد.

تغییر TTL در سیستم عامل های لینوکس و ویندوز

برای کاهش یا افزایش TTL در سربرگ IP packet روش های متفاوتی هست. که به نوع سیستم عامل بستگی دارد. که در ادامه به تغییر TTL در لینوکس و ویندوز می پردازیم.

تغییر TTL در لینوکس

برای تغییر TTL در IPv4 در لینوکس از دستور زیر استفاده نمایید:

sysctl -w net.ipv4.ip_default_ttl=128

در این دستور مقدار TTL را 128 تعریف می کنیم. این تغییر موقتی بوده و تا مدتی ریبوت بعدی اعمال می شود. اگر بخواهید مقدار TTL به صورت دائم و ثابت تغییر پیدا کند، از روش های زیر استفاده کنید:

  1. ادیت فایل/etc/sysctl.conf
  2. ایجاد فایل جدید با پسوند .conf در دایرکتوری /etc/sysctl.d/
  3. ادیت فایل موجود در دایرکتوری/etc/sysctl.d/

تغییر TTL در لینوکس

هر مسیری که انتخاب مینمایید دستور زیر را به فایل اضافه و ذخیره نموده و خارج شوید:

net.ipv4.ip_default_ttl = 128

سپس سیستم را ریبوت کنید. نحوه تغییر TTL در IPv6 در لینوکس شبیه IPv4 میباشد ولی باید IPv4 را به IPv6 تغییر دهید.

تغییر TTL در ویندوز

شیوه تغییر TTL در IPv4 در ویندوز به شکل زیر است. برای نمایش مقدار کنونی TTL در command prompt دستور زیر را تایپ نمایید:

با دستور زیر بلافاصله و به صورت دایم مقدار TTL تغییر می کند:

netsh int ipv4 set global defaultcurhoplimit=64

تغییر TTL در IPv6 در ویندوز شبیه IPv4 است، ولی باید IPv4 را به IPv6 تغییر بدهید.

شیوه افزایش و کاهش TTL در DNS

شیوه افزایش و کاهش TTL در DNS

در دامین و DNS مشخص کننده مدت زمان کش دامنه و آی پی سرور در سیستم کلاینت است. مقدار TTL در DNS را می توان کم و زیاد کرد. تغییر TTL کاملا بستگی به کاربرد و تغییراتی دارد که در آدرس، وب سرور و رکوردها اعمال می شود.

cPanel یک گزینه برای این کار خواهد بود. مقدار پیش فرض در سی پنل 14400 و معادل 4 ساعت است.

نحوه افزایش و کاهش TTL در DNS به شکل زیر است.

  1. وارد کنترل پنل در cPanel شوید.
  2. در قسمت Domains گزینه Zone Editor را کلیک کنید.
  3. از لیست نمایش داده شده گزینه Manage مربوط به دامنه موردنظرتان را انتخاب کنید.
  4. در لیست رکوردهای دامنه روی گزینه Edit بزنید.
  5. مقدار TTL را بر حسب ثانیه تغییر داده و Save کنید.
تیم تحریریه کلیک اول - پروفایل نویسنده

تیم تحریریه کلیک اول

نویسنده در بلاگ کلیک اول

این مقاله به قلم و نویسندگی تیم تحریریه کلیک اول تهیه شده است. هدف ما در کلیک اول، ارائه بستری مناسب برای وب مستران عزیز است که بتوانند مجموعه ای از خدمات مربوط به دیجیتال مارکتینگ، افزایش ترافیک سایت و همچنین شبکه های اجتماعی را به سادگی دریافت کنند.

0 دیدگاه ثبت شده است.

در بحث و گفتگوی مربوط به این مطلب شرکت کنید!

آکادمی کلیک اول

دریچه ای به سوی آموزش های رایگان در فضای دیجیتال مارکتینگ

آموزش پایه ای کار با ابزار گوگل سرچ کنسول

دوره آموزشی گوگل سرچ کنسول (Google Search Console)

سئو و بهینه سازی

گوگل سرچ کنسول یا Google Search Console یکی از مهم ترین ابزارهای سئوی حرفه ای سایت است. شما با کمک این ابزار می توانید با گوگل ارتباط برقرار کرده و به درستی یا نادرستی عملکرد خود در مسیر بهینه سازی سایت پی ببرید.

02:21:00
آموزش پایه ای کار با گوگل آنالیتیکس

دوره آموزشی گوگل آنالیتیکس 4 (Google Analytics 4)

سئو و بهینه سازی

گوگل آنالیتیکس (Google Analytics) یکی از ابزارهای پرکاربرد گوگل بوده و وظیفه آن بررسی آمار سایت ها و تحلیل آن هاست.

02:43:00
آموزش کار با افزونه پرکاربرد یواست

آموزش کار با افزونه پرکاربرد یواست (Yoast)

دیجیتال مارکتینگ

یواست سئو (Yoast SEO) یک افزونه وردپرس است که به عملکرد بهتر سایت در موتورهای جستجو مانند گوگل کمک می کند. همچنین ابزارهایی را در اختیار شما قرار می دهد تا محتوای خود را به بهترین استانداردهای سئو و خوانایی برسانید.

00:22:06