Rule Processing
Introduction
The processing stage takes place after classification and queueing of a data stream.
As network packets are inspected and placed into their appropriate queues, the engine
services each queue and applies the pre-configured processing methods.
Processing is determined by the list of rules configured by the administrator.
Each rule is assigned a collection of processing directives which are split into two groups:
Processing and Advanced Processing.
Processing Methods
-
Enabled - Enables or disables the rule. When set to disabled
the classification, queueing and processing directives for the rule are
ignored by the traffic shaping engine. Disabling a rule is useful for
keeping the rule information stored within the server while preventing
it from being used.
-
Speed Limit - Sets the maximum transfer rate for the rule.
The speed limit restricts flow rate for the rule by storing stream
data in a queue. The stream is delayed until its flow rate falls
below the specified value. Note that this value is expressed in bytes
per second (B/s) as opposed to bits per second (b/s).
-
Priority Level - Assigns a quality of service to the to
the stream. Higher priority levels give the rule a speed boost by
allowing the queue to be serviced before other queues with a lower
priority. Assigning a lower priority to a rule forces its stream
data to be queued until all other rules have finished processing.
The default priority level is 5 which includes traffic that is not
covered by any rule.
Advanced Processing Methods
-
Rule Order - As each packet arrives at the server it is compared
against the list of rules to find a match. In some cases the packet will match
two or more rules causing the server to choose which one it will apply to
the packet. The rule order field assigns the processing order for each rule
in cases where the order is ambiguous. A lower value indicates that the
rule should be checked before all others and a high value is used for
rules that should be scanned last.
-
Prioritize Acknowledgement Packets - Allows TCP acknowledgements
to be sent before normal stream data. This prevents TCP downloads
from slowing down when the uplink is congested or is sending at the maximum
rate for the internet line. Acknowledgement packets are small (less than
64 bytes) which allows this feature to function with minimal impact on
the overall bandwidth usage.
-
Guaranteed Rate - This feature gives high priority to
a traffic stream until it reaches a certain speed. After the specified
rate is exceeded the stream is lowered to its normal priority level.
Guaranteed rates provide a way to implement service level agreements by
providing guaranteed allocation to a stream. If a stream is guaranteed
and the line being fully utilized, other streams will be temporarily
queued to free up bandwidth.
-
Scale Factor - Sets the bandwidth allocation for the rule
in relation to all other active rules in the system. If each rule has
a scale factor of '1' then they will receive equal allocation (as long
as they are being used). If one rule has a factor of '2' and the other
has a factor of '1', the first rule will be allocated twice as much
bandwidth as the other (66% and 33% respectively). Dynamic rules
assign a separate scale factor to each queue so that multiple connections
that are filtered by a dynamic rule receive equal bandwidth.