فرض کنید پهنای باند یک بزرگراه است. حالا سوال این است: بدون دوربین، بدون حسگر و بدون آمار لحظه‌ای، چطور می‌فهمید کدام ماشین در کدام لاین، در چه ساعتی، باعث ترافیک شده؟

پاسخش ساده است: نمی‌فهمید. همین اتفاق هر روز در هزاران شبکه می‌افتد. مدیران شبکه فقط وقتی متوجه می‌شوند که کاربران اعتراض می‌کنند. اما راهی هست که نه‌تنها ببینید هر پورت چه بلایی سر پهنای باند آورده، بلکه بتوانید همین الان و به صورت زنده، عدد مصرف را روی صفحه ببینید. اسم این راه، SNMP است. در این مقاله، از صفر تا سیستمی پیش می‌رویم که دیگر هیچ‌وقت برایتان سوال نماند: «الان پهنای باند کجاست؟»

fav

خرید تجهیزات شبکه

برای خرید آنلاین انواع تجهیزات شبکه از برندهای معتبر با بهترین قیمت و تضمین کیفیت از فروشگاه معتبر نتورک شاپ بازدید نمائید.

فهرست مطالب محتوا

در شبکه‌های امروزی، پهنای باند یک منبع حیاتی و محدود است. بدون مانیتورینگ مداوم:

  • نمی‌دانید چه کسی یا چه سرویسی پهنای باند را اشغال کرده است.

  • نمی‌توانید ترافیک غیرعادی (مثل حملات DDoS یا بدافزارها) را تشخیص دهید.

  • قادر به برنامه‌ریزی برای ارتقاء ظرفیت نخواهید بود.

هدف این مقاله: راه‌اندازی سیستمی برای نمایش مصرف لحظه‌ای پهنای باند با استفاده از پروتکل SNMP روی تجهیزات شبکه (روتر، سوئیچ لایه ۳، فایروال).

SNMP چیست و چرا برای مانیتورینگ پهنای باند؟

SNMP (Simple Network Management Protocol) یک پروتکل استاندارد لایه کاربردی است که برای مدیریت و پایش تجهیزات شبکه طراحی شده است.

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

نکته مهم: مانیتورینگ لحظه‌ای در SNMP از طریق polling دوره‌ای (مثلاً هر ۱ تا ۵ ثانیه) توسط نرم‌افزارهای مدیریتی انجام می‌شود، نه اینکه دستگاه به صورت خودکار داده بفرستد.

اجزای مورد نیاز برای پیاده‌سازی

برای پیاده‌سازی مانیتورینگ پهنای باند به تجهیزات گرانی نیاز ندارید. موارد زیر که اجزء اصلی هستند را کنار هم بگذارید، سیستم شما آماده است.

جزءشرح
دستگاه هدفروتر، سوئیچ لایه ۳ یا هر گیت‌وی که SNMP را فعال کرده باشد.
نسخه SNMPنسخه ۲c (معمول‌ترین) یا ۳ (امن‌تر)
Community Stringمانند رمز عبور فقط خواندنی (مثلاً public یا رمز اختصاصی)
نرم‌افزار مانیتورینگCacti، Zabbix، PRTG، MikroTik Dude، MRTG
یک سیستم سرور (یا کامپیوتر همیشه روشن)برای اجرای نرم‌افزار و ذخیره داده‌ها

OIDهای کلیدی برای پهنای باند

هر پارامتر در SNMP با یک OID (Object Identifier) شناخته می‌شود. برای پهنای باند پورت‌ها از جداول استاندارد IF-MIB استفاده می‌کنیم:

OIDتوضیح
.1.3.6.1.2.1.2.2.1.10ifInOctets – کل بایت‌های دریافتی از زمان بوت
.1.3.6.1.2.1.2.2.1.16ifOutOctets – کل بایت‌های ارسالی از زمان بوت

تبدیل به پهنای باند لحظه‌ای (مثلاً بر حسب مگابیت بر ثانیه):

۱. مقدار OID شامل تعداد بایت‌های تجمعی است.
۲. هر دوره polling (مثلاً هر ۵ ثانیه) مقدار قبلی را از جدید کم کنید.
۳. فرمول به صورت زیر می‌باشد:

پهنای باند (Mbps) = (مقدار جدید - مقدار قدیم) × 8 / 1000000 / (زمان بین دو نمونه به ثانیه)

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

سناریوی عملی: نمایش مصرف لحظه‌ای با سه روش

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

روش اول: با ابزار خط فرمان snmpget و bc

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

# دریافت ورودی پورت 1 سوئیچ با آی‌پی 192.168.1.1
OLD=$(snmpget -v2c -c public 192.168.1.1 .1.3.6.1.2.1.2.2.1.10.1 | awk '{print $4}')
sleep 5
NEW=$(snmpget -v2c -c public 192.168.1.1 .1.3.6.1.2.1.2.2.1.10.1 | awk '{print $4}')
DIFF=$((NEW - OLD))
MBPS=$(echo "$DIFF * 8 / 1000000 / 5" | bc -l)
echo "Inbound bandwith port 1 is: $MBPS Mbps"

توضیح متنی: کار به این صورت است که ابتدا مقدار OID مربوط به بایت‌های دریافتی پورت را می‌خوانیم، ۵ ثانیه صبر می‌کنیم، دوباره می‌خوانیم، سپس اختلاف دو مقدار را محاسبه کرده و با فرمول (اختلاف × ۸ ÷ ۱,۰۰۰,۰۰۰ ÷ ۵) به مگابیت بر ثانیه تبدیل می‌کنیم. عدد به دست آمده، همان مصرف لحظه‌ای پهنای باند ورودی آن پورت است.

