مبانی شبکه

Traceroute 101

چطور مسیرهای شبکه را ترسیم کنیم، خروجی هاپ‌به‌هاپ را بخوانیم، و محل شروع Latency یا Packet Loss را دقیق پیدا کنیم.

1. Traceroute چیست؟

یک ابزار عیب‌یابی شبکه که مسیری را که داده‌های شما در شبکه برای رسیدن به مقصد طی می‌کنند، ترسیم می‌کند. برخلاف Ping — که فقط می‌گوید یک هاست در دسترس هست یا نه — Traceroute نشان می‌دهد ترافیک شما از کدام روترها (هاپ‌ها) عبور می‌کند و تأخیرها یا خرابی‌ها دقیقاً کجا رخ می‌دهند.

Pingدر برابرTraceroute

Ping به شما می‌گوید

آیا یک هاست در دسترس است یا نه

Traceroute به شما نشان می‌دهد

ترافیک از کدام هاپ‌ها عبور می‌کند

  • مشخص کنید مشکل دقیقاً در کجای شبکه رخ می‌دهد
  • اتصالات کند و Latency بالا را تشخیص دهید
  • مسیرهای مسیریابی بین ISPها و در اینترنت را درک کنید
  • در زمان بروز مشکل، با ISPها یا تیم‌های شبکه واضح و مستند صحبت کنید

2. Traceroute چگونه کار می‌کند؟

Traceroute بسته‌هایی با مقادیر TTL (Time To Live) که به‌تدریج افزایش می‌یابد ارسال می‌کند و به پیام‌های خطای ICMP از هر روتر در مسیر گوش می‌دهد.

1

اولین روتر پاسخ می‌دهد

بسته به هاپ ۱ می‌رسد — TTL به ۰ کاهش می‌یابد و روتر پیام ICMP Time Exceeded ارسال می‌کند

2

دومین روتر پاسخ می‌دهد

هاپ ۱ بسته را فوروارد می‌کند، هاپ ۲ آن را در TTL برابر ۰ حذف کرده و پاسخ می‌دهد

3

سومین روتر پاسخ می‌دهد

افزایش تدریجی TTL ادامه پیدا می‌کند تا زمانی که مقصد برسد

N

مقصد پاسخ می‌دهد

آخرین هاپ به جای Time Exceeded، با Echo Reply پاسخ می‌دهد و پایان Trace را نشان می‌دهد

  • TTL یک شمارنده است که محدود می‌کند یک بسته از چند روتر می‌تواند عبور کند
  • هر روتر TTL را ۱ واحد کم می‌کند
  • وقتی TTL به ۰ می‌رسد، روتر بسته را حذف می‌کند و یک پیام ICMP Time Exceeded برمی‌گرداند
  • Traceroute آدرس IP و زمان رفت‌وبرگشت را برای هر روتر پاسخ‌دهنده ثبت می‌کند

3. دستورات پایه

نام دستور بسته به سیستم‌عامل کمی فرق می‌کند. اغلب سیستم‌ها ابزار mtr را هم دارند — ترکیبی بلادرنگ از ping و traceroute.

Windows
$ tracert google.com
Linux / macOS
$ traceroute google.com

بعضی سیستم‌ها ابزار mtr را هم دارند — ترکیبی بلادرنگ از ping و traceroute.

4. خواندن خروجی Traceroute

هر خط در خروجی یک هاپ را نشان می‌دهد — یعنی یک روتر یا دستگاه در مسیر بین سیستم شما و مقصد. برای هر هاپ سه اندازه‌گیری زمانی نمایش داده می‌شود.

traceroute to google.com (142.250.180.206)
1192.168.1.1
210.10.0.1
3203.0.113.1
4198.51.100.5
5142.250.180.206
  • هر خط یک هاپ است — یک روتر بین دستگاه شما و مقصد
  • شمارهٔ هاپ با عبور بسته از هر روتر افزایش پیدا می‌کند
  • سه اندازه‌گیری برای هر هاپ، ثبات و نوسان را نشان می‌دهد — اختلاف زیاد بین آن‌ها نشانهٔ Jitter است
  • آدرس IP (و گاهی نام DNS) هر روتر را مشخص می‌کند

5. مکانیسم TTL در عمل

هر روتر که TTL را به ۰ کاهش می‌دهد، با ارسال یک پیام خطای ICMP خودش را آشکار می‌کند. Traceroute از این ویژگی استفاده می‌کند تا بدون دسترسی ویژه به هیچ روتر، مسیر کامل را نقشه‌برداری کند.

TTL = 1

TTL = 1 ارسال شد

روتر 192.168.1.1 TTL را به ۰ کاهش می‌دهد، بسته را حذف می‌کند و با ICMP Time Exceeded پاسخ می‌دهد. Traceroute IP و زمان هاپ ۱ را ثبت می‌کند.

TTL = 2

TTL = 2 ارسال شد

هاپ ۱ بسته را فوروارد می‌کند (TTL → 1)، هاپ ۲ روی 10.0.0.1 TTL را به ۰ می‌رساند و پاسخ می‌دهد. Traceroute IP و زمان هاپ ۲ را ثبت می‌کند.

TTL = 3

TTL = 3 ارسال شد

فرآیند تکرار می‌شود — هر Probe یک هاپ جدید در مسیر را آشکار می‌کند.

انجام شد

مقصد رسید

بسته از تمام هاپ‌ها عبور کرده و به مقصد می‌رسد. مقصد به جای Time Exceeded یک Echo Reply برمی‌گرداند که نشان می‌دهد Trace تمام شده است.

6. تفسیر نتایج

خروجی Traceroute می‌تواند مسیرهای سالم، مشکلات Latency، و هاپ‌های ساکت را نشان دهد — هر کدام داستان متفاوتی را تعریف می‌کنند.

