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

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

Traceroute، یک ابزار خط فرمان تعبیه شده در اکثر سیستم عامل ها، به عنوان کلیدی برای باز کردن این مسیرها عمل می کند و بینش هایی را در مورد سفر پیچیده بسته های داده از مبدا به مقصد ارائه می دهد. این ابزار فقط برای مدیران شبکه نیست. این یک دارایی ارزشمند برای هر کسی است که به دنبال تشخیص مشکلات شبکه است یا به سادگی در مورد عملکرد داخلی اینترنت کنجکاو است.

Traceroute چیست؟

Traceroute یک دستور یا ابزار تشخیص شبکه است که برای ردیابی مسیری که بسته پروتکل اینترنت (IP) از منبع (کامپیوتر شما) به مقصد (معمولاً یک وب سایت یا سرور) طی می کند، استفاده می شود. این یک نقشه مسیر دقیق از سفر بسته ها در سراسر شبکه را ارائه می دهد، که هر جهش یا گره (مانند روترها و سوئیچ ها) را نشان می دهد که بسته ها تا رسیدن به مقصد از آنها عبور می کنند. این ابزار برای تشخیص مشکلات شبکه، درک ساختار شبکه و بهینه سازی عملکرد شبکه بسیار ارزشمند است.

تعریف و هدف Traceroute

در هسته خود، یک traceroute برای پاسخ به یک سوال ساده طراحی شده است: "داده های من چه مسیری را طی می کنند تا از اینجا به آنجا برسند؟" وقتی آدرس یک وب سایت را در مرورگر خود وارد می کنید، درخواست شما مستقیماً به سرور میزبان سایت ارسال نمی شود. در عوض، از طریق یک سری از روترها و شبکه ها عبور می کند و هر مرحله آن را به مقصد نهایی خود نزدیک می کند. Traceroute این مراحل را ترسیم می کند و آدرس IP هر هاپ و زمان انتقال داده های شما از یک نقطه به نقطه دیگر را ارائه می دهد.

اهداف اولیه تراسروت عبارتند از:

  • عیب یابی شبکه: با نشان دادن محل توقف یا کاهش سرعت بسته ها، traceroute به شناسایی تراکم شبکه، پیکربندی نادرست یا خرابی کمک می کند.
  • تجزیه و تحلیل عملکرد: اندازه‌گیری‌های زمان بین جهش‌ها می‌تواند محل وقوع تاخیر را نشان دهد و به مشخص کردن تنگناهای عملکرد کمک کند.
  • تجسم مسیر: Traceroute مسیر غالباً پیچیده‌ای را که داده‌ها از طریق اینترنت طی می‌کنند، نشان می‌دهد که می‌تواند برای درک نحوه اتصال شبکه‌ها مفید باشد.

تکامل Traceroute: از یونیکس تا سیستم عامل های مدرن

منشاء تراسروت را می توان در سیستم عامل یونیکس در دهه 1980 جستجو کرد، زمانی که اینترنت هنوز در مراحل اولیه خود بود. این ابزار در ابتدا برای کمک به مدیران شبکه طراحی شده بود تا با شناسایی نقاط خرابی شبکه، مشکلات را عیب یابی کنند.

از آن زمان، traceroute تکامل یافته و به اشکال مختلف برای سیستم عامل های مختلف، از جمله tracert برای ویندوز و دستور traceroute استاندارد برای سیستم های یونیکس مانند لینوکس و macOS تطبیق داده شده است.

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

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

Traceroute پنجره‌ای به شبکه پیچیده اتصالات ارائه می‌دهد که زیربنای زندگی دیجیتال ما است، خواه برای عیب‌یابی، بهینه‌سازی عملکرد شبکه، یا ارضای کنجکاوی در مورد عملکرد داخلی اینترنت باشد.

Traceroute چیزی بیش از یک ابزار تشخیصی است. این پلی است که کاربران را به مسیرهای نادیده اینترنت متصل می کند. تکامل آن از یک ابزار ساده یونیکس به اصلی ترین سیستم عامل های مدرن بر ارزش آن در جهت یابی شبکه های پیچیده ای که دنیای دیجیتال ما را تسهیل می کنند تأکید می کند.

چه یک حرفه ای در شبکه یا یک کاربر کنجکاو اینترنت باشید، درک اصول ردیابی گامی به سوی ابهام زدایی از مسیرهای دیجیتالی است که همه ما را به هم متصل می کند.

چگونه Traceroute کار می کند: مروری فنی

Traceroute از فیلد TTL (Time to Live) در هدر بسته IP استفاده می کند، که تعیین می کند یک بسته قبل از دور انداختن، چند جهش می تواند داشته باشد. در اینجا یک توضیح گام به گام در مورد نحوه عملکرد traceroute آورده شده است:

  1. شروع: این ابزار با ارسال مجموعه ای از بسته ها به سمت مقصد با مقدار TTL 1 شروع می شود. این بدان معناست که بسته ها به محض برخورد با اولین روتر در مسیر "منقضی" طراحی شده اند.
  2. شناسایی هاپ: با دریافت بسته، هر روتر TTL خود را 1 کاهش می دهد. اگر TTL به 0 برسد، روتر ارسال بسته را متوقف می کند و یک پیام ICMP "Time Exceeded" را به منبع ارسال می کند و آدرس IP روتر را نشان می دهد.
  3. افزایش TTL: Traceroute سپس مجموعه دیگری از بسته ها را ارسال می کند، این بار با TTL 2، بنابراین آنها قبل از انقضا به روتر دوم می رسند. این فرآیند تکرار می شود و هر بار TTL را 1 افزایش می دهد تا زمانی که بسته ها به مقصد برسند یا حداکثر حد پرش برآورده شود.
  4. زمان پاسخگویی ضبط: برای هر مجموعه از بسته‌های ارسالی، traceroute زمان رفت و برگشت (RTT) را ثبت می‌کند – زمانی که طول می‌کشد تا بسته از منبع به روتر برود و برگردد. به طور معمول، سه بسته در هر هاپ ارسال می شود تا زمان پاسخگویی متوسط را فراهم کند.