✅ مناسب برای اسکریپت‌های سفارشی و نمایش سریع در ترمینال.

روش دوم: با Cacti (نرم‌افزار متن‌باز و حرفه‌ای)

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

  1. Cacti را روی Ubuntu/CentOS نصب کنید.

  2. دستگاه را به عنوان Host اضافه کنید.

  3. Graph Template را روی Interface Traffic تنظیم کنید.

  4. مقدار polling interval را روی ۱ دقیقه (یا ۳۰ ثانیه) بگذارید.

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

✅ نمایش گرافیکی و ذخیره تاریخچه برای ماه‌ها.

روش سوم: با Zabbix (مناسب سازمان‌های بزرگ)

روش سوم، سطح حرفه‌ای مانیتورینگ است. Zabbix یک پلتفرم کامل است که SNMP را با قابلیت هشدار، تریگرهای شرطی و معماری توزیع‌شده ترکیب می‌کند. اگر مانیتورینگ برایتان فقط «دیدن عدد» نیست، این روش را ببینید.

  1. قالب (Template) Template Net SNMPv2 را به دستگاه اختصاص دهید.

  2. آیتم‌های ifInOctets و ifOutOctets به‌طور خودکار ایجاد می‌شوند.

  3. در بخش Latest data مصرف لحظه‌ای هر پورت به روز می‌شود.

  4. می‌توانید Trigger برای آستانه پهنای باند (مثلاً > 80% ظرفیت) تعریف کنید.

✅ بهترین گزینه برای هشدار (Alerting) و یکپارچگی با سیستم تیکتینگ.

جدول جمع‌بندی مقایسه روش‌ها

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

ویژگیاسکریپت CLICactiZabbix
نصب و راه‌اندازیسادهمتوسطپیچیده
نمایش لحظه‌ایبله (با تاخیر polling)بله (نمودار به‌روز)بله
ذخیره تاریخچهخیربلهبله
هشدار (Alert)خیر (با cron می‌شود)محدودقدرتمند
منابع مصرفیکممتوسطبالا

رفع اشکالات رایج در مانیتورینگ SNMP

تا اینجا نظریه بود. حالا می‌رویم سراغ مشکلات واقعی که سرِ کار جلوی مشتری دیدیم. با هر کدام، راه حلش را ببینید.

مشکلراه‌حل
No response از دستگاهبررسی کنید SNMP روی دستگاه فعال باشد و Community درست باشد.
داده دریافت می‌شود اما صفر استمطمئن شوید از OID صحیح و شاخص (Index) پورت استفاده می‌کنید.
مصرف پهنای باند خیلی پایین نشان می‌دهدمقدار واحد را بررسی کنید: OID بر حسب بایت است، نه بیت.
در نمودار پیک‌های غیرعادی داریدشاید polling interval خیلی بلند باشد (پیک‌های کوتاه مدت دیده نشوند)؛ آن را به ۳۰ ثانیه برسانید.

نتیجه‌گیری

مانیتورینگ پهنای باند با SNMP راهکاری استاندارد، کم‌هزینه و همه‌کاره است. با انتخاب ابزار مناسب بر اساس نیاز (سادگی یا قابلیت هشدار)، می‌توانید نمایش لحظه‌ای پهنای باند را به صورت گرافیکی یا متنی پیاده کنید. این کار به شما کمک می‌کند:

  • ترافیک شبکه را درک کنید.

  • از ظرفیت بهینه استفاده کنید.

  • مشکلات را پیش از آنکه کاربر گزارش دهد، پیدا کنید.

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

از روتر و سوئیچ گرفته تا کابل و تجهیزات پسیو، همه‌چیز را با قیمت رقابتی و مشاوره تخصصی در اختیارتان قرار می‌دهیم.  خرید آسان از وب‌سایت networkshop.ir تجربه‌ای متفاوت از تکنولوژی شبکه را برایتان رقم می‌زند!

آیا همه تجهیزات شبکه از SNMP پشتیبانی می‌کنند؟

خیر، اما اکثر تجهیزات حرفه‌ای (Cisco، MikroTik، Huawei، Zyxel، Juniper) و حتی بسیاری از مودم‌های خانگی پشتیبانی می‌کنند. تجهیزات بسیار ارزان یا قدیمی ممکن است SNMP نداشته باشند.

 

تفاوت بین بایت و بیت در محاسبه پهنای باند چیست؟

اپراتورها و ISPها معمولاً پهنای باند را بر حسب بیت بر ثانیه (مثلاً ۱۰۰ مگابیت) می‌فروشند، اما SNMP داده را بر حسب بایت ارائه می‌دهد. برای تبدیل باید مقدار را در ۸ ضرب کرد.

 

چرا گاهی پهنای باند نمایش داده شده صفر یا خیلی کم است؟

دلایل احتمالی: پورت مورد نظر واقعاً ترافیکی ندارد، polling interval خیلی بلند است و پیک‌های کوتاه را از دست می‌دهید، یا واحد محاسبه اشتباه است (بیت و بایت قاطی شده).

 

تفاوت بین پهنای باند لحظه‌ای، میانگین و تجمعی چیست؟

لحظه‌ای مقدار در کسری از ثانیه، میانگین میانگین مصرف در یک بازه (مثلاً ۵ دقیقه) و تجمعی کل داده جابه‌جا شده در یک روز یا ماه است. هر سه برای تحلیل مفیدند.

 

تفاوت SNMP Polling و SNMP Trap چیست؟

Polling یعنی نرم‌افزار مانیتورینگ به صورت دوره‌ای از دستگاه سوال می‌کند. Trap یعنی خود دستگاه وقتی رویدادی رخ داد (مثلاً قطع شدن لینک) یک پیام ناخواسته به سرور می‌فرستد.

 

مطالعه بیشتر