IPWindowsاینترنتتجهیزات شبکهستاره دارسیستم عاملشبکه

شاخص TTL (همان Hop Limit) در شبکه چیست؟

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

 

TTL چیست؟

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

اصطلاح TTL در پروتکل اینترنتی نسخه ۴ (IPv4) استفاده می‌شود. نام جدیدی که برای آن گذاشته اند Hop limit بوده و در پروتکل اینترنتی نسخه ۶ (IPv6) استفاده می‌شود. بنابراین فرقی بین Hop limit و TTL وجود ندارد.

در تصویر زیر می‌توانید یک نمونه مقدار TTL را که با دستور Ping از آی پی لوپبک ۱۲۷.۰.۰.۱ دریافت شده، مشاهده کنید. چون این آی پی لوپ بک است (یعنی خود کامپیوتر، بدون وجود هیچ روتری) و مقدار اولیه TTL در ویندوز ۱۲۸ است (در بقیه پست توضیح داده خواهد شد)، همان مقدار ۱۲۸ بازگردانده می‌شود:

TTL در PING پینگ

 

TTL چگونه کار می‌کند؟

نحوه کار تی تی ال بسیار ساده است. در ابتدا، هاستی به عنوان مبدا که یک بسته داده را به یک هاست دیگر به عنوان مقصد ارسال می‌کند، در سربرگ یا همان هدر (Header) بسته TCP/IP یک مقداری را مشخص می‌کند. این مقدار، یک رشته ۸ بیتی است بنابراین با محاسبه ۲ به توان ۸ خواهیم دید که ۲۵۶ حالت مختلف برای آن وجود خواهد داشت که از ۲۵۵ شروع شده و تا ۰ ادامه پیدا می‌کند.

تی تی ال TTL
Time To Live و Hop Limit در هدر IPv4 و IPv6
منبع عکس: teamarin.net

 

وقتی که هاست مبدا بسته را با فیلد TTL پیشفرض خود ارسال کرد، با هر بار گذشتن بسته از یک روتر، مسیر یاب یا Hop، از مقدار آن یک واحد کم می‌شود. یعنی اگر مقدار اولیه برابر ۱۲۸ بود، با گذر از یک روتر مقدار آن ۱۲۷ خواهد شد و به این ترتیب از مقدار TTL یا همان Hop limit کاسته خواهد شد. در صورتی که مقدار TTL به اندازه‌ای کم شده باشد که برابر ۰ باشد، روتر آن بسته را مسیر دهی نکرده و در همان روتر، بسته منقضی و منسوخ خواهد شد. با این کار، اگر بسته‌ای در یک حلقه بینهایت بیفتد، پس از مدتی از شبکه خارج خواهد شد.

با این که حداکثر مقدار دسیمال (عددی) فیلد TTL می‌تواند ۲۵۵ باشد، مقدار اولیه آن چون در هیچ استانداردی مشخص نشده، توسط سیستم عامل تعیین می‌شود. در تصویر زیر می‌توانید یک هاستی را ببینید که مقدار اولیه TTL را برابر مقدار حداکثر مجاز آن در نظر گرفته و با هر بار گذر از یک روتر، از مقدار آن کم می‌شود:

تی تی ال TTL
مقدار پیشفرض TTL: 255

 

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

 

مقادیر اولیه TTL در سیستم عامل‌های مختلف

همانطور که گفته شد، برای TTL مقدار اولیه‌ای در نظر گرفته نشده (با اینکه مقدار ۶۴ توصیه شده است) از این رو طراحان سیستم عامل از مقدار دلخواه برای آن استفاده کرده اند که عبارت اند از:

ویندوز:

در سیستم عامل ویندوز (Windows) مایکروسافت، مقدار پیشفرض TTL از نسخه XP به بعد (ویستا، سون، ۸ و ۸.۱ و ۱۰) برابر ۱۲۸ در نظر گرفته شده است. برای درک بهتر، به تصویر زیر دقت کنید:

تی تی ال TTL
مقدار پیشفرض TTL: 128

 

لینوکس

در بسیاری از هسته‌ها و توزیع‌های سیستم عامل لینوکس (Linux)، مقدار اولیه برای TTL معادل ۶۴ در نظر گرفته شده است. مانند تصویر زیر:

