دستور Tracert چیست

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

استفاده از دستور Tracert در عیب‌یابی شبکه به‌ معنای تحلیل مسیر ارتباطی برای شناسایی محل احتمالی اختلال، افزایش تاخیر یا توقف انتقال داده است. این تحلیل زمانی اهمیت بیش‌تری پیدا می‌کند که منشا اختلال به زیرساخت مقصد مرتبط باشد و انتخاب راهکار مناسب مانند خرید سرور ابری در چارچوب بررسی فنی مطرح شود. در این مقاله، دستور Tracert و شیوه‌ی استفاده از آن برای عیب‌یابی شبکه را به‌شکل ساختارمند بررسی می‌کنیم.

دستور Tracert چیست؟

دستور Tracert یک ابزار در خط فرمان ویندوز برای نمایش مسیر رسیدن بسته‌های داده از سیستم تا یک مقصد مشخص در شبکه است. این مقصد می‌تواند یک دامنه یا یک نشانی IP باشد. خروجی Tracert نشان می‌دهد داده‌ها در مسیر رسیدن به مقصد از چه Routerهایی عبور می‌کنند و هر بخش از مسیر چه مقدار زمان پاسخ دارد. این نمایش مرحله‌ای به‌شکل شماره‌گذاری‌شده و در قالب Hop ارایه می‌شود.

مبنای کار Tracert بر فیلدی به نام TTL یا Time To Live در بسته‌های IP قرار دارد. TTL عددی است که طول عمر مجاز یک بسته را مشخص می‌کند. هر Router در مسیر این عدد را کاهش می‌دهد و وقتی به صفر برسد، بسته متوقف و یک پیام ICMP Time Exceeded به مبدا ارسال می‌شود. Tracert با افزایش تدریجی مقدار TTL، پاسخ Routerهای میانی را دریافت می‌کند و به این شکل مسیر ارتباطی را مرحله‌ به‌ مرحله مشخص می‌سازد. کاربرد اصلی این ابزار در عیب‌یابی شبکه، تشخیص محل احتمالی قطع ارتباط و بررسی نقاطی است که باعث افزایش تاخیر در مسیر می‌شوند.

شیوه کار دستور Tracert

عملکرد Tracert بر پایه‌ی افزایش تدریجی مقدار TTL یا Time To Live در بسته‌های IP است. این دستور ابتدا یک پیام ICMP Echo Request با TTL برابر با ۱ ارسال می‌کند. اولین Router در مسیر مقدار TTL را کاهش می‌دهد و با رسیدن آن به صفر، بسته را متوقف و پیام ICMP Time Exceeded به مبدا ارسال می‌فرستد. سپس Tracert همین فرآیند را با TTL برابر با ۲، ۳ و مقادیر بالاتر تکرار می‌کند تا هر Router در مسیر به‌ترتیب شناسایی شود. این روند تا زمانی ادامه دارد که مقصد نهایی پیام ICMP Echo پاسخ ارسال کند یا تعداد Hopها به سقف پیش‌فرض برسد.

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

استفاده از دستور Tracert در ویندوز

برای اجرای دستور Tracert در ویندوز، پس از باز کردن منوی Start، عبارت cmd را وارد کرده و Command Prompt را اجرا کنید. پس از باز شدن محیط خط فرمان، نام دامنه یا نشانی IP مقصد را بعد از دستور Tracert بنویسید و کلید Enter را فشار دهید. سیستم بلافاصله بسته‌های ICMP را ارسال می‌کند و مسیر ارتباطی را به‌شکل مرحله‌ای نمایش می‌دهد. هر خط از خروجی نشان‌دهنده‌ی یک Hop در مسیر است و زمان پاسخ آن برحسب میلی‌ثانیه نمایش داده می‌شود. اگر پاسخی در زمان تعیین‌شده دریافت نشود، علامت ستاره نمایان خواهد شد.

ساختار کلی دستور Tracert به‌شکل زیر تعریف می‌شود:

Tracert [/d] [/h MaximumHops] [/j HostList] [/w Timeout] [/R] [/S SrcAddr] [/4] [/6] TargetName