نمونه ای از یک فرمان Traceroute

در یک سیستم ویندوز، ممکن است از آن استفاده کنید tracert دستور به این صورت:

tracert example.com

در macOS یا Linux، دستور به صورت زیر خواهد بود:

traceroute example.com

خروجی نمونه

یک مثال ساده از خروجی traceroute به example.com ممکن است شبیه به این باشد:

 1  router1.local (192.168.1.1)  1.123 ms  1.456 ms  1.789 ms
 2  isp-gateway.example.net (203.0.113.1)  2.345 ms  2.678 ms  2.901 ms
 3  isp-core-router.example.net (203.0.113.2)  3.567 ms  3.890 ms  4.123 ms
 4  internet-backbone1.example.com (198.51.100.1)  10.456 ms  11.789 ms  12.345 ms
 5  datacenter-edge.example.com (198.51.100.2)  20.678 ms  21.901 ms  22.345 ms
 6  example.com (93.184.216.34)  30.123 ms  31.456 ms  32.789 ms

در این خروجی، هر خط نشان دهنده یک پرش در مسیر به example.com. ستون ها عدد پرش، نام میزبان و آدرس IP روتر و سه اندازه گیری RTT را در میلی ثانیه نشان می دهند. خط آخر نشان می دهد که بسته ها به مقصد رسیده اند.

آشنایی با مسیر بسته های داده

مسیری که بسته های داده طی می کنند می تواند تحت تأثیر عوامل مختلفی از جمله پروتکل های مسیریابی، تراکم شبکه و طرح فیزیکی زیرساخت اینترنت باشد. Traceroute یک عکس فوری از این مسیر در یک نقطه زمانی خاص ارائه می‌کند، که می‌تواند با تنظیم مسیرها برای کارایی یا دور زدن مشکلات تغییر کند.

در اصل، traceroute سفر پیچیده داده‌ها در اینترنت را رمزگشایی می‌کند و بینش‌هایی در مورد ساختار و عملکرد شبکه‌ها ارائه می‌دهد. چه توسط متخصصان شبکه برای عیب‌یابی و بهینه‌سازی استفاده شود و چه توسط افراد کنجکاو برای کشف مسیرهای دیجیتالی که دنیای ما را به هم متصل می‌کنند، traceroute همچنان یک ابزار ضروری در جعبه ابزار شبکه است.

اهمیت Traceroute

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

کاربردهای تشخیصی Traceroute در شبکه

Traceroute در درجه اول برای تشخیص مشکلات شبکه استفاده می شود. هنگامی که یک وب سایت یا سرویس آنلاین غیرقابل دسترسی است، یا زمانی که اتصال اینترنت کند یا متناوب است، traceroute می تواند به شناسایی محل مشکل کمک کند. با ترسیم مسیری که بسته‌های داده برای رسیدن به مقصد طی می‌کنند، traceroute گزارشی گام به گام از محل تأخیر یا تلفات ارائه می‌دهد.

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

مثال: تشخیص اتصال کند

سناریویی را در نظر بگیرید که در آن کاربران اتصال کند به یک سرویس ابری را گزارش می دهند. یک مدیر شبکه ممکن است دستور traceroute زیر را اجرا کند:

traceroute cloudservice.com

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

تجزیه و تحلیل عملکرد

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

توانایی Traceroute برای اندازه‌گیری تأخیر در هر بخش از مسیر، درک دقیقی از عملکرد شبکه را ممکن می‌سازد. به تمایز بین مسائل مربوط به شبکه محلی کاربر در مقابل مواردی که خارجی هستند، مانند تراکم ستون فقرات اینترنت یا مشکلات در شبکه ارائه دهنده خدمات کمک می کند.

مثال: بهینه سازی عملکرد شبکه

یک سازمان ممکن است از traceroute برای بهینه سازی عملکرد اتصالات شبکه خود به سرویس های حیاتی استفاده کند. با نظارت منظم بر خروجی‌های ردیابی، آنها می‌توانند روند تأخیر شبکه را شناسایی کرده و با ISPها برای بهینه‌سازی مسیرها یا حتی تصمیم به تعویض ارائه‌دهندگان برای اتصال بهتر، کار کنند.

تجسم مسیر

Traceroute یک نمایش بصری از مسیری که داده از طریق شبکه طی می کند ارائه می دهد. این تجسم فقط یک خروجی فنی نیست، بلکه نقشه ای از سفر دیجیتال است که بینشی در مورد چگونگی ساختار اینترنت و نحوه اتصال شبکه های مختلف به یکدیگر ارائه می دهد.

