محدودکردن سرعت کاربران در میکروتیک با Simple Queue و PCQ
برای یک دستگاه، Simple Queue با target مشخص کافی است. وقتی چند دستگاه باید ظرفیت مشترک داشته باشند، میتوان PCQ را در همان Simple Queue به کار برد. این آموزش هر دو حالت را در یک شبکه آزمایشی و با کنترل نتیجه نشان میدهد.
این راهنما براساس مستندات رسمی تهیه شده و توسط نتمسترز بهصورت عملی آزمایش نشده است.
آخرین بازبینی متن:
در این صفحه
سناریو و انتخاب روش
مبنای این آموزش مستندات RouterOS با برچسب 7.26 در ۱۵ اکتبر ۲۰۲۶ است؛ این عدد نسخه آزمایششده نتمسترز یا توصیه نصب یک انتشار مشخص نیست. پیش از اجرا، نسخه نصبشده، نام رابطها و گزینههای دستگاه خود را تطبیق دهید.
نمونه برای کارشناس مجاز روی روتر آزمایشی دارای اینترنت و فایروال سالم است: ether1 سمت اینترنت و bridge-lan با 192.168.50.1/24 سمت کاربران است. دو کلاینت کابلی .10 و .20 آدرس ثابت یا رزروشده معتبر دارند. ترافیک آزمایش IPv4 و از مسیر پردازنده روتر عبور میکند؛ IPv6، چند WAN، Hotspot، VPN و مسیریابی سختافزاری در این نمونه پوشش داده نمیشوند. این دستورها را روی شبکه فعال بدون بررسی صفها و سیاست موجود کپی نکنید.
| نیاز | تنظیم نمونه |
|---|---|
| سقف مستقل یک دستگاه | Simple Queue با target=/32؛ ابتدا .10 را محدود میکنیم. |
| تقسیم یک ظرفیت بین چند IP | یک Simple Queue با نوع PCQ؛ سهم بر اساس آدرس هر دستگاه محاسبه میشود. |
| سهمیه ماهانه یا گزارش مصرف گذشته | این دو نمونه چنین کاری نمیکنند؛ سرعت با حجم مصرفی تفاوت دارد. |
برای دیدن همه ستونها، جدول را به چپ یا راست بکشید؛ با کیبورد از کلیدهای جهت استفاده کنید.
برای انتخاب سقفها، ظرفیت قابل استفاده را در زمان مشابه اندازه بگیرید. فرض آموزشی ما حداقل ۱۰ Mbps آپلود و ۵۰ Mbps دانلود در مسیر آزمایش است؛ سقف گروه را 8M/40M میگذاریم. این اعداد توصیه عمومی برای همه خطوط نیستند. راهنمای مصرف اینترنت شرکت درباره سیاست حجم و زمان مصرف توضیح میدهد.
تنظیمات قبلی و FastTrack را بررسی کنید
پیش از تغییر، بکاپ و Export بگیرید، صفها و وضعیت قواعد FastTrack را ثبت و دسترسی مدیریتی و راه برگشت را آماده کنید. Safe Mode را با Ctrl+X برای تغییرهای محدود فعال کنید و نشان SAFE را ببینید. این نمونه به نامهای تازه و نبود صف همپوشان برای کلاینتهای آزمایشی نیاز دارد؛ صف پویا یا سیاست فعال را برای اجرای مثال حذف نکنید.
/queue/simple/print detail
/queue/tree/print detail
/queue/type/print detail
/ip/firewall/filter/print detail where action=fasttrack-connection
/ip/firewall/connection/print detailFastTrack میتواند Simple Queue را دور بزند. فقط در همین روتر آزمایشی، قواعد فعال fasttrack-connection را در WinBox شناسایی و پس از ثبت وضعیتشان Disable کنید؛ قواعد accept، drop و NAT را دست نزنید. در شبکه عملیاتی باید ترافیک هدف از FastTrack مستثنا شود و توان CPU سنجیده شود؛ خاموشکردن سراسری آن نسخه آماده برای هر شبکه نیست.
اتصال قبلاً FastTrackشده تا پایان یا timeout ممکن است همان وضعیت را نگه دارد. انتقال آزمایشی قبلی را روی کلاینت متوقف کنید و برای سنجش یک اتصال تازه بسازید؛ در Connections بررسی کنید اتصال جدید F/fasttrack نداشته باشد. کل جدول اتصالها را پاک نکنید. خاموشکردن FastTrack میتواند بار CPU را بالا ببرد.
Torch و Sniffer را هنگام سنجش صف ببندید. اجرای Torch خود FastTrack را موقتاً متوقف میکند؛ کارکرد صف فقط با پنجره باز Torch، تأیید درستی تنظیم نیست.
نمونه اول: سقف سرعت یک دستگاه
/queue/simple/add name=nm-client10 target=192.168.50.10/32 max-limit=2M/10M disabled=yes
/queue/simple/print detail where name=nm-client10در max-limit ترتیب، آپلود/دانلود از دید target است: این نمونه ۲ Mbps ارسال و ۱۰ Mbps دریافت دارد. M نرخ مگابیت است؛ ۱۰ Mbps تقریباً ۱٫۲۵ MB/s پیش از سربار میشود. سقف صف تضمین نمیکند مسیر کندتر، همین سرعت را تأمین کند.
در Queues → Simple Queues، target، سقفها و ترتیب را ببینید. این نمونه burst و حداقل تضمینشده تنظیم نمیکند. صف همپوشان بالاتر میتواند زودتر ترافیک را بگیرد؛ اگر صف دیگری این target را پوشش میدهد، ابتدا طراحی صفها را روشن کنید. پس از تطبیق:
/queue/simple/enable [find where name="nm-client10"]
/queue/simple/print stats where name=nm-client10از .10 انتقال تازه به یک مقصد آزمایشی مجاز خارج LAN انجام دهید؛ دانلود و آپلود را جدا و برای مدتی کافی جهت پایدارشدن نرخ بسنجید. همزمان .20 را امتحان کنید: صف تکدستگاه نباید مستقیماً آن را محدود کند، هرچند هر دو هنوز ظرفیت یک خط را مصرف میکنند. شمارنده bytes صف باید متناسب با ترافیک .10 افزایش یابد.
نمونه دوم: تقسیم ظرفیت با PCQ
برای آزمون گروهی، صف تکدستگاه همین مثال را غیرفعال کنید تا نتایج روی هم نیفتند. در PCQ، classifier تعیین میکند سهم بر چه مبنایی جدا شود: برای آپلود src-address و برای دانلود dst-address انتخاب میکنیم. با ماسک ۳۲، هر IPv4 یک سهم دارد؛ تعداد اتصالهای دانلود یک دستگاه، سهم IP تازهای ایجاد نمیکند.
/queue/simple/disable [find where name="nm-client10"]
/queue/type/add name=nm-pcq-up kind=pcq pcq-classifier=src-address pcq-src-address-mask=32 pcq-rate=0
/queue/type/add name=nm-pcq-down kind=pcq pcq-classifier=dst-address pcq-dst-address-mask=32 pcq-rate=0
/queue/simple/add name=nm-office-pcq target=192.168.50.0/24 queue=nm-pcq-up/nm-pcq-down max-limit=8M/40M disabled=yespcq-rate=0 به معنی سرعت صفر نیست؛ ظرفیت موجود میان زیرجریانهای فعال تقسیم میشود و max-limit سقف کل گروه را نگه میدارد. در این مدل هر IP واحد تقسیم است، نه هر کارمند؛ یک روتر NAT دیگر پشت LAN میتواند چند دستگاه را به شکل یک IP نشان دهد.
نوع صف در queue نیز آپلود/دانلود است. target این مثال تمام subnet را میگیرد و بهخودیخود «فقط اینترنت» را تشخیص نمیدهد؛ ترافیک مسیریابیشده به شبکه داخلی دیگر یا خود روتر نیز ممکن است تطبیق یابد. نمونه ما شبکه داخلی مسیریابیشده دیگری ندارد و آزمون را به مقصد خارج LAN انجام میدهیم. برای تفکیک اینترنت در شبکه واقعی، طبقهبندی مسیر لازم است.
/queue/type/print detail where name~"nm-pcq"
/queue/simple/print detail where name=nm-office-pcq
/queue/simple/enable [find where name="nm-office-pcq"]
/queue/simple/print stats where name=nm-office-pcqاگر بهجای سهم متغیر، سقف مستقل هر IP لازم است، در همین نوعهای اختصاصی میتوان pcq-rate آپلود را مثلاً 2M و دانلود را 10M گذاشت؛ سقف کل همچنان 8M/40M میماند. با ظرفیت ناکافی، همه IPها الزاماً به سقف خود نمیرسند. pcq-limit و pcq-total-limit ظرفیت بافرند و سهمیه ماهانه کاربران نیستند.
آزمون تقسیم ظرفیت و عیبیابی
- ابتدا فقط .10 را با دانلود پیوسته آزمایش کنید. با pcq-rate=0 و مسیر کافی، میتواند بخش آزاد سقف ۴۰ Mbps را مصرف کند؛ رسیدن دقیق به عدد تضمین نشده است.
- حالا .10 و .20 همزمان دانلودهای کافی و قابل مقایسه داشته باشند. ظرفیت گروه باید بین دو IP فعال تقسیم شود؛ در شرایط مشابه، سهم نزدیک به ۲۰ Mbps برای هرکدام انتظار آموزشی است، نه خروجی آزمایش نتمسترز.
- انتقال یکی را متوقف کنید و افزایش سهم دیگری را بررسی کنید. سپس همان الگو را برای آپلود با سقف مجموع ۸ Mbps تکرار کنید. سرعت هر کلاینت، نرخ کل صف، pcq-queues و بار CPU را کنار هم ببینید.
- پس از بستن همه ابزارهای Torch/Sniffer، آزمون را با اتصال تازه تکرار کنید و کار سرویسهای ضروری و ورود مدیریت را هم بسنجید.
اگر شمارنده صف صفر است، target، مسیر واقعی، IPv4/IPv6، ترتیب صف و FastTrack اتصال را بررسی کنید. اگر بافر یا drop بالا میرود و کار حساس کند میشود، فقط عدد سقف را زیاد نکنید؛ ظرفیت خط، بار CPU و الگوی ترافیک مهماند. صف، ظرفیت اینترنت یا پردازنده را بیشتر نمیکند. برای شناسایی دستگاه درگیر، آموزش Torch را جدا اجرا کنید.
برگشت و نگهداری تنظیم
اگر نتیجه مناسب نیست، فقط صف جدید nm-client10 یا nm-office-pcq را Disable و وضعیت ثبتشده قواعد FastTrack را برگردانید. نوعهای PCQ بدون صف استفادهکننده محدودیت مستقلی اعمال نمیکنند؛ نوع پیشفرض یا مورد استفاده صف دیگری را حذف نکنید. در Safe Mode، Ctrl+D تغییرهای همان نشست را برمیگرداند و Ctrl+X آنها را نگه میدارد و از حالت امن خارج میشود.
پس از موفقیت، نام targetها، سقفها، وضعیت FastTrack، ظرفیت مبنا و نتایج واقعی را ثبت و بکاپ تازه تهیه کنید. اگر برای بازگرداندن شتابدهی، ترافیک هدف را دوباره FastTrack کنید، محدودیت Simple Queue برای آن قابل اتکا نخواهد بود.