سیبادو
ما را حمایت کنید
 
سیبادو

سوال:

سلام خسته نباشید
سوالی از حضورتون داشتم :
مفهوم ttl را متوجه شده ام ولی این سوال را داشتم که مقدار TTl به چه چیزی بستگی دارد؟
مقادیر آن در دستور ping متفادت است با علم بر این که در شبکه های بی سیم وروتر و اینترنت 64 و 128 و 255 است چطور در دستور Ping مقادیری متفاوت به دست میاید؟
با تشکر

جواب:

1)

روش شناسایی با TTL:هرچند این روش اطلاعات دقیقی درباره سیستم عامل کامپیوتر مورد نظر نمی دهد ولی حداقل می توانید تفاوتهای بین سیستم عامل های مختلف مثل Windows یا Unix را متوجه شوید.

ارزش TTL چیست؟

TTL مخفف Time To Live می باشد.مقدار آن نشان دهنده ی عددی است که از یک بسته اطلاعاتی بدست می آید.هنگامی که شما از طریق اینترنت اطلاعاتی ارسال می کنید.این اطلاعات یک دفعه منتقل نمی شود.بلکه به قسمت های کوچکی به نام "بسته های اطلاعاتی" تقسیم می شوند و در کامپیوتر مقصد با توجه به اعداد توالی بسته ها دوباره سر هم شده و اطلاعات اصلی احیا می شود.
توسط فرمان زیر می توانید ارزش TTL یک بسته اطلاعاتی که از کامپیوتر مقصد دریافت می شود را ببینید:
C:Windows>ping 203.197.102.1
(فرض شده است که IP کامپیوتر مورد نظر 203.197.102.1 می باشد)
خروجی چیزی ، شبیه به عبارت زیر است:
Reply from 203.197.102.1:bytes=32 time<1ms TTL=128
Reply from 203.197.102.1:bytes=32 time<1ms TTL=128
Reply from 203.197.102.1:bytes=32 time<1ms TTL=128
Reply from 203.197.102.1:bytes=32 time<1ms TTL=128
ping statistics for 127.0.0.1
packets:sent=4,Received=4,Lost=0(0%loss
Approximate round trip times in milli-seconds
Minimum=5ms,Maximum=12ms,Average=6ms
بنابراین مشخص می شود که TTL بسته های دریافتی از آن سیستم 128 می باشد.حالا می توانیم بگوییم که سیستم عامل کامپیوتر مورد نظر ویندوز می باشد.در زیر ارزش TTL سیستم عامل های مختلف به طور خلاصه انتخاب شده است:
Windows 9x/NT Intel   32
Windows  2000 Intel  128
Linux 2.2x Intel           64
AIX 4.3.x IBM/R6000   60
Cisco 12.0 2514          255
IRIX 6.x SGI                60
Netware 4.11 Intel       128
نکته:مقدار TTL در هر Router به میزان یک واحد کم می شود.به طور مثال اگر ده Router بین شما و سیستم مورد نظر باشد و TTL اصلی تولید شده توسط سیستم مقصد 255 باشد شما عدد (1*10)-255 یعنی 245 را دریافت می کنید.جهت فهمیدن این که چند Router بین شما و سیستم هدف وجود دارد از فرمان tracert در DOS استفاده کنید.این دستور IP Address یا اسم Router بین شما و کامپیوتر مقصد را مشخص می کند.
هرچند این روش ساده است ولی نقاط ضعفی هم دارد که می شود به TTL های جعلی،نشان ندادن دقیق سیستم عامل و نسخه آن اشاره کرد و همچنین در مقابل سیستم های حرفه ای کارآمد نمی باشد چرا که از روش Ping استفاده شده است.

مقادیر TTL

TTL for windows 2000 is:128

TTL for DigitalUnix 4.0 Alpa is:60

TTL for Linux 2.2x intel is:64

TTL for Cisco 11. 7507 is:60

TTL for IRIX is:60

Cisco= 245

Solaris=54

2)