این جنبه از traceroute به ویژه در زمینه های آموزشی روشنگر است، جایی که دانش آموزان با یادگیری در مورد شبکه می توانند کاربرد عملی پروتکل های مسیریابی و ساختار دنیای واقعی اینترنت را مشاهده کنند. این مفهوم انتزاعی اینترنت به عنوان یک "ابر" را رمزگشایی می کند و آن را با یک نقشه ملموس از ارتباطات جایگزین می کند.

مثال: استفاده آموزشی

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

نحوه انجام تراسروت

درک مسیری که داده ها در سراسر اینترنت طی می کنند برای تشخیص مشکلات شبکه، بهینه سازی عملکرد و به دست آوردن بینش در مورد ساختار اینترنت بسیار مهم است. Traceroute ابزار قدرتمندی است که این درک را با نقشه برداری از سفر بسته ها از یک منبع به یک مقصد فراهم می کند. در اینجا، نحوه اجرای ردیابی در سیستم عامل های مختلف را بررسی می کنیم و راهنمای جامعی را ارائه می دهیم که شامل نمایش ها و نمونه هایی است.

آماده شدن برای استفاده از Traceroute: سیستم مورد نیاز

قبل از غواصی در خصوص انجام یک ردیابی، اطمینان از آماده بودن سیستم شما ضروری است. خبر خوب این است که traceroute نیازی به نصب نرم‌افزار خاصی در اکثر سیستم‌عامل‌ها ندارد، بلکه به صورت داخلی ارائه می‌شود. با این حال، شما باید داشته باشید:

  • اتصال به اینترنت پایدار: برای ردیابی دقیق مسیر به مقصد، دستگاه شما باید به اینترنت متصل باشد.
  • دسترسی به ترمینال یا خط فرمان: دستورات Traceroute در ترمینال در macOS و Linux یا Command Prompt در ویندوز اجرا می شوند.
  • دسترسی اداری یا ریشه (اختیاری): اگرچه همیشه ضروری نیست، برخی از دستورات یا گزینه‌های traceroute ممکن است به امتیازات بالاتری نیاز داشته باشند، به ویژه در سیستم‌های یونیکس مانند.

راهنمای گام به گام اجرای Traceroute در ویندوز

کاربران ویندوز می توانند از آن استفاده کنند tracert دستور اجرای ردیابی در اینجا به این صورت است:

  1. Command Prompt را باز کنید:
  • در ویندوز 10/11، تایپ کنید cmd در نوار جستجوی منوی Start و Enter را فشار دهید.
  • برای نسخه‌های قدیمی‌تر، ممکن است لازم باشد از طریق پوشه لوازم جانبی در منوی Start به Command Prompt دسترسی داشته باشید.
  1. دستور Traceroute را اجرا کنید:
  • در پنجره Command Prompt دستور را تایپ کنید tracert <destination>، جایگزین کردن <destination> با نام دامنه یا آدرس IP که می خواهید ردیابی کنید. مثلا:
    cmd tracert example.com
  • برای اجرای دستور Enter را فشار دهید.
  1. تجزیه و تحلیل خروجی:
  • Command Prompt پیشرفت traceroute را در زمان واقعی نمایش می دهد و هر جهش و زمان سفر بسته ها را به جلو و عقب نشان می دهد.

نمونه خروجی در ویندوز:

Tracing route to example.com [93.184.216.34]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  router.local [192.168.1.1]
  2    10 ms     9 ms    11 ms  isp-gateway.example.net [203.0.113.1]
  3    15 ms    14 ms    16 ms  isp-core-router.example.net [203.0.113.2]
  ...

اجرای Traceroute در سیستم‌های شبه یونیکس (macOS، Linux)

در macOS و Linux، این فرآیند مشابه است اما از آن استفاده می‌کند traceroute فرمان

  1. باز کردن ترمینال:
  • در macOS، ترمینال را در Applications > Utilities پیدا کنید.
  • در لینوکس، ترمینال معمولاً در منوی برنامه‌های شما یافت می‌شود، اگرچه مکان دقیق ممکن است بسته به توزیع متفاوت باشد.
  1. دستور Traceroute را اجرا کنید:
  • تایپ کنید traceroute <destination> در ترمینال، جایگزین <destination> با دامنه یا آدرس IP مورد نظر شما. برای مثال:
    bash traceroute example.com
  • Enter را بزنید تا traceroute شروع شود.
  1. نتایج را مرور کنید:
  • ترمینال هر پرش را مشابه ویندوز نمایش می دهد، اما ممکن است حاوی اطلاعات اضافی باشد یا از قالب بندی کمی متفاوت استفاده کند.

نمونه خروجی در سیستم های یونیکس مانند:

traceroute to example.com (93.184.216.34), 64 hops max, 52 byte packets
 1  router.local (192.168.1.1)  1.206 ms  0.911 ms  0.892 ms
 2  isp-gateway.example.net (203.0.113.1)  10.183 ms  9.872 ms  10.123 ms
 3  isp-core-router.example.net (203.0.113.2)  14.673 ms  15.062 ms  14.892 ms
 ...