در این ساختار، TargetName همان دامنه یا نشانی IP مقصد است و سایر گزینه‌ها به‌شکل اختیاری برای کنترل شیوه‌ی اجرا استفاده می‌شوند.

پارامترهای مهم دستور Tracert

پارامترهای دستور Tracert

دستور Tracert دارای مجموعه‌ای از پارامترهای اختیاری است که رفتار آن را در فرآیند عیب‌یابی شبکه کنترل می‌کنند. استفاده از این گزینه‌ها امکان تنظیم تعداد Hopها، زمان انتظار پاسخ و نحوه‌ی نمایش خروجی را فراهم می‌کند. مهم‌ترین پارامترهای رایج این دستور عبارت‌اند از:

1. /d

این گزینه تبدیل نشانی IP به نام Host را غیرفعال می‌کند. کاربرد آن در کاهش زمان اجرای دستور است، چون سیستم تلاش برای DNS Lookup انجام نمی‌دهد.

2. /h MaximumHops

این پارامتر سقف تعداد Hopها را تعیین می‌کند. مقدار پیش‌فرض در ویندوز ۳۰ است. زمانی استفاده می‌شود که نیاز به محدود کردن عمق بررسی مسیر وجود دارد.

3. /w Timeout

این گزینه زمان انتظار برای دریافت پاسخ هر Hop را برحسب میلی‌ثانیه مشخص می‌کند. مقدار پیش‌فرض ۴۰۰۰ میلی‌ثانیه است. کاربرد آن در شرایطی است که شبکه کند است و نیاز به افزایش یا کاهش زمان انتظار وجود دارد.

4. /j HostList

این پارامتر امکان استفاده از Loose Source Routing در IPv4 را فراهم می‌کند. کاربرد آن تخصصی و محدود است و برای تعیین مسیرهای مشخص در شبکه‌های خاص استفاده می‌شود.

5. /4

اجرای دستور را به استفاده از IPv4 محدود می‌کند. زمانی کاربرد دارد که سیستم دارای هر دو نسخه IP باشد و نیاز به بررسی مسیر در IPv4 وجود داشته باشد.

6. /6

اجرای دستور را به IPv6 محدود می‌کند. در محیط‌هایی که از IPv6 استفاده می‌شود برای تحلیل مسیر این نسخه به‌کار می‌رود.

7. /R

در محیط IPv6 برای بررسی مسیر رفت‌وبرگشت استفاده می‌شود. کاربرد آن بیش‌تر در تحلیل‌های پیشرفته‌ی شبکه است.

8. /S SrcAddr

در IPv6 برای تعیین نشانی مبدا مشخص در ارسال بسته‌ها استفاده می‌شود. این گزینه در سناریوهای چندآدرسی کاربرد دارد.

تفاوت دستور Tracert و Ping

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

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

معیار مقایسه Ping Tracert
هدف اصلی بررسی در دسترس بودن مقصد و اندازه‌گیری RTT نمایش مسیر انتقال داده و شناسایی Hopها
نوع پیام ICMP Echo Request و Echo پاسخ ICMP Echo Request و ICMP Time Exceeded
نوع خروجی زمان رفت‌ و برگشت کلی فهرست Hopها و زمان پاسخ هر Hop
سطح تحلیل ارزیابی کلی کیفیت ارتباط تحلیل ساختار مسیر و محل احتمالی اختلال
کاربرد رایج تست سریع اتصال به یک سرور یا سایت تعیین نقطه توقف یا افزایش تاخیر در مسیر

خطاهای رایج در خروجی Tracert

خطاهای خروجی Tracert

خروجی Tracert همیشه نشان‌دهنده‌ی خرابی قطعی نیست و برخی پیام‌ها رفتار طبیعی Routerها را بیان می‌کنند. تحلیل این پیام‌ها باید براساس الگوی کلی مسیر انجام شود.

1. نمایش ستاره‌ها ( * )

