وبلاگ

آموزش مدیریت پهنای باند و کنترل ترافیک با استفاده از Queue در میکروتیک

how to manage bandwidth and control traffic using Queue

محدود نبودن پهنای باند و نبود مدیریت ترافیک، یکی از رایج‌ترین دلایل کاهش کیفیت سرویس در شبکه‌های کوچک و بزرگ است. وقتی چند کاربر همزمان از یک اینترنت اشتراکی استفاده می‌کنند، دانلود سنگین یک نفر می‌تواند به طور مستقیم روی بازی، تماس تصویری و کارهای روزمره بقیه تأثیر بگذارد.

میکروتیک (MikroTik) به عنوان یکی از محبوبترین روترهای لینوکسی جهان، سیستم قدرتمند و انعطاف پذیری برای سهمیه بندی پهنای باند فراهم کرده است. این سیستم که با عنوان Queue شناخته می‌شود، به مدیر شبکه اجازه می‌دهد تا پهنای باند را به صورت عادلانه و بر اساس نیاز هر کاربر یا سرویس تخصیص دهد.

Queue در میکروتیک چیست؟

Queue در میکروتیک یک مکانیزم کنترل ترافیک (QoS) است که بر پایه تکنولوژی HTB (Hierarchical Token Bucket) کار می‌کند. به زبان ساده، Queue به روتر میگوید که:

  • هر کاربر یا گروه کاربری حداکثر چقدر پهنای باند مصرف کند (Limit At)
  • حداقل چقدر پهنای باند برایش تضمین شود (Max Limit)
  • چه زمانی و با چه مکانیزمی به آن‌ها سهم بیشتری تعلق بگیرد (Burst)
  • اولویت پردازش ترافیک‌ها چگونه باشد (Priority)

این قابلیت از طریق سه ابزار اصلی پیادهسازی میشود:

  1. Simple Queues — ساده و پرکاربرد
  2. Queue Tree — قدرتمند و پیچیده
  3. PCQ — سهمیه بندی عادلانه بین کاربران متعدد

Simple Queues؛ ساده‌ترین راه برای شروع

Simple Queue محبوب‌ترین و ساده‌ترین روش کنترل پهنای باند در میکروتیک است. مزیت بزرگ آن این است که در یک پنجره واحد، تمام کنترل‌های لازم از جمله سرعت دانلود (Target Upload / Download)، آدرس مقصد و سورس، IP محدود و بازه زمانی را تنظیم می‌کنید.

تنظیم مرحله به مرحله Simple Queue

برای ساخت یک Simple Queue از مسیر زیر اقدام کنید:

Queue > Simple Queues > Add

پارامترهای کلیدی عبارتند از:

پارامتر توضیح
Name نام دلخواه برای شناسایی Queue
Target آدرس IP یا شبکه مقصد (معمولاً کلاینت)
Max Limit (Upload/Download) حداکثر سرعت مجاز
Limit At حداقل سرعت تضمین شده
Burst Limit / Burst Time سرویس دهی موقت با سرعت بالاتر
Priority اولویت بین Queueها
Time بازه زمانی فعال بودن Queue

مثال کاربردی

فرض کنید می‌خواهید سرعت اینترنت ۱۰۰ مگابیت را بین ۱۰ مشتری تقسیم کنید:

Queue > Simple Queues
Name: Customer-1
Target: 192.168.1.2
Max Limit Upload: 10M / Max Limit Download: 10M
Limit At Upload: 5M / Limit At Download: 5M

با این تنظیم، هر کاربر حداکثر ۱۰ مگابیت و حداقل ۵ مگابیت تضمین شده دریافت می‌کند.

Queue Tree؛ کنترل دقیق بر اساس پروتکل و پورت

Queue Tree برای موقعیت‌هایی مناسب است که نیاز به کنترل دقیق‌تر دارید — مثلاً جداکردن ترافیک دانلود از آپلود، یا اولویت بندی پروتکل‌های خاص مانند VoIP نسبت به دانلود.

تفاوت اصلی Queue Tree با Simple Queue این است که:

  • بر اساس Mangle rules کار می‌کند (یعنی باید ابتدا بسته‌ها را مارک کنید)
  • برای هر پروتکل، پورت یا آدرس به صورت جداگانه Queue می‌سازید.
  • کنترل دقیق‌تر و تخصصی‌تر دارد.