تفسیر نتایج Traceroute

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

  • شماره هاپ: شماره ترتیبی که موقعیت روتر را در مسیر نشان می دهد.
  • آدرس IP/نام میزبان: آدرس یا نام روتر در این پرش.
  • زمان های رفت و برگشت (RTTs): مدت زمانی که طول می کشد تا یک بسته به سمت پرش و برگشت برود، معمولاً بر حسب میلی ثانیه نشان داده می شود. سه تلاش در هر پرش برای ارائه میانگین زمان پاسخ انجام می شود.

درک این نتایج می تواند به شناسایی محل تأخیر یا از دست دادن بسته کمک کند و بینش ارزشمندی برای عیب یابی مشکلات شبکه یا بهینه سازی عملکرد ارائه دهد.

تکنیک های پیشرفته Traceroute

در حالی که دستور اصلی traceroute بینش های ارزشمندی را در مورد مسیری که بسته ها در شبکه طی می کنند ارائه می دهد، تکنیک های traceroute پیشرفته می توانند تجزیه و تحلیل عمیق تر و اطلاعات دقیق تری را ارائه دهند و به غلبه بر محدودیت های خاص دستور traceroute استاندارد کمک کنند. این تکنیک‌ها شامل استفاده از گزینه‌ها و پرچم‌های اضافی با دستور traceroute، استفاده از ابزارهای جایگزین و درک نحوه تفسیر خروجی‌های پیچیده traceroute است.

تنظیم تنظیمات Traceroute برای تجزیه و تحلیل دقیق

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

تعیین نوع بسته

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

  • در سیستم‌های یونیکس مانند (Linux/macOS): استفاده کنید -I گزینه ای برای ارسال بسته های ICMP که احتمال مسدود شدن آنها کمتر است. مثلا:
  traceroute -I example.com
  • در ویندوز: این tracert دستور ذاتاً از ICMP استفاده می کند، بنابراین هیچ تغییری برای نوع بسته مورد نیاز نیست.

تغییر شماره پورت

در سیستم‌های یونیکس مانند، traceroute بسته‌های UDP را به‌طور پیش‌فرض به پورت‌های غیرمجاز می‌فرستد. تغییر پورت مقصد می تواند به جلوگیری از فیلتر کردن یا محدود کردن نرخ در پورت های خاص کمک کند:

traceroute -p 80 example.com

این دستور پورت مقصد را روی 80 (HTTP) تنظیم می کند، که ممکن است مسیر روشن تری را از طریق فایروال هایی که ترافیک وب را در اولویت قرار می دهند، ارائه دهد.

تنظیم تعداد کوئری ها در هر هاپ

برای اندازه گیری دقیق تری از تاخیر و از دست دادن بسته، می توانید تعداد پرس و جوهای ارسال شده به هر جهش را افزایش دهید:

traceroute -q 5 example.com

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

Traceroute در سیستم عامل های مختلف: ویندوز، مک، لینوکس

سیستم‌عامل‌های مختلف Traceroute را به روش‌های کمی متفاوت پیاده‌سازی می‌کنند که می‌تواند بر رفتار و خروجی ابزار تأثیر بگذارد. برای مثال، در حالی که ویندوز به طور پیش‌فرض از ICMP استفاده می‌کند، لینوکس و macOS معمولاً از بسته‌های UDP استفاده می‌کنند که می‌تواند منجر به اختلاف در نحوه پاسخ روترها در مسیر شود. آگاهی از این تفاوت ها هنگام تفسیر نتایج traceroute یا هنگام عیب یابی در محیط های مختلف شبکه بسیار مهم است.

هر سیستم عامل پرچم ها و گزینه های منحصر به فردی را برای traceroute ارائه می دهد که به کاربران امکان می دهد رویکرد تشخیصی خود را سفارشی کنند:

ویندوز (tracert)

  • مکس هاپس: استفاده کنید -h گزینه ای برای تعیین حداکثر تعداد پرش (پیش فرض 30 است):
  tracert -h 40 example.com
  • مشخص کردن Timeout: این -w گزینه مهلت زمانی را برای هر پاسخ بر حسب میلی ثانیه تنظیم می کند:
  tracert -w 5000 example.com

macOS/Linux (traceroute)

  • اولین و آخرین TTL را تنظیم کنید: با -f و -m گزینه‌ها، می‌توانید اولین و حداکثر مقادیر TTL را به ترتیب تنظیم کنید و به شما این امکان را می‌دهد که ردیابی را از نقطه میانی شروع کنید یا اینکه چقدر پیش می‌رود را محدود کنید:
  traceroute -f 5 -m 15 example.com
  • از TCP SYN برای ردیابی استفاده کنید: این -T گزینه (موجود در برخی از سیستم های مشابه یونیکس) از بسته های TCP SYN به جای UDP یا ICMP استفاده می کند که می تواند برای ردیابی از طریق شبکه هایی که ICMP را مسدود می کنند مفید باشد:
  traceroute -T -p 80 example.com

عیب یابی مشکلات رایج Traceroute

Traceroute یک ابزار ضروری برای تشخیص مشکلات اتصال شبکه است، اما تفسیر خروجی آن گاهی اوقات می تواند چالش برانگیز باشد. مسائل مختلفی ممکن است در طول یک ردیابی رخ دهد که هر یک نشان دهنده مشکلات احتمالی متفاوتی در شبکه است. درک نحوه عیب یابی این مشکلات رایج برای مدیران شبکه و هر کسی که در حفظ سلامت شبکه نقش دارد بسیار مهم است.

