Manual:Queues - PCQ: Difference between revisions

From MikroTik Wiki
Jump to navigation Jump to search
mNo edit summary
Line 3: Line 3:
==Usage==
==Usage==


PCQ was introduce to optimize massive QoS systems where most of the queues was exactly the same only for different sub-streams. For example a sub-stream can be download or upload for one particular client (IP) or connection to server.  
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 (witch is exactly the same for every sub-stream), then group all sub-streams together and apply global FIFO queue size and limitation.
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 (witch is exactly the same for every sub-stream), then group all sub-streams together and apply global FIFO queue size and limitation.
Line 21: Line 21:
==Classification Examples==
==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   
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   


[[Image:PCQ_Example1.png|700px|Classifiers]]
[[Image:PCQ_Example1.png|700px|Classifiers]]
Line 29: Line 29:
==PCQ Rate Examples==
==PCQ Rate Examples==


Here it is possible to see what happened if PCQ-rate is or isn't specified. I must note 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 specified.
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.





Revision as of 12:01, 20 March 2009

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 (witch is exactly the same for every sub-stream), then group all sub-streams together and apply 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