آموزش مدیریت پهنای باند و کنترل ترافیک با استفاده از Queue در میکروتیک
محدود نبودن پهنای باند و نبود مدیریت ترافیک، یکی از رایجترین دلایل کاهش کیفیت سرویس در شبکههای کوچک و بزرگ است. وقتی چند کاربر همزمان از یک اینترنت اشتراکی استفاده میکنند، دانلود سنگین یک نفر میتواند به طور مستقیم روی بازی، تماس تصویری و کارهای روزمره بقیه تأثیر بگذارد.
میکروتیک (MikroTik) به عنوان یکی از محبوبترین روترهای لینوکسی جهان، سیستم قدرتمند و انعطاف پذیری برای سهمیه بندی پهنای باند فراهم کرده است. این سیستم که با عنوان Queue شناخته میشود، به مدیر شبکه اجازه میدهد تا پهنای باند را به صورت عادلانه و بر اساس نیاز هر کاربر یا سرویس تخصیص دهد.
Queue در میکروتیک چیست؟
Queue در میکروتیک یک مکانیزم کنترل ترافیک (QoS) است که بر پایه تکنولوژی HTB (Hierarchical Token Bucket) کار میکند. به زبان ساده، Queue به روتر میگوید که:
- هر کاربر یا گروه کاربری حداکثر چقدر پهنای باند مصرف کند (Limit At)
- حداقل چقدر پهنای باند برایش تضمین شود (Max Limit)
- چه زمانی و با چه مکانیزمی به آنها سهم بیشتری تعلق بگیرد (Burst)
- اولویت پردازش ترافیکها چگونه باشد (Priority)
این قابلیت از طریق سه ابزار اصلی پیادهسازی میشود:
- Simple Queues — ساده و پرکاربرد
- Queue Tree — قدرتمند و پیچیده
- 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
مشخص کردن ترافیک برای هر بخش:
Chain: forward
Connection Mark: https-conn
Action: mark-packet
New Packet Mark: https-pack
گام دوم — ساخت Queue Tree:
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) کاربران میشود.