برخورد با نتایج ناقص یا نادرست Traceroute

نتایج ناقص یا نادرست ممکن است به دلایل مختلفی از جمله مسدود شدن فایروال، فیلتر کردن بسته‌ها یا ازدحام شبکه رخ دهد. در اینجا نحوه برخورد با این مسائل آمده است:

فایروال ها و فیلترینگ بسته ها

فایروال ها یا فیلترهای بسته پیکربندی شده برای رها کردن بسته های ICMP یا پورت های خاص UDP/TCP می توانند به "* * *" (ستاره ها) در خروجی های ردیابی منجر شوند که نشان می دهد پاسخ از یک hop دریافت نشده است. این می تواند باعث شود به نظر برسد که شبکه بیش از یک نقطه خاص غیرقابل دسترسی است، حتی اگر اینطور نباشد.

راه حل: سعی کنید نوع بسته یا پورت مورد استفاده توسط traceroute را تغییر دهید. به عنوان مثال، اگر در یک سیستم یونیکس مانند هستید و مشکوک هستید که بسته های ICMP فیلتر شده اند، با استفاده از -T را انتخاب کنید و یک پورت معمولی باز مانند 80 (HTTP) یا 443 (HTTPS) را مشخص کنید:

traceroute -T -p 443 example.com

ازدحام شبکه

تأخیر بالا یا از دست دادن بسته منعکس شده در نتایج traceroute گاهی اوقات می تواند به ازدحام شبکه نسبت داده شود تا خطا در خود شبکه.

راه حل: چندین ردیابی را در طول زمان انجام دهید تا ببینید آیا مشکل همچنان ادامه دارد یا خیر. افزایش موقت تاخیر یا از دست دادن بسته ممکن است فقط به دلیل ازدحام شبکه گذرا باشد. ابزارهایی مانند MTR (My Traceroute) می توانند در اینجا به ویژه مفید باشند، زیرا آنها عملکرد traceroute را با پینگ مداوم ترکیب می کنند تا نمای پویاتری از مسیر شبکه ارائه دهند.

درک و رفع خطاهای رایج در خروجی های Traceroute

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

خطاهای «!H»، «!N» و «!P».

این خطاها مقصدهای غیرقابل دسترس را نشان می دهد:

  • !H - میزبان غیر قابل دسترسی است
  • - شبکه غیر قابل دسترس
  • - پروتکل غیر قابل دسترس

راه حل: این خطاها نشان دهنده یک مشکل مسیریابی یا فایروال مسدود کردن بسته ها است. جدول مسیریابی را برای ورودی های نادرست بررسی کنید و مطمئن شوید که هیچ قانون فایروال به طور سهوی ترافیک را به مقصد یا از مقصد مسدود نمی کند.

تایم اوت ها

مجموعه‌ای از ستاره‌ها (* * *) بدون پرش بعدی نشان‌دهنده زمان‌بندی است، جایی که ردیاب نمی‌تواند پاسخی از هاپ دریافت کند.

راه حل: مهلت زمانی می تواند در برخی موارد عادی باشد، زیرا روترهای خاصی پیکربندی شده اند تا به درخواست های ICMP یا UDP پاسخ ندهند. با این حال، اگر تایم اوت‌ها در اوایل ردیابی اتفاق بیفتند یا در طول پرش‌های متعدد ادامه داشته باشند، ممکن است نشان‌دهنده مشکل اتصال جدی‌تر باشد. پیکربندی شبکه را بررسی کنید و اگر مشکل همچنان ادامه داشت، برای کمک با ISP یا مدیر شبکه میانی تماس بگیرید.

تایم اوت ها و پیامدهای آنها در نتایج Traceroute

تایم اوت در نتایج traceroute همیشه نشان دهنده یک مشکل نیست. با این حال، تایم اوت‌های ثابت در یک جهش در چندین ردیابی، یا تایم اوت‌هایی که از تکمیل ردیابی جلوگیری می‌کنند، مستلزم بررسی بیشتر است.

تجزیه و تحلیل بازه های زمانی مداوم

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

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

خواندن و تفسیر نتایج Traceroute

Traceroute یک ابزار تشخیصی قدرتمند است که سفر بسته ها را از یک منبع به یک مقصد در یک شبکه ترسیم می کند. در حالی که اجرای یک traceroute نسبتاً ساده است، تفسیر نتایج آن می تواند پیچیده باشد، به خصوص زمانی که خروجی شامل تاخیرهای غیرمنتظره، وقفه های زمانی یا خطا باشد. درک نحوه خواندن و تفسیر این نتایج برای تشخیص مسائل شبکه، بهینه سازی عملکرد و به دست آوردن بینش در مورد ساختار شبکه بسیار مهم است.

درک هر خط خروجی Traceroute