مراحل ساخت Queue Tree

گام اول — مارک کردن ترافیک در Mangle:

IP > Firewall > Mangle > Add
Chain: forward
Protocol: tcp
Dst-Port: 443
Action: mark-connection
New Connection Mark: https-conn

مشخص کردن ترافیک برای هر بخش:

IP > Firewall > Mangle > Add
Chain: forward
Connection Mark: https-conn
Action: mark-packet
New Packet Mark: https-pack

گام دوم — ساخت Queue Tree:

Queue > Queue Tree > Add
Name: Web-HTTPS
Packet Marks: https-pack
Parent: ether1-WAN
Max Limit: 20M

PCQ؛ تقسیم عادلانه پهنای باند بین کاربران

PCQ (Per Connection Queuing) یکی از هوشمندترین ویژگی‌های Queue در میکروتیک است. وقتی تعداد کاربران زیاد است و نمی‌توانید برای هر کدام به صورت دستی Queue بسازید، PCQ بهصورت خودکار پهنای باند را به طور عادلانه بین اتصالات تقسیم می‌کند.

مزایای کلیدی PCQ

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

مثال راه اندازی PCQ

در یک Simple Queue، کافی است دکمه PCQ را از بخش Download/Upload فعال کنید:

Queue > Simple Queues > Add
Target: 192.168.0.0/24
Max Limit Download: 50M
Max Limit Upload: 20M
✔ PCQ Download → Rate: 5M (سهم هر کاربر)
✔ PCQ Upload → Rate: 2M

با این تنظیم، از مجموع ۵۰ مگابیت دانلود، هر کاربری که فعال باشد حداکثر ۵ مگابیت دریافت می‌کند و مابقی پهنای باند به طور خودکار بین کاربران فعال توزیع می‌شود.

ویژگی Burst؛ سرویس دهی هوشمند

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

توضیح پارامتر
حداکثر سرعت موقت در حالت Burst Burst Limit
مدت زمان فعال بودن Burst Burst Time
آستانه سرعتی که بعد از آن Burst متوقف می‌شود Burst Threshold

مثال کاربردی Burst

فرض کنید سهم معمول کاربر ۵ مگابیت است، اما می‌خواهید هنگام بازکردن صفحات، به ۱۰ مگابیت سرویس داده شود:

Max Limit Download: 5M
Burst Limit: 10M
Burst Time: 16
Burst Threshold: 4M

یعنی تا زمانی که میانگین مصرف زیر ۴ مگابیت است، کاربر از ۱۰ مگابیت استفاده می‌کند؛ اما اگر مصرف بالا بماند، به ۵ مگابیت محدود می‌شود.

مقایسه Simple Queue و Queue Tree

Queue Tree Simple Queue معیار
نیاز به دانش Mangle دارد بسیار ساده سهولت راه اندازی
کامل و دقیق محدود کنترل بر پروتکل/پورت
شبکه‌های پیچیده شرکتی شبکه‌های کوچک و متوسط مناسب برای
بله خیر نیاز به Mangle Rule
نیاز به تنظیم دستی پشتیبانی داخلی PCQ

اشتباهات رایج در مدیریت Queue

 اشتباه ۱: تنظیم Max Limit کمتر از Limit At

این کار باعث تداخل در HTB شده و رفتار غیرقابل پیش بینی ایجاد میکند. همیشه Max Limit ≥ Limit At باشد.

 اشتباه ۲: عدم استفاده از PCQ در شبکههای پرجمعیت

وقتی تعداد کاربران زیاد است، ساخت Queue دستی برای هر کاربر، مصرف CPU را افزایش و مدیریت را سخت می‌کند.

 اشتباه ۳: نادیده گرفتن اینترفیس WAN در Queue Tree

در Queue Tree حتماً باید Parent را به اینترفیس بیرونی (مثلاً ether1-WAN) متصل کنید، وگرنه Queue کار نمی‌کند.

 اشتباه ۴: فراموش کردن تنظیم Burst

اعمال محدودیت خیلی سخت بدون Burst، باعث کاهش سرعت احساسی (Perceived Speed) کاربران می‌شود.

دیدگاهتان را بنویسید

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