Difference between revisions of "Manual:Queues - PCQ Examples"

From MikroTik Wiki
Jump to: navigation, search
m
(added simple queue config sample)
Line 1: Line 1:
== Same bandwidth for router users ==
+
Per Connection Queue (PCQ) is a queuing discipline that can be used to dynamically equalize or shape traffic for multiple users, using little administration.
  
In cases when you need to limit users to a specific bandwidth, you may use PCQ queues. We will limit all router users to 64kbps download and 32kbps upload:
+
== Equal Bandwidth for a Number of Users ==
 +
 
 +
Use PCQ type queue when you need to equalize the bandwidth [and set max limit] for a number of users. We will set the 64kbps download and 32kbps upload limits.
  
 
[[Image:Fir.JPG]]
 
[[Image:Fir.JPG]]
  
 +
There are two ways how to make this: using mangle and queue trees, or, using simple queues.
  
 
1. Mark all packets with packet-mark all:
 
1. Mark all packets with packet-mark all:
Line 13: Line 16:
 
2. Setup two PCQ queue types - one for download and one for upload. ''dst-address'' is classifier for user's download traffic, ''src-address'' for upload traffic:
 
2. Setup two PCQ queue types - one for download and one for upload. ''dst-address'' is classifier for user's download traffic, ''src-address'' for upload traffic:
  
  /queue type name="PCQ_download" kind=pcq pcq-rate=64000 pcq-classifier=dst-address
+
  /queue type add name="PCQ_download" kind=pcq pcq-rate=64000 pcq-classifier=dst-address
  /queue type name="PCQ_upload" kind=pcq pcq-rate=32000 pcq-classifier=src-address
+
  /queue type add name="PCQ_upload" kind=pcq pcq-rate=32000 pcq-classifier=src-address
 +
 
 +
 
 +
3. Finally, two queue rules are required, one for download and one for upload:
 +
 
 +
/queue tree add parent=global-in queue=PCQ_download packet-mark=all
 +
/queue tree add parent=global-out queue=PCQ_upload packet-mark=all
  
 +
If you don't like using mangle and queue trees, you can skip step 1, do step 2, and step 3 would be to create one simple queue as shown here:
  
3. Finally, two queue rules required, one for download and one for upload:
+
/queue simple add queue=PCQ_upload/PCQ_download target-addresses=192.168.0.0/24
  
/queue tree add parent=global-in queue=PCQ-download packet-mark=all
+
That's it!
/queue tree add parent=global-out queue=PCQ-upload packet-mark=all
 

Revision as of 19:42, 19 April 2006

Per Connection Queue (PCQ) is a queuing discipline that can be used to dynamically equalize or shape traffic for multiple users, using little administration.

Equal Bandwidth for a Number of Users

Use PCQ type queue when you need to equalize the bandwidth [and set max limit] for a number of users. We will set the 64kbps download and 32kbps upload limits.

Fir.JPG

There are two ways how to make this: using mangle and queue trees, or, using simple queues.

1. Mark all packets with packet-mark all:

/ip firewall mangle add chain=prerouting action=mark-packet new-packet-mark=all passthrough=no


2. Setup two PCQ queue types - one for download and one for upload. dst-address is classifier for user's download traffic, src-address for upload traffic:

/queue type add name="PCQ_download" kind=pcq pcq-rate=64000 pcq-classifier=dst-address
/queue type add name="PCQ_upload" kind=pcq pcq-rate=32000 pcq-classifier=src-address


3. Finally, two queue rules are required, one for download and one for upload:

/queue tree add parent=global-in queue=PCQ_download packet-mark=all
/queue tree add parent=global-out queue=PCQ_upload packet-mark=all

If you don't like using mangle and queue trees, you can skip step 1, do step 2, and step 3 would be to create one simple queue as shown here:

/queue simple add queue=PCQ_upload/PCQ_download target-addresses=192.168.0.0/24

That's it!