TTL یا Time To Live چیست؟

TTL

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

Time To Live

مفهوم TTL

این دقیقا کاري است که TTLیا Live To Time براي ما در شبکه انجام میدهد. زمان زندگی ترجمه ي واژه ی  TTLمیشود به معنی مدت زمانی که یک بسته ي اطلاعاتی میتواند در شبکه باقی بماند. تصور کنید اگر بسته هاي  اطلاعاتی که در شبکه ما یا شبکه اینترنت توسط میلیاردها نفر ارسال میشوند و داراي آدرس مقصد یا آدرس سالم نباشند چقدر میتوانند این بستههاي اطلاعاتی ترافیک شبکه اینترنت ما را بالا ببرند و آن را کند کنند TTL به بسته هاي اطلاعاتی میگوید که حق دارند فلان مدت زمان یا فلان تعداد روتر را براي رسیدن به مقصد خود طی کنند و اگر موفق به رسیدن به مقصد نشدند در طی وهله ي زمانی معین شده، بستهي اطلاعاتی بصورت خودکار از بین میرود تا ایجاد ترافیک مزاحم درشبکه نکند .

TTLیا Live To Time در واقع یک مقدار یا Value است که در بسته اطلاعاتی Protocol Internetیا IP قرار میگیرد و به یک روتر شبکه میگوید که چه مدت زمان این بسته ي اطلاعاتی حق دارد در شبکه ي ما باقی بماند و اگر بیشتر از زمان مقرر بسته ي اطلاعاتی در شبکه ماند بسته توسط روتر منهدم میشود.

Time To Live

یک بسته ي اطلاعاتی ممکن است به مقصد مورد نظر در زمان مورد نظر نرسد. براي مثال ترکیبی از پروتکل هاي مسیریابی و ایجاد شدن جدول مسیریابی اشتباه در روترها ممکن است باعث شود که بستهي اطلاعاتی براي همیشه در یک حلقه ي تکرار یا Loop بیوفتد.
و یا ممکن است که داده هایی که آدرس مقصد خود را گم میکنند به سیستم مبدأ برگشتند مقدار زیادي از پهناي باند سیستم مبدأ را اشغال میکردند. همچنین این دادهها را نمی توان بدون مقصد در زیر ساخت شبکه رها کرد چرا که ترافیک شبکه را بالا می برند و فرآیند ارسال اطلاعات را مختل می کنند ،  راهکار مقابله با چنین شرایطی این است که براي بسته اطلاعاتی قانونی تعریف میکنیم که اگر بعد از گذشت یک مدت زمان معین به مقصد نرسد یک پیام به فرستنده ارسال کند که در آن گفته باشد بستهي اطلاعاتی به مقصد نرسید و در اینجاست که فرستنده تعیین میکند که آیا باید بسته اطلاعاتی مجددا ارسال شود یا خیر.

Time To Live

مفهوم TTLدر شبکه

مفهوم TTL در شبکه بر اساس ساختار شبکه و لایه ها ایجاد شده است. به عنوان پیش فرض مقدار یک TTL در شبکه در حدود یک فایل باینري 8 بیتی است که در هدر بسته قرار می گیرد. در این فایل مهلت و یا همان زمانسنج قرار داده شده است. یکی از مهمترین نکات در مفهوم TTL در شبکه این است که TTL به روتر ها کمک میکند که بر اساس زمان مورد نظر در هدر بهترین مسیر و کوتاه ترین مسیر را انتخاب کنند تا بسته سریع تر به مقصد برسد. به این فرایند در علم شبکه اصطلاح Hop گفته میشود. تعداد Hop هاي مجاز در مسیر یک بسته از مبدأ تا مقصد هرچه کمتر باشد این بسته سریع تر به مقصد می رسد. هر زمان که بسته هاب اطلاعاتی از یک روتر رد می شوند یک عدد از این Hop ها کم می شوند. تا زمانی که این بسته ها به مقصد برسند. پس همانطور که مشاهده شد . مفهوم TTL در شبکه به ما کمک میکند تا مسیر ارسال و دریافت داده ها را به راحتی مشخص کرده و زمان رسیدن بسته هاي اطلاعاتی را تخمین بزنیم.

Time To Live چیست

در چه شرایطی از TTLدر شبکه استفاده میشود؟

