در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

TTL چیست؟ بررسی مفهوم Time To Live به زبان خیلی ساده

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

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

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

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

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

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

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

ابزارهای Ping و Tracert که قبلا بصورت مفصل در خصوص آنها در انجمن تخصصی فناوری اطلاعات ایران صحبت شده است همگی از مقدار TTL برای رسیدن و یا تست کردن مسیر ارتباطی مبدا به مقصد استفاده می کنند. Tracert یک بسته اطلاعاتی با مقدار TTL کم در شبکه ارسال می کند و به رسیدن به هر روتر بسته اطلاعاتی با توجه به مقدار TTL از بین می رود و اطلاعات روتر مورد نظر برای مبدا ارسال می شود. مدت زمانیکه بین ارسال بسته اطلاعاتی و دریافت آن توسط پروتکل ICMP از مبدا به مقصد اعلام می شود مدت زمان Hop Travel گفته می شود. با استفاده از پروتکل Multicast پروتکل IP ، مقدار TTL به معنی محدوده یا حوزه ای است که بسته اطلاعاتی ما در ان ارسال می شود. برخی از موارد پیشفرض مقدار TTL را در پایین مشاهده می کنید :

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

نویسنده : محمد نصیری

منبع : جزیره شبکه و زیرساخت وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد

17 نظر
فرهاد خانلری

مهندس جان ممنونم از مقاله مفیدتون

یه سوال ممکنه TTL در بین این 6 دسته موجود نباشه مثلاً Ping www.google.com دارای TTL 45 این نباید 64 یا 128 باشه؟

مجتبی

سلام . در تکمیل بحث شما ، وجود TTL 64 ( حداکثر 64 ) بیانگر روتر لینوکسی یا یونیکس ، TTL 128 (حداکثر 128 ) ویندوز و TTL 256 ( حداکثر 256 ) روتر سیسکویی نیز می باشد.

Default variant Linux : 64

Default variant Windows : 128

Default Variant Cisco : 256

tabatabaeemehr

سلام

تشکر

لطفا منظورتون را در مورد دسته بندی های آخر مقاله بیشتر توضیح دهید.

محمد نصیری

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

مرتضی اعلم الهدی

سلام

ممنون از اموزش خوبتون

ی سوال اینکه

من الان پینگ 8.8.8.8 میگیرم ttl 47 میده!

اینو از چه عددی باید کسر کنم که بفهمم چند روتر در بین مسیر وجود دارد؟

البته دستور tracert گرفتم 16 تا روتر به بنده نمایش داد!

محمد نصیری

همون 16 تا درسته و مهمترین فاکتور زمان هست نه ttl

shahab_lp

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

با تشکر بخاطر مطلبتون.

SKY3

سلام

من مقاله و نظرات رو خوندم ولی هنوز متوجه نشدم اون دسته بندی آخر چی میگه دقیقا؟؟؟!!!

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

ممنووون...

محمد نصیری

کدوم دسته بندی ؟ کجاش مبهمه ؟

SKY3

همون که نوشته شده مثلا عدد 32 مربوط به قرارگیری در یک site هست...

یعنی چی؟؟!!

واینکه مثلا اگر TTL=117 بود منظور چی؟؟!!

ممنووون...

محمد نصیری

خوب شما با تعاریفش بیشتر مشکل دارید ، Site یعنی مثلا یک ساختمان یا یک محل فیزیکی نزدیک ، مثلا یک مرکز داده ، Host یعنی سیستم خودتون ، Subnet یعنی در محدوده های آدرس متفاوت و ... یعنی اگر TTL شما در یک Site این عدد باشه یا در این حدود باشه نرمال هست.

SKY3

مرسی و ممنون

تعاریف رو مشکلی نداشتم(همین جوری مثال کلمه site رو زدم)

خب مثلا الان برای سایت آی تی پرو، TTL=117 چه چیزی رو نشون میده؟

بازم پیشاپیش ممنووونم...

محمد نصیری

دوست من Site با WebSite فرق داره ... منظور از Site یک مرکز داده هست نه یک وب سایت ...

SKY3

بعله بعله جناب نصیری عزیز(site یعنی موقعیت، مکان، منظور من World Wide Web که یکی از خدمات وب و سرویس های اینترنت هست نبود)

TTL=47 برای سایت Google منظور چیه؟(با توجه به اینکه توی این رنج بندی که گفتین این عدد نیست؛ الان روی این عدد چه محاسباتی باید انجام داد؟)

بازم بی نهایت ممنووون که وقت میزارین و با حوصله جواب میدین...

محمد نصیری

یعنی حداکثر بعد از گذشتن از 47 روتر اگر بسته به مقصد نرسید از بین بره همین !

علی اکبر حاتمیان

سلام جناب استاد نصیری عزیز

در مورد این TTL ها شما میگید عدد اون یعنی باید از این تعداد روتر بگذره تا به مقصد برسه(از کجا میدونه چند تا باید باشه که هر بار عوض میشه).ولی فکر نکنم اینطوری باشه.من آپی پی لوپ بک(127.0.0.1) رو پینگ میکنم 128 میده.یعنی باید از 128 روتر بگذره(بیمعنی نیست؟)؟در صورتی که قبلش گفتید اگر تو یه host باشه باید صفر باشه و این لوپ بک تو سیستم خودمه!!!

محمد نصیری

نخیر ، من نمیگم باید از این تعداد روتر بگذره ، اون عدد پیشفرض داره حداکثر تعداد روترهای ممکن برای رسیدن به مقصد رو میگه یعنی اگر از این تعداد عبور کرد و نرسید بسته از بین بره ...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

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