MTR (traceroute من) یک ابزار پویای تشیخص عملکرد شبکه است که عملکرد ping و traceroute را با هم ترکیب کرده است. این ابزار اتصال بین هاست مقصد و سرور مبدا را بررسی می کند. به طور دقیق تر می توان گفت که MTR، زمان پاسخ و اتلاف بسته ناشی از عبور از روترها، در راه رسیدن به مقصد و بازگشت به مبدا را از طریق TTL و با استفاده از ICMP تحلیل می کند. MTR جریانی از بسته ها را ارسال می کند به طوری که به طور پیوسته و با عبور از هر هاپ (hop)، TTL را افزایش می دهد (TTL هاپ اول برابر با 1، TTL هاپ دوم برابر با 2 و …). بنابراین ما می توانیم Trace (ردگیری) تا یک هاست دلخواه را داشته باشیم.
MTR یک ابزار تعاملی است که به صورت پیوسته خروجی خود را بروزرسانی می کند. هر زمان که مشتری وضعیت یک اتصال را پیگیری می کند، از گزارش MTR استفاده می کنیم. گزارش MTR ارسال بسته های ICMP را به صورت پیوسته انجام نمی دهد اما اطلاعات وسیعی را در اختیار شما قرار می دهد. ارائه این اطلاعات را با ارسال 10 بسته (به صورت پیش فرض) به هر هاپ انجام می دهد. گزارشات MTR کاربرد گسترده ای برای آنالیز گلوگاه های اتصال شبکه و مسائل مربوط به آن دارد. با این وجود، باید توجه داشت که امکان تفسیر اشتباه نیز وجود دارد.
در ادامه مطلب به بررسی نحوه اجرای MTR و چگونگی تحلیل گزارش آن می پردازیم.
چگونه MTR را اجرا کنیم؟
MTR روی همه توزیع های لینوکس از قبل نصب شده است. در غیر اینصورت می توانید با استفاده از دستورات زیر اقدام به نصب نمایید:
1 2 3 4 |
Debian and Ubuntu apt update apt upgrade apt install mtr-tiny |
1 2 3 |
CentOS and Fedora yum update yum install mtr |
برای کاربران ویندوز هم، اپلیکیشنی به نام WinMTR وجود دارد . برای سیستم عامل MAC هم باید پکیج homebew نصب شود تا MTR اجرا شود.
با اتصال به سرور خود از طریق SSH می توانید یک گزارش آزمایشی از مسیر سرور خود تا ISP که از آن استفاده می کنید، تهیه کنید. برای این کار از دستور زیر استفاده کنید و آدرس IP خود را در بخش مربوطه قرار دهید.
1 |
mtr [YOUR HOST IP] -r |
برای ایجاد گزارش MTR، از آپشن r- استفاده کنید. چنانچه مایل هستید که نتایج قابل اطمینان تر باشند، تعداد چرخه (c-) را افزایش دهید (به صورت پیش فرض 10 چرخه است) و همچنین نرخ ورود (i-) را کاهش دهید (به صورت پیش فرض 1 ثانیه است).
از پارامتر w- می توانید به منظور کوتاه نشدن گزارش های طولانی استفاده کنید تا گزارش دریافتی ناقص نباشد.
با استفاده از فلگ n- این اجبار را بوجود می آورید که در گزارش آدرس های IP را به جای reverse DNS lookup به صورت یک رکورد عددی نمایش داده شود.
چگونه گزارشات MTR را بخوانیم و تحلیل کنیم؟
نکته: تمامی مثال های MTR در این مقاله فرضی هستند و بر اساس داده شبکه در دنیای واقعی نمی باشند.
توضیح هریک از پارامترهای به کار رفته در گزارش در ادامه شرح داده شده است:
-
-
- Loss%: چند درصد از بسته ها برنخواهند گشت و گم شدند.
- Snt: تعداد بسته های ارسال شده
- Last: تاخیر آخرین بسته ارسال شده
- Avg, Best, Wrst: میانگین، بهترین و بدترین تاخیر در تمامی بسته ها
- StDev: انحراف معیار تأخیرها برای هر هاپ. StDev بالا به معنی بی ثباتی شبکه است.
-
اتلاف بسته MTR
اتلاف بسته در یک هاپ روی مسیر، نه به معنی وجود اشتباه در مسیریابی است و نه به معنی وجود ازدحام در مسیر است. وقتی که شما در خروجی شاهد یک loss هستید، علت آن می تواند تنظیم محدود شدن ارسال ICMP روی روتر است.
اتلاف در مثال ما به دلیل محدود کردن نرخ ICMP است که عملی مرسوم به منظور جلوگیری از سربار CPU روتر ناشی از درخواست های ICMP است. در دنیای واقعی اتلاف ممکن است همچنان در هاپ های بعدی اتفاق بیفتد و نرخ اتلاف بسته را نسبت به هاپ قبلی افزایش دهد.
در مثال فوق شاهد اتلاف ترافیک هستید و این به دلیل از نرخ بالای دست دادن بسته از هاپ 4 به بعد است که مدام در حال افزایش است.
در تصویر فوق اتلاف بسته روی آخرین هاپ احتمالا ناشی از فاصله زیاد با کاربر ISP است و ناشی از وضعیت اتصال بین سرور شما و ISP نیست.
علامت سوال در گزارش های MTR به چه معناست؟
اگر علامت سوال در خروجی MTR شما ظاهر شود، نشان دهنده غیرفعال بودن ICMP echo reply برای میزبانی است که در تلاش برای دسترسی به هاست است.
اگر در گزارش شما علامت سوال نشان داده شود اما بسته ای گم نشود، مشکل ناشی از عدم اتصال به شبکه است. علامت های سوال و اتلاف بسته به دلیل دورانداختن بسته های ICMP توسط روتر است.
مسئله دیگری که ممکن است رخ دهد این است که بسته ها هیچ وقت به مقصد نرسند. این اتفاق ممکن است به دلیل غیرفعال کردن ICMP echo request روی روترهای مسیر باشد.
به این نکته توجه داشته باشید که اکثر مشکلات نشان داده شده در گزارش MTR موقت هستند و برطرف خواهند شد. پشتیبانی از بسته های داده و نظارت مدیران شبکه بر روی شبکه های عظیم به صورت 24 ساعت شبانه روز و 7 روز هفته و با کمک یک نرمافزار مانیتورینگ ریموت انجام می شود و مشکلی در این زمینه وجود ندارد. شما می توانید در صورت مواجه شدن با مشکلی خاص می توانید از طریق تیکت با شرکت پشتیبانی مربوطه در ارتباط باشید.
نفیسه دانشگرمقدم
Latest posts by نفیسه دانشگرمقدم (see all)
- نحوه ارسال هرزنامه ها به صورت اسپم - آذر ۲۸, ۱۴۰۰
- 7 نکته برای کاهش اندازه دیتابیس وردپرس - دی ۳۰, ۱۳۹۹
- نحوه تعریف فوروارد ایمیل در cPanel - آذر ۲۴, ۱۳۹۹