یک خروجی traceroute معمولی لیستی از جهش ها (روترها یا سوئیچ ها) را نشان می دهد که بسته ها در مسیر خود به مقصد عبور می کنند. هر خط مربوط به یک hop است و اطلاعات خاصی در مورد مسیر طی شده توسط بسته ها ارائه می دهد. در اینجا خلاصه ای از اطلاعات ارائه شده در هر خط است:

  • شماره هاپ: ستون اول در خروجی شماره توالی پرش را نشان می دهد. از 1 شروع می شود و برای هر مسیریاب که بسته از آن عبور می کند یک عدد افزایش می یابد.
  • آدرس IP/نام میزبان: این قسمت آدرس IP روتر را در پرش فعلی نشان می دهد. گاهی اوقات، اگر جستجوی معکوس DNS موفقیت آمیز باشد، نام میزبان روتر به جای یا در کنار آدرس IP نمایش داده می شود.
  • زمان های رفت و برگشت (RTTs): به طور معمول، سه مقدار RTT بر حسب میلی‌ثانیه نشان داده می‌شود که نشان‌دهنده زمان لازم برای سفر یک بسته از مبدا به هاپ و بازگشت است. این مقادیر می توانند به دلیل ازدحام شبکه، تغییرات مسیریابی یا بارگذاری روی روترها متفاوت باشند.

نمونه خروجی Traceroute:

 1  router.local (192.168.1.1)  1.206 ms  0.911 ms  0.892 ms
 2  isp-gateway.example.net (203.0.113.1)  10.183 ms  9.872 ms  10.123 ms
 3  isp-core-router.example.net (203.0.113.2)  14.673 ms  15.062 ms  14.892 ms
 ...

الگوهای رایج در نتایج Traceroute و معنای آنها

خروجی‌های Traceroute می‌توانند الگوهای مختلفی را نشان دهند که هر کدام جنبه‌های متفاوتی از عملکرد یا پیکربندی شبکه را نشان می‌دهند:

افزایش تاخیر به سمت مقصد

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

تأخیر بالا در شروع هاپ

مقادیر تأخیر بالا در چند جهش اول، به ویژه در شبکه محلی یا ISP، مشکلات نزدیک به منبع را نشان می دهد. این ممکن است به دلیل ازدحام شبکه محلی، پیکربندی نادرست، یا مشکلات مربوط به اتصال ISP به اینترنت گسترده تر باشد.

تایم اوت ها در شروع Hops

تایم اوت های گاه به گاه (که با ستاره ها نشان داده می شوند) در ابتدای ردیابی ممکن است لزوماً نشان دهنده مشکل نباشند، زیرا برخی از روترها به گونه ای پیکربندی شده اند که به دلایل امنیتی یا عملکردی به درخواست های ICMP پاسخ ندهند. با این حال، تایم اوت‌های ثابتی که از نمایش پرش‌های بیشتر جلوگیری می‌کنند، نیاز به بررسی دارند.

تایم اوت در انتهای گزارش

تایم اوت‌های پایان مسیر، به‌ویژه اگر پرش‌های قبلی تأخیر عادی را نشان دهند، ممکن است نشان‌دهنده این باشد که سرور مقصد یا شبکه فوری آن درخواست‌های ICMP را مسدود کرده یا به دلیل مشکلات شبکه غیرقابل دسترسی است.

راهنمای دقیق اجرای Traceroute در سیستم عامل های مختلف

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

پنجره ها:

استفاده کنید tracert دستور در Command Prompt:

tracert example.com

macOS و Linux:

استفاده کنید traceroute دستور در ترمینال در macOS، ممکن است لازم باشد traceroute را با استفاده از Homebrew نصب کنید (brew install traceroute) اگر به طور پیش فرض در دسترس نباشد:

traceroute example.com

برای هر دو پلتفرم، از گزینه هایی مانند استفاده کنید -I برای استفاده از بسته های ICMP یا -T برای استفاده از بسته های TCP SYN برای ردیابی، به خصوص اگر بسته های پیش فرض UDP فیلتر یا مسدود شده باشند.

ادغام Traceroute با سایر ابزارهای تشخیصی

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

نقش پینگ در تشخیص شبکه

پینگ یکی از ساده ترین و در عین حال موثرترین ابزارها برای تست اتصال و عملکرد شبکه است. با ارسال بسته های درخواست اکو ICMP به میزبان هدف و گوش دادن به بسته های پاسخ echo کار می کند. زمان رفت و برگشت (RTT) این بسته ها برای ارزیابی تأخیر بین منبع و هدف اندازه گیری می شود. پینگ همچنین اطلاعات از دست دادن بسته ها را ارائه می دهد و بینش هایی را در مورد قابلیت اطمینان شبکه ارائه می دهد.

نحوه انجام تست های پینگ در سیستم عامل های مختلف

  • پنجره ها: Command Prompt را باز کرده و از آن استفاده کنید ping دستور:
  ping example.com
  • macOS/Linux: ترمینال را باز کنید و از همان استفاده کنید ping دستور:
  ping example.com

تفسیر نتایج تست پینگ

نتایج تست پینگ شامل چندین معیار کلیدی است:

  • مقادیر RTT: تأخیر شبکه را نشان دهید. مقادیر بالای RTT می تواند نشان دهنده تراکم شبکه یا مسافت طولانی باشد.
  • از دست دادن بسته: از دست دادن بسته به صورت درصد نشان دهنده قابلیت اطمینان اتصال است. از دست دادن زیاد بسته ها می تواند منجر به بی ثباتی شبکه و مشکلات عملکرد شود.

ادغام نتایج پینگ با داده‌های traceroute می‌تواند به تعیین دقیق محل تأخیر یا از دست دادن بسته در مسیر کمک کند و سرنخ‌های ارزشمندی برای عیب‌یابی ارائه می‌دهد.