پاسخ دریافت‌نشده در زمان تعیین‌شده را نشان می‌دهد. این حالت می‌تواند به‌خاطر فیلتر شدن ICMP یا محدودسازی پاسخ توسط Router باشد و لزومن به‌ معنای اختلال نیست، خاصه اگر Hopهای بعدی پاسخ دهند.

Destination Net Unreachable .2

این پیام نشان می‌دهد مسیر معتبری به شبکه‌ی مقصد وجود ندارد. هنگام مشاهده در Hopهای ابتدایی، احتمال مشکل در شبکه داخلی یا سمت ISP بیش‌تر است.

3. افزایش ناگهانی زمان پاسخ

افزایش تاخیر در یک Hop می‌تواند ناشی از ازدحام یا اولویت پایین پاسخ ICMP باشد. اگر Hopهای بعدی زمان عادی داشته باشند، اغلب اختلال جدی در عبور ترافیک وجود ندارد.

4. تغییر مسیر در اجراهای مختلف

تفاوت مسیر در اجرای‌های جداگانه به Routing پویا یا Load Balancing مربوط است و نشانه خطا محسوب نمی‌شود.

کاربردهای Tracert در عیب‌یابی شبکه

دستور Tracert برای تحلیل مسیر ارتباطی و تعیین محل تقریبی اختلال در ساختار شبکه استفاده می‌شود. این ابزار در سناریوهای مختلف عملی کاربرد دارد.

  • تشخیص محل اختلال در شبکه داخلی یا سمت ISP
  • شناسایی نقاط افزایش تاخیر در مسیر تا سرور خارجی
  • تعیین منبع کندی سایت در مسیر شبکه یا نزدیک مقصد
  • تحلیل ساختار Routing و گلوگاه‌های ارتباطی در شبکه‌ی سازمانی
  • مستندسازی مسیر ارتباط برای ارایه به پشتیبانی فنی

تفاوت Tracert در ویندوز با Traceroute در لینوکس

ابزار Tracert در ویندوز و Traceroute در لینوکس هر دو برای نمایش مسیر انتقال بسته‌های داده در شبکه‌های مبتنی بر IP طراحی شده‌اند. هدف هر دو ابزار استخراج توالی Hopهای میان مبدا و مقصد و کمک به عیب‌یابی شبکه است. با وجود شباهت در کارکرد، تفاوت‌هایی در نام‌گذاری، نوع بسته‌های ارسالی و محیط اجرایی آن‌ها وجود دارد که برای مخاطب فنی اهمیت دارد.

معیار مقایسه Tracert در ویندوز Traceroute در لینوکس
نام دستور Tracert Traceroute
نوع بسته پیش‌فرض ICMP Echo Request UDP با پورت‌های بالا
نوع پیام پایان مسیر ICMP Echo پاسخ از مقصد ICMP Port Unreachable از مقصد
امکان استفاده از ICMP به‌شکل پیش‌فرض با گزینه‌های خاص مانند ‎-I
محیط اجرا Command Prompt در ویندوز Terminal در توزیع‌های لینوکس
کاربرد اصلی نمایش مسیر و تحلیل Hopها نمایش مسیر و تحلیل Hopها

در لینوکس، دستور Traceroute به‌طور‌ پیش‌فرض از بسته‌های UDP استفاده می‌کند و در پایان مسیر به‌طور‌ معمول پیام ICMP Port Unreachable از مقصد دریافت می‌شود. در مقابل، Tracert در ویندوز از ICMP Echo Request استفاده و با دریافت ICMP Echo پاسخ فرآیند را کامل می‌کند. با وجود این تفاوت فنی، کاربرد هر دو ابزار در تحلیل مسیر، شناسایی نقاط توقف و بررسی ساختار Routing مشابه تعریف می‌شود.

جمع‌بندی

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

کاربرد اصلی Tracert در عیب‌یابی شبکه، تعیین محل تقریبی اختلال، شناسایی نقاط افزایش تاخیر و تحلیل ساختار مسیر ارتباطی است. این ابزار یک روش پایه و سریع برای بررسی وضعیت ارتباط شبکه محسوب می‌شود و در تحلیل مشکلات دسترسی به سرور یا سایت نقش عملی دارد.

ارسال پاسخ

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