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.