تی تی ال TTL
مقدار پیشفرض TTL: 64

 

سایر سیستم عامل‌ها:

دستگاه یا سیستم عامل نسخه TTL اولیه
AIX ۶۰
AIX ۳۰
AIX ۳.۲, ۴.۱ ۲۵۵
BSDI BSD/OS 3.1 and 4.0 ۲۵۵
Compa Tru64 v5.0 ۶۴
Cisco ۲۵۴
DEC Pathworks V5 ۳۰
Foundry ۶۴
FreeBSD ۲.۱R ۶۴
FreeBSD ۳.۴, ۴.۰ ۲۵۵
FreeBSD ۵ ۶۴
HP-UX ۹.۰x ۳۰
HP-UX ۱۰.۰۱ ۶۴
HP-UX ۱۰.۲ ۲۵۵
HP-UX ۱۱ ۲۵۵
HP-UX ۱۱ ۶۴
Irix ۵.۳ ۶۰
Irix ۶.x ۶۰
Irix ۶.۵.۳, ۶.۵.۸ ۲۵۵
juniper ۶۴
MPE/IX (HP) ۲۰۰
Linux ۲.۰.x kernel ۶۴
Linux ۲.۲.۱۴ kernel ۲۵۵
Linux ۲.۴ kernel ۲۵۵
Linux Red Hat 9 ۶۴
MacOS/MacTCP ۲.۰.x ۶۰
MacOS/MacTCP X (10.5.6) ۶۴
NetBSD ۲۵۵
Netgear FVG318 ۶۴
OpenBSD ۲.۶ & 2.7 ۲۵۵
OpenVMS ۰۷.۰۱.۲۰۰۲ ۲۵۵
OS/2 TCP/IP 3.0 ۶۴
OSF/1 V3.2A ۶۰
OSF/1 V3.2A ۳۰
Solaris ۲.۵.۱, ۲.۶, ۲.۷, ۲.۸ ۲۵۵
Solaris ۲.۸ ۶۴
Stratus TCP_OS ۲۵۵
Stratus TCP_OS (14.2-) ۳۰
Stratus TCP_OS (14.3+) ۶۴
Stratus STCP ۶۰
SunOS ۴.۱.۳/۴.۱.۴ ۶۰
SunOS ۵.۷ ۲۵۵
Ultrix V4.1/V4.2A ۶۰
Ultrix V4.1/V4.2A ۳۰
Ultrix V4.2 – ۴.۵ ۲۵۵
VMS/Multinet ۶۴
VMS/TCPware ۶۰
VMS/TCPware ۶۴
VMS/Wollongong ۱.۱.۱.۱ ۱۲۸
VMS/Wollongong ۱.۱.۱.۱ ۳۰
VMS/UCX ۱۲۸
Windows for Workgroups ۳۲
Windows ۹۵ ۳۲
Windows ۹۸ ۳۲
Windows ۹۸, ۹۸ SE ۱۲۸
Windows ۹۸ ۱۲۸
Windows NT 3.51 ۳۲
Windows NT 4.0 ۱۲۸
Windows NT 4.0 SP5- ۳۲
Windows NT 4.0 SP6+ ۱۲۸
Windows NT 4 WRKS SP 3, SP 6a ۱۲۸
Windows NT 4 Server SP4 ۱۲۸
Windows ME ۱۲۸
Windows ۲۰۰۰ pro ۱۲۸
Windows ۲۰۰۰ family ۱۲۸
Windows Server 2003 ۱۲۸
Windows XP ۱۲۸
Windows Vista ۱۲۸
Windows ۷ ۱۲۸
Windows Server 2008 ۱۲۸

 

اگر کمی دقت کنید، خواهید دید که در یک شبکه محلی (LAN) چون تعداد روترها مشخص است، با آنالیز کردن مقدار TTL، می‌توان حدس زد که سیستم عامل مبدا چه چیزی است.

امیررضا نصیری

امیررضا هستم، دانشجوی ارشد نرم‌افزار و مدیر بایت گیت و دلیکس. عاشق کامپیوتر و هر چی که بهش ربط داره! دوست دارم همه چیزو یاد بگیرم و اونا رو یاد بدم. امیدوارم از مطالب سایت استفاده کنید و لذت ببرید. » بیشتر آشنا شوید!

نوشته های مشابه

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

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