مسیر عادی و سالمسالم
1192.168.1.1
210.0.0.1
3203.0.113.1
4198.51.100.5
5142.250.180.206

مشاهدهافزایش تدریجی و پایدار Latency بدون جهش ناگهانی یا Packet Loss.

نتیجه‌گیریمسیر پایدار و با عملکرد خوب.

مشکل Latencyتاخیر در مسیر
1192.168.1.1
210.0.0.1
3203.0.113.1
4198.51.100.5
5142.250.180.206

مشاهدهLatency بین هاپ ۲ و ۳ از حدود ۱۰ میلی‌ثانیه به حدود ۱۲۰ میلی‌ثانیه جهش می‌کند و بعد در همان سطح بالا باقی می‌ماند.

نتیجه‌گیریلینک شلوغ یا روتر بیش‌ازحد بارگذاری‌شده در هاپ ۳. آدرس 203.0.113.1 را به ISP خود گزارش دهید.

هاپ ساکت (Timeout)مسیر ساکت
1192.168.1.1
210.0.0.1
3* * *
4198.51.100.5
5142.250.180.206

مشاهدههاپ ۳ پاسخی نشان نمی‌دهد، اما هاپ‌های بعدی (۴ و ۵) به‌طور عادی پاسخ می‌دهند.

نتیجه‌گیریهاپ ۳ بسته‌های ICMP را به‌صورت ساکت فیلتر می‌کند — مسیر همچنان کار می‌کند. وجود * به‌تنهایی به معنی Packet Loss واقعی نیست.

7. Traceroute در برابر Ping

این دو ابزار مکمل هم هستند. Ping یک چک سلامت سریع به شما می‌دهد؛ Traceroute به شما می‌گوید مشکل دقیقاً کجای مسیر است.

Ping

  • وقتی می‌خواهید سریع چک کنید که یک هاست در دسترس است یا نه
  • وقتی می‌خواهید میانگین Latency و Packet Loss را اندازه‌گیری کنید
  • وقتی نیاز به مانیتورینگ مداوم یک مقصد مشخص دارید

Traceroute

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

جریان کاری ترکیبی

ping myservice.com→
latency بالاست؟→
traceroute myservice.com→
هاپ مشکل‌دار را پیدا کن
  • با Ping شروع کنید — اگر Latency بالا بود یا هاست در دسترس نبود، بعدش Traceroute را اجرا کنید
  • بررسی کنید Latency از کجا به‌صورت ناگهانی بالا می‌رود یا از کجا Timeout شروع می‌شود
  • با توجه به هاپِ مشکل‌دار، تشخیص دهید مشکل محلی است، در ISP شماست یا در سمت مقصد

8. محدودیت‌ها

Traceroute ابزار قدرتمندی است اما نقاط کوری هم دارد. پیش از نتیجه‌گیری باید این محدودیت‌ها را بشناسید.

بلوکه شدن ICMP

بعضی روترها ICMP یا بسته‌های Traceroute را به‌طور کامل مسدود می‌کنند. ممکن است تعداد زیادی * ببینید، در حالی‌که ترافیک واقعی به‌طور طبیعی در جریان است.

مسیریابی نامتقارن (Asymmetric Routing)

مسیر رفت به مقصد ممکن است با مسیر برگشت از آن متفاوت باشد. Traceroute فقط مسیرِ رفت را نشان می‌دهد.

تعادل بار (Load Balancing)

در بعضی شبکه‌ها Probeها بین چند مسیر مختلف تقسیم می‌شوند؛ بنابراین برای یک شمارهٔ هاپ ممکن است IPهای کمی متفاوت یا زمان‌های متغیری ببینید.

اولویت پاسخ‌دهی روتر

روترها به فوروارد کردن ترافیک واقعی اولویت می‌دهند، نه به پاسخ دادن به Probeها. بنابراین Latency بالا روی یک هاپ میانی لزوماً به معنای تأخیر برای کاربران نهایی نیست.

موارد استفادهٔ عملی

Traceroute شکایت‌های مبهم را به اطلاعات دقیق و قابل‌اقدام تبدیل می‌کند.

«اینترنت کند است»

1.اول 8.8.8.8 را پینگ کنید — اگر Latency آن طبیعی است، مشکل به یک مقصد خاص مربوط است
2.برای وب‌سایتی که کند است Traceroute اجرا کنید
3.اگر تأخیر در هاپ ۱ است → مشکل از روتر یا وای‌فای محلی شماست
4.اگر تأخیر در هاپ‌های میانی است → مشکل از سمت ISP شماست
5.اگر تأخیر در هاپ‌های پایانی است → مشکل در شبکهٔ مقصد است

«سایت‌های خارجی کندند، محلی‌ها خوب هستند»

1.برای یک سایت محلی Traceroute اجرا کنید — Latency کم و تعداد هاپ کم
2.برای سایت خارجی Traceroute اجرا کنید — تعداد هاپ زیاد و یک جهش بزرگ در Latency
3.مشخص کنید کدام هاپ از لینک بین‌المللی عبور می‌کند
4.نتیجه: افزایش Latency به خاطر ترانزیت بین‌المللی است، نه الزاماً ضعف مستقیم ISP شما

تماس با پشتیبانی ISP

1.برای مقصد مشکل‌دار Traceroute اجرا کنید
2.شمارهٔ هاپ و IP جایی که Latency ناگهان بالا می‌رود را یادداشت کنید
3.به‌جای گفتن «اینترنت خرابه»، این‌طور بگویید: «Traceroute یک جهش در هاپ ۵ (203.0.113.145) نشان می‌دهد — می‌توانید آن Segment را بررسی کنید؟»

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