جدا از اینکه TTL در شبکه براي بررسی زمان هاي بسته ها است از آنها براي مسیریابی در شبکه نیز استفاده میشود .همانطور که در بالانیز گفته شد هر بار که بسته داده ها از یک روتر عبور میکند یک عدد از Hop آن کم میشود. با توجه به جایگیري زمانی روتر ها و Hopها بین آنها می توان مقدار زمان رسیدن هر بسته به یک روتر را مشخص کرد.
درنتیجه با این کار می توان زمان تخمینی رسیدن بسته به روتر مورد نظر و در نهایت به سیستم مورد نظر را مشخص کرد.
همچنین شما می توانید با بررسی این Hop ها متوجه شوید که بسته های اطلاعاتی از کدام روتر ها عبور کردهاند. درنتیجه بسته هاي اطلاعاتی را نیز می توان با استفاده از این روش ردیابی کرد. البته این روش ایراداتی دارد؛ مثلا اگر بسته در بین راه مقصد را گم کند و زمانسنج آن به صفر برسد اطلاعات به دست آمده براي ما ارزشی نخواهد داشت چرا که بسته در میانه راه از بین رفته است.

بیشتر بخوانید: LiFi (Light Fidelity) چیست؟

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

البته استفاده از این روش چندان مرسوم نیست.

ابزار های  TTL

hمروزه براي پیدا کردن TTL در شبکه از ابزارهاي زیادي استفاده میشود دم دستی ترین و ابتدایی ترین این ابزارها استفاده از کدهاي دستوري Ping و Tracertاست. این کدها به راحتی به شما مقدار TTL در شبکه را نمایش میدهند.

در دستور Tracert یک بسته اطالاعاتی به مقصد مورد نظر ارسال میشود و زمان و صحت رسیدن هر بسته به نزدیک ترین روتر به مقصد را مشخص میکند. این دستور اطلاعات دریافت شده از روتر را به سیستم مبدأ و محل اجراي دستور ها ارسال میکند. در این اطلاعات شما به راحتی می تواند زمان سفر بسته تا روتر مورد نظر را مشاهده کنید و به این زمان Travel Hop گفته میشود. عدد هاي بدست آمده در TTL در شبکه هر کدام مفهوم و معنی خواصی دارند.
مثال: زمانی که ما com.google را ping می کنیم یک بسته با 128=TTL تولید میشود.بسته شروع به حرکت در شبکه می کند و با عبور از هر روتر TTL آن یک واحد کم می شود.حال اگر بسته قبل از صفر شدن TTL خود به مقصد نرسد، با صفر شدن TTL از بین می رود.اما اگر قبل از صفر شدن TTL خود به مقصد برسد، در جوابی که به ما داده می شود از مقدار TTL باقی مانده براي بسته می توان تعداد روتر هاي بین ما و آن دستگاه تحت شبکه را فهمید.یعنی اینجا که TTL باقی مانده 64می باشد مشخص می شود.

دسته بندی عدد های TTL

1- عدد 0 در TTL به معنی قرار گیري در یک Host یا سیستم است.
2- عدد 1 در TTL به معنی قرارگیري در یک Subnet است.
3- عدد 32 در TTL به معنی قرارگیري در یک Site است.
4- عدد 64 در TTL به معنی قرارگیري در یک ایالت یا کشور است.
5- عدد 128 در TTL به معنی قرارگیري در یک قاره است.
6-  عدد 256 در TTL به معنی عدم وجود محدودیت است.

حداقل مقدار مناسب TTLدر شبکه چقدر است؟

حداقل مقدار مناسب TTL در شبکه در حدود 60 ثانیه است که مقدار 1 دقیقه را است. همچنین بالا تربن مقدار نیز در حدود 86400 ثانیه یا همان 24 ساعت است. به صورت پیش فرض مقدار TTL در شبکه در حدود 3600 ثانیه یا همان 1 ساعت است؛ یعنی بسته هاي ارسال شده در کمتر از ده دقیقه از بین نمی روند و در بهترین حالت تا 24 ساعت روي شبکه باقی می مانند تا مقصد خود را پیدا کنند. در صورتی که تا این موقع مقصد این بسته ها پیدا نشد این بستهها در روتر ها از بین می روند.

مقدار پيش فرض Limit Hop , ttl

مقدار پیش فرض TTL و Limit Hop در سیستم عاملهاي مختلف فرق دارد برخی از آنها را در ادامه مشاهده میکنید :
Linux kernel 2.4 (circa 2001): ۲۵۵for TCP, UDP and ICMP
Linux kernel 4.10 (2015): ۶۴for TCP, UDP and ICMP
Windows XP (2001): ۱۲۸for TCP, UDP and ICMP
Windows 10 (2015): ۱۲۸for TCP, UDP and ICMP
Windows Server 2008: ۱۲۸for TCP, UDP and ICMP
Windows Server 2019 (2018): ۱۲۸for TCP, UDP and ICMP
MacOS (2001): ۶۴for TCP, UDP and ICMP

میتوان از مقدار TTL یا Limit Hop به نوع سیستم عاملی که در هاست استفاده میشود پی برد. مثال 64 TTL چیست؟

مربوط به سیستم عامل MacOS است.

نویسنده مهندس نیما دیصی

امیدوارم این مطلب برای شما مفید واقع شده باشد

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

برای مشاوره و پشتیبانی شبکه با کارشناسان ما در  تماس باشید .

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *