امشب به‌جای ساخت Queue برای تک‌تک کاربران، جریان‌ها را بر اساس آدرس دسته‌بندی می‌کنیم. هدف تقسیم ظرفیت بین کاربران فعال است، نه شمارش Portهای TCP آن‌ها.

این نوشته بخشی از دورهٔ MTCNA در ۳۰ شب است. مبنای مثال‌ها RouterOS 7 و آزمایشگاه ایزولهٔ دوره است؛ پیش از تغییر، Snapshot و دسترسی Console داشته باشید.

Classifier چه هویتی می‌سازد؟#

برای Upload، Source address و برای Download، Destination address هویت کلاینت را می‌سازد. اگر Classifier را به Source port تغییر دهید، باز کردن چند اتصال می‌تواند چند Substream بسازد و تعریف «عدالت بین کاربرها» عوض شود.

pcq-rate=0 سهم ثابت برای هر Substream تعیین نمی‌کند و اجازهٔ تقسیم ظرفیت موجود می‌دهد. مقدار غیرصفر سقف هر Substream را محدود می‌کند. pcq-limit اندازهٔ صف هر Substream است، نه تعداد کاربران و نه نرخ برحسب مگابیت. pcq-total-limit نیز محدودیت تجمیعی حافظهٔ صف است.

ساخت یک Simple Queue برای LAN#

Queueهای آزمایشی قبلی را Disable و FastTrack را خاموش نگه دارید. A و B آدرس‌های .10 و .20 دارند. در نوع جدید Queue، مقدارهای حافظهٔ مثال را مناسب آزمایشگاه کوچک انتخاب کرده‌ایم؛ این‌ها توصیهٔ ظرفیت برای شبکهٔ بزرگ نیستند.

/queue type add name=mtcna-pcq-up kind=pcq pcq-classifier=src-address pcq-rate=0 pcq-limit=50KiB pcq-total-limit=2000KiB
/queue type add name=mtcna-pcq-down kind=pcq pcq-classifier=dst-address pcq-rate=0 pcq-limit=50KiB pcq-total-limit=2000KiB
/queue simple add name=mtcna-pcq-lan target=192.168.50.0/24 queue=mtcna-pcq-up/mtcna-pcq-down max-limit=10M/10M
/queue simple print stats where name="mtcna-pcq-lan"
/queue type print detail where name~"mtcna-pcq"

دو Endpoint از سمت LAN به Server سمت WAN دانلود پایدار انجام دهند. فقط A فعال باشد، سپس B هم شروع کند و بعد A متوقف شود. نرخ هر کاربر و تعداد Substreamهای فعال را ثبت کنید. تقسیم دقیق لحظه‌ای تضمین نیست؛ RTT، نوع انتقال و بار واقعی اثر دارند، اما روند تخصیص باید با طراحی قابل توضیح باشد.

تغییر سقف مستقل#

روی Clone، pcq-rate نوع Download را به 3M تغییر دهید. یک کاربر تنها دیگر نباید کل ده مگابیت Parent را بگیرد. pcq-rate را به صفر برگردانید و نتیجه را مقایسه کنید. این آزمون فرق سقف فردی و ظرفیت کل را روشن می‌کند.

سرعت NATشدهٔ خروجی را از دید نقطهٔ صحیح Queue بخوانید؛ اگر Classifier همه را یک آدرس ببیند، عدالت مورد نظر به‌دست نمی‌آید. FastTrack، ترتیب Queueهای فعال و ترافیک دو طرف Target نیز از دلایل نتیجهٔ گمراه‌کننده‌اند.

بازگشت و خودآزمایی#

Simple Queue آزمایشی را Disable کنید. قبل از حذف نوع Queue، وابستگی آن را بررسی کنید؛ نوعی که سرویس دیگر استفاده می‌کند حذف نشود. خروجی قابل قبول، سه حالت یک کاربر، دو کاربر و خروج یکی، به‌همراه نمودار نرخ است.

چرا pcq-limit=50KiB پنجاه کاربر معنی نمی‌دهد؟ اگر Classifier شامل Port باشد، یک کاربر پراتصال چه امتیازی می‌گیرد؟ چه تفاوتی میان pcq-rate و max-limit وجود دارد؟ افزایش Queue memory چه اثری روی تأخیر می‌تواند داشته باشد؟

منبع#

PCQ در Queues .