امشب سرعت یک کلاینت را در دو جهت کنترل می‌کنیم و یاد می‌گیریم «سقف سرعت» با «سهم تضمین‌شده در یک سلسله‌مراتب» فرق دارد.

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

قرارداد جهت‌ها#

از دید Target، Upload ترافیک از کلاینت و Download ترافیک به کلاینت است. در زوج مقدارها، ترتیب Upload/Download است. max-limit=2M/5M یعنی سقف دو مگابیت ارسال و پنج مگابیت دریافت؛ حرف M واحد مگابیت نرخ است، نه مگابایت فایل.

Simple Queue دارای ترتیب است. یک Queue گستردهٔ قبلی می‌تواند جریان را قبل از Queue اختصاصی بگیرد. dst-address یا فیلد Dst در رابط گرافیکی برای محدود کردن مقصد جریان است؛ با Target که هویت سمت کاربر است اشتباه نشود.

آزمایشگاه مستقل#

FastTrack شب نوزدهم Disable باشد. کلاینت A ثابت .10 است. روی میزبان Linux در سمت WAN مجازی، ابزار موجود iperf3 -s را اجرا کنید؛ اگر نصب نیست، انتقال فایل بزرگ با سرویس از قبل موجود هم ممکن است، ولی شیوهٔ سنجش را ثابت ثبت کنید. ظرفیت لینک واقعی و لایسنس CHR باید از سقف آزمایش بیشتر باشند.

/queue simple add name=mtcna-A target=192.168.50.10/32 max-limit=2M/5M
/queue simple print stats where name="mtcna-A"

در کلاینت، Upload و Download را جدا اجرا کنید:

iperf3 -c 172.16.0.10 -t 30
iperf3 -c 172.16.0.10 -R -t 30

172.16.0.10 فقط مثال آدرس Server آزمایشگاهی است؛ آدرس واقعی میزبان WAN خود را جایگزین کنید. این سرور باید از مسیر R1 قابل دسترس باشد، نه از همان Switch LAN. نرخ Payload برنامه ممکن است کمی زیر نرخ تنظیم‌شده باشد.

Parent و limit-at#

برای تمرین اشتراک، Queue تک‌کلاینت را Disable و Parent با سقف واقعی ده مگابیت بسازید. سپس دو Child را زیر آن تعریف کنید:

/queue simple disable [find name="mtcna-A"]
/queue simple add name=mtcna-total target=192.168.50.0/24 max-limit=10M/10M
/queue simple add name=mtcna-child-A parent=mtcna-total target=192.168.50.10/32 limit-at=2M/2M max-limit=8M/8M
/queue simple add name=mtcna-child-B parent=mtcna-total target=192.168.50.20/32 limit-at=2M/2M max-limit=8M/8M

B باید آدرس .20 داشته باشد؛ رزرو DHCP یا IP ثابت را کنترل کنید. مجموع limit-at فرزندان نباید از ظرفیت Parent بیشتر باشد. این تضمین مربوط به Scheduler و ظرفیت موجود است، نه قرارداد کیفیت کل اینترنت یا تأمین ظرفیت از ISP.

شواهد و بازگشت#

یک‌بار A تنها و سپس A و B همزمان دانلود کنند. Counter، Drop و نرخ هر Child را ببینید. برای بازگشت، Childها و Parent همین تمرین را Disable کنید. اگر نرخ پایین است، اول لینک و CHR را بدون Queue بسنجید؛ Queue نمی‌تواند ظرفیت از دست‌رفته بسازد.

خودآزمایی: Target و Dst چه تفاوتی دارند؟ چرا جابه‌جایی زوج نرخ نتیجه را عوض می‌کند؟ اگر مجموع تضمین‌ها از Parent بیشتر شد، کدام وعده قابل اجرا نیست؟

منبع#

Queues .