.مقدار اوليۀ TTL تعيين مي كند كه آن بستۀ IP پس از عبور از چند مسير ياب عمرش به پايان رسيده و بايد حذف شود.وقتي يك مسير ياب بسته اي را دريافت مي كند يك واحد از مقدار اين فيلد كم مي كند.بعنوان مثال اگر يك بستۀ IP با مقدار TTL=30 به يك مسير ياب وارد شود،آن مسير ياب مقدار TTL آن را به 29 كاهش مي دهد و مجددا در آن فيلد درج مي نمايد .در طول مسير تمام مسير يابها اين كار را انجام مي دهند.اگر در يك مسير ياب پس از كاهش TTL،مقدار صفر حاصل شود ،بسته حذف شده و يك پيغام ICMP به نام ICMP Time Exceeded به سمت مبدا آن بسته بر مي گردد.فيلد TTL بدين منظور در نظر گرفته شده كه هر بسته طول عمر محدودي داشته باشدبه هر دليلي سرگردان روي شبكه نچرخد،بنابراين وجود اين فيلد در هر بسته ضروري است وعددي كه در مبدا بسته در اين فيلد درج مي شود بدين معناست كه تعداد مسير يابها از مبدا تا مقصد نبايد از اين عدد بيشتر شود .در كنار وظيفۀ اصلي فيلد TTL ،از آن مي توان براي تغيير مسير (Trace Route ) استفاده كرد ،بدين صورت كه از ماشين مبداء بسته اي با فيلد TTL=1 ارسال مي شود ؛اين بسته پس از دريافت در اولين مسير ياب حذف شده و پيام ICMP Time Exceeded از آن مسير ياب به مبداء بسته بر مي گردد .در اين پيام آدرس مسير ياب حذف كنندۀ بسته وجود دارد بنابراين هويت اولين مسير ياب واقع بر روي مسير بدست مي آيد.پس از اين كار بسته اي با فيلد TTL=2 ارسال مي شود .در اين حالت بستۀ  IP، در دومين مسير ياب واقع بر مسير حذف شده و يك پيام ICMP مبني بر حذف آن بر خواهد گشت. پس هويت دومين مسير ياب نيز مشخص مي شود.اين عمل به ازاي مقادير TTL=3,4,5,… تكرار مي شود تا جائي كه بسته به مقصد برسد.

3)

نکته1:مدت TTL برحسب مشخصات هاست تعیین میگردد .به عنوان مثال اگر هاست مورد نظر Windows XP باشد مقدار TTL برابر 128 است.ماکزیمم این مقدار نیز 256 میباشد.

نکته2:در میسر زیر در Registry ویندوز xpمیتوان مقدار TTL را تغییر داد.

Run>Cmd>regedit>hkey_local_machine>System>Currentc ontrolset>services>tcpip> parameters> Then create Dword>change to decimal and set the number=100

- مقدار پيش فرض ويندوز XP عدد 128 است.

4)

TTL یا همان Time To Live برای یک بسته 2 چیزو نشون میده:
1) تعداد روترهای موجود در مسیر بین بین اون دو تا دستگاه.که اون بسته ارسالی از هر روتری که رد میشه از عددش یکی کم میشه.پیش فرض این عدد 128 هست که اگر همین عدد رو برگردونه یعنی اینکه بین مبدا و مقصد هیچ روتری نبوده(مثلا کلاینتهای یک شبکه محلی)


2)کار بعدی TTL جلوگیری از loop شدن اون بسته است.اگر یه بسته بین چندتا روتر دست به دست بشه(بنا به هر دلیل) عدد TTL یکی یکی کم میشه تا به 1 برسه که اگه به 1 برسه اون بسته از مسیر حذف میشه.

TTL برای محصولات مایکروسافت 128 و محصولات سیسکو و محصولات موجود در اینترنت 256 و برای لینوکس 64 است.




نظرات شما عزیزان:

نام :
آدرس ایمیل:
وب سایت/بلاگ :
متن پیام:
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

 

 

 

عکس شما

آپلود عکس دلخواه:





ارسال در تاريخ 11 دی 1391برچسب:, توسط سیبادو