ترکیب Traceroute و Ping برای تجزیه و تحلیل شبکه جامع

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

استفاده از MTR برای تحلیل مداوم

MTR (My Traceroute) یک ابزار قدرتمند تشخیص شبکه است که عملکرد traceroute و ping را در یک رابط واحد ترکیب می کند. به طور مداوم بسته ها را به یک هدف می فرستد و آمار بلادرنگ را در مورد هر پرش در طول مسیر به روز می کند. این تجزیه و تحلیل مداوم می تواند مسائل متناوب را نشان دهد که ممکن است در یک عکس فوری ارائه شده توسط traceroute یا ping آشکار نشوند.

در حال اجرا MTR

  • لینوکس: MTR ممکن است از قبل نصب شده باشد یا از طریق مدیر بسته توزیع شما قابل نصب باشد. برای اجرای MTR کافی است تایپ کنید:
  mtr example.com
  • سیستم عامل مک: MTR را می توان با استفاده از Homebrew نصب کرد:
  brew install mtr
  mtr example.com
  • پنجره ها: در حالی که MTR به صورت بومی در ویندوز در دسترس نیست، می توان از نسخه های شخص ثالث یا ابزارهای مشابه استفاده کرد.

تفسیر نتایج MTR

MTR یک خروجی پویا را با هر پرش به مقصد نشان می دهد که شامل میانگین، بهترین و بدترین RTT، همراه با از دست دادن بسته می شود. این داده ها نه تنها به شناسایی مسیر بلکه معیارهای عملکرد برای هر بخش از مسیر در طول زمان کمک می کند.

تشخیص پیشرفته با PathPing

PathPing ابزار دیگری است که عناصر پینگ و traceroute را با هم ترکیب می کند که در ویندوز موجود است. چندین بسته را برای هر پرش در یک دوره ارسال می کند و نمای دقیقی از عملکرد شبکه در هر نقطه ارائه می دهد.

اجرای PathPing

در Command Prompt تایپ کنید:

pathping example.com

تجزیه و تحلیل خروجی PathPing

PathPing ابتدا مسیر را نمایش می‌دهد (مانند traceroute) و سپس آمار پینگ را برای هر پرش دنبال می‌کند. این می تواند چند دقیقه طول بکشد، اما یک نمای جامع از محل تاخیر یا گم شدن بسته ها ارائه می دهد.

جایگزین‌ها و بهبودهای Traceroute

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

Beyond Basic Traceroute: ابزارهایی مانند MTR، Tracepath، و Paris Traceroute

MTR (My Traceroute)

MTR عملکرد traceroute و ping را ترکیب می‌کند و نمای پویا و بی‌درنگ از مسیر بین منبع و مقصد ارائه می‌دهد. به طور مداوم بسته هایی را برای هر جهش در مسیر ارسال می کند و آمار به روز رسانی در مورد تأخیر و از دست دادن بسته در هر نقطه ارائه می کند.

امکانات:

  • به روز رسانی در زمان واقعی
  • عملکرد ping و traceroute را ترکیب می کند
  • نمایش از دست دادن بسته و تاخیر برای هر پرش

مثال استفاده در لینوکس:

mtr example.com

تفسیر خروجی MTR:
خروجی MTR شامل تعداد پرش، آدرس IP، درصد از دست دادن بسته ها و متوسط تاخیر برای هر جهش است. به‌روزرسانی‌های مداوم می‌تواند به شناسایی مشکلات متناوب شبکه که ممکن است در یک آزمایش ردیابی یا پینگ آشکار نباشد، کمک کند.

مسیر ردیابی

Tracepath مشابه traceroute است اما برای اجرا نیازی به دسترسی root ندارد. این به ویژه در سیستم هایی که کاربران اجازه اجرای traceroute با بسته های ICMP را ندارند مفید است.

امکانات:

  • بدون نیاز به دسترسی ریشه
  • اندازه بسته را به صورت خودکار تنظیم می کند
  • MTU (حداکثر واحد انتقال) را در طول مسیر شناسایی می کند

مثال استفاده در لینوکس:

tracepath example.com

تفسیر خروجی Tracepath:
Tracepath خروجی ساده‌تری نسبت به traceroute فراهم می‌کند و روی مسیر و MTU تمرکز دارد. این به ویژه برای شناسایی مشکلات MTU که می تواند باعث تکه تکه شدن یا از دست دادن بسته شود مفید است.

پاریس تراسروت

Paris Traceroute یک نسخه پیشرفته از traceroute است که برای رسیدگی به عدم دقت ناشی از مسیرهای متعادل بار طراحی شده است. Traceroute سنتی می تواند پاسخ هایی را از مسیرهای متعدد دریافت کند که منجر به خروجی گیج کننده یا گمراه کننده شود. Paris Traceroute تضمین می کند که همه بسته ها مسیر یکسانی را دنبال می کنند و نمایش دقیق تری از مسیر ارائه می دهند.

امکانات:

  • با شبکه های بار متعادل سروکار دارد
  • اطمینان حاصل می کند که بسته ها همان مسیر را دنبال می کنند
  • دید واضح تری از مسیر شبکه ارائه می دهد

