Manual:Queues - PCQ

From MikroTik Wiki
Revision as of 10:07, 29 May 2009 by Normis (talk | contribs) (→‎Usage: grammar)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Usage

PCQ was introduced to optimize massive QoS systems, where most of the queues are exactly the same for different sub-streams. For example a sub-stream can be download or upload for one particular client (IP) or connection to server.

PCQ algorithm is very simple - at first it uses selected classifiers to distinguish one sub-stream from another, then applies individual FIFO queue size and limitation on every sub-stream, then groups all sub-streams together and applies global FIFO queue size and limitation.

PCQ parameters:

  • pcq-classifier (dst-address | dst-port | src-address | src-port; default: "")  : selection of sub-stream identifiers
  • pcq-rate (number) : maximal available data rate of each sub-steam
  • pcq-limit (number) : queue size of one sub-stream in packets
  • pcq-total-limit (number) : queue size of global FIFO queue


PCQ Algorithm


So instead of having 100 queues with 1000kbps limitation for download we can have one PCQ queue with 100 sub-streams

Classification Examples

To better understand classification we will take a list of 18 packet streams from specific address and port, to a specific address and port. Then we will choose a classifier and divide all 18 packet streams into PCQ sub-streams

Classifiers

Classifiers

PCQ Rate Examples

Here it is possible to see what happens if PCQ-rate is, or isn't specified. I must noted that if both limits (pcq-rate and max-limit) are unspecified, queue behavior can be imprecise. So it is strongly suggested to have at least one of these options set.


Classifiers


Classifiers