مثال استفاده:
Paris Traceroute ممکن است نیاز به نصب جداگانه داشته باشد و استفاده از آن ممکن است بر اساس نصب متفاوت باشد. برای دستورالعمل‌های استفاده دقیق، اسناد مربوط به نسخه خود را بررسی کنید.

تفسیر خروجی Paris Traceroute:
خروجی مشابه traceroute سنتی است، اما از ناهماهنگی‌های مشاهده شده در مسیرهای متعادل کننده بار جلوگیری می‌کند و تصویر واضح‌تری از مسیر بسته‌ها ارائه می‌دهد.

IPv6 Traceroute: ردیابی مسیرها در شبکه های مدرن

همانطور که اینترنت بیشتر به سمت IPv6 می رود، درک چگونگی انجام ردیابی در شبکه های IPv6 اهمیت فزاینده ای پیدا می کند. اکثر ابزارهای traceroute از IPv6 با پرچم‌ها یا نسخه‌های خاص پشتیبانی می‌کنند.

مثال استفاده با Traceroute در لینوکس برای IPv6:

traceroute -6 example.com

تفسیر خروجی IPv6 Traceroute:
فرمت خروجی شبیه به IPv4 traceroute است که آدرس IPv6 هر هاپ را همراه با اندازه گیری تاخیر نشان می دهد. درک مسیرهای IPv6 برای تشخیص مشکلات اتصال در شبکه های مدرنی که از IPv6 استفاده می کنند بسیار مهم است.

تست آنلاین Traceroute و برنامه های موبایل برای تجزیه و تحلیل Traceroute

چندین ابزار آنلاین و برنامه های تلفن همراه، بدون نیاز به ابزارهای خط فرمان، قابلیت traceroute را ارائه می دهند. این می تواند به ویژه برای بررسی های سریع یا برای کاربرانی که با رابط های خط فرمان راحت نیستند مفید باشد.

ابزار آنلاین:

  • وب سایت هایی مانند ping.eu و whatismyip.com ابزارهای ردیابی آنلاین را ارائه می دهند که می توانند از یک مرورگر وب استفاده شوند.

اپلیکیشن های موبایل:

  • برنامه‌هایی مانند Fing (در دسترس برای iOS و Android) از دیگر ویژگی‌های تشخیصی شبکه، traceroute را فراهم می‌کنند.

فواید:

  • رابط های کاربر پسند
  • بدون نیاز به دانش خط فرمان
  • دسترسی از هر نقطه

منابع اضافی

برای کسانی که به دنبال تعمیق درک خود از تشخیص ردیابی و شبکه هستند، منابع زیادی در دسترس است. در اینجا چند توصیه برای افزایش دانش و مهارت های شما وجود دارد:

کتاب ها و انتشارات

  • «TCP/IP مصور، جلد 1: پروتکل‌ها» نوشته دبلیو ریچارد استیونز: این کتاب نگاهی عمیق به پروتکل‌های TCP/IP، از جمله اصول اساسی ابزارهایی مانند traceroute ارائه می‌کند.
  • "ابزارهای عیب یابی شبکه" نوشته جوزف دی اسلون: راهنمای جامع برای ابزارهای مختلف عیب یابی شبکه، از جمله traceroute، و نحوه استفاده موثر از آنها.

دوره ها و آموزش های آنلاین

  • آکادمی شبکه سیسکو (NetAcad): دوره هایی را در مورد اصول شبکه ارائه می دهد، از جمله ماژول هایی در مورد عیب یابی و تشخیص شبکه.
  • Coursera و Udemy: هر دو پلتفرم دارای دوره هایی در زمینه مدیریت شبکه و عیب یابی هستند که استفاده از traceroute و ابزارهای مرتبط را پوشش می دهد.

وب سایت ها و ابزارهای آنلاین

  • ابزارهای مرکز هماهنگی شبکه RIPE (RIPE NCC): مجموعه ای از ابزارهای آنلاین برای تجزیه و تحلیل شبکه، از جمله traceroute از مکان های مختلف در سراسر جهان را ارائه می دهد.
  • ابزارهای CAIDA: مرکز تحلیل داده های اینترنتی کاربردی (CAIDA) ابزارها و منابعی را برای اندازه گیری و تجزیه و تحلیل شبکه، از جمله ابزارهای مبتنی بر ردیابی، ارائه می دهد.

انجمن ها و انجمن ها

  • مهندسی شبکه Stack Exchange: یک انجمن پرسش و پاسخ برای متخصصان شبکه که در آن می توانید سوالات خود را بپرسید و دانش خود را در مورد تشخیص ردیابی و تشخیص شبکه به اشتراک بگذارید.
  • Reddit r/networking: زیرمجموعه ای اختصاص داده شده به شبکه که در آن علاقه مندان و متخصصان درباره ابزارها، فناوری ها و تکنیک های عیب یابی بحث می کنند.

نرم افزار و برنامه های کاربردی

  • Wireshark: در حالی که Wireshark یک ابزار traceroute نیست، یک تحلیلگر پروتکل شبکه قدرتمند است که می تواند با ارائه بینش دقیق در مورد ترافیک شبکه، تشخیص ردیابی را تکمیل کند.
  • GNS3: یک شبیه ساز شبکه ارائه می دهد که می تواند برای شبیه سازی شبکه های پیچیده و تمرین با traceroute و سایر ابزارهای تشخیصی در یک محیط کنترل شده استفاده شود.

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