Table of Contents |
---|
Overview
A queue is a collection of data packets collectively waiting to be transmitted by a network device using a pre-defined structure methodology. Queuing works almost on the same methodology used at banks or supermarkets, where the customer is treated according to its arrival.
...
CoDel (Controlled-Delay Active Queue Management) algorithm uses the local minimum queue as a measure of the persistent queue, similarly, it uses a minimum delay parameter as a measure of the standing queue delay. Queue size is calculated using packet residence time in the queue.
Properties
Property | Description |
---|---|
codel-ce-threshold (default: ) | Marks packets above a configured threshold with ECN. |
codel-ecn (default: no) | An option is used to mark packets instead of dropping them. |
codel-interval (default: 100ms) | Interval should be set on the order of the worst-case RTT through the bottleneck giving endpoints sufficient time to react. |
codel-limit (default: 1000) | Queue limit, when the limit is reached, incoming packets are dropped. |
codel-target (default: 5ms) | Represents an acceptable minimum persistent queue delay. |
...
CoDel - Fair Queuing (FQ) with Controlled Delay (CoDel) uses a randomly determined model to classify incoming packets into different flows and is used to provide a fair share of the bandwidth to all the flows using the queue. Each flow is managed using CoDel queuing discipline which internally uses a FIFO algorithm.
Properties
Property | Description |
---|---|
fq-codel-ce-threshold (default: ) | Marks packets above a configured threshold with ECN. |
fq-codel-ecn (default: yes) | An option is used to mark packets instead of dropping them. |
fq-codel-flows (default: 1024) | A number of flows into which the incoming packets are classified. |
fq-codel-interval (default: 100ms) | Interval should be set on the order of the worst-case RTT through the bottleneck giving endpoints sufficient time to react. |
fq-codel-limit (default: 10240) | Queue limit, when the limit is reached, incoming packets are dropped. |
fq-codel-memlimit (default: 32.0MiB) | A total number of bytes that can be queued in this FQ-CoDel instance. Will be enforced from the fq-codel-limit parameter. |
fq-codel-quantum (default: 1514) | A number of bytes used as 'deficit' in the fair queuing algorithm. Default (1514 bytes) corresponds to the Ethernet MTU plus the hardware header length of 14 bytes. |
fq-codel-target (default: 5ms) | Represents an acceptable minimum persistent queue delay. |
...
CAKE - Common Applications Kept Enhanced (CAKE) implemented as a queue discipline (qdisc) for the Linux kernel uses COBALT (AQM algorithm combining Codel and BLUE) and a variant of DRR++ for flow isolation. In other words, Cake’s fundamental design goal is user-friendliness. All settings are optional; the default settings are chosen to be practical in most common deployments. In most cases, the configuration requires only a bandwidth parameter to get useful results,
Properties
Property | Description |
---|---|
cake-ack-filter (default: none ) | |
cake-atm (default: ) | Compensates for ATM cell framing, which is normally found on ADSL links. |
cake-autorate-ingress (default: ) | Automatic capacity estimation based on traffic arriving at this qdisc |
cake-bandwidth (default: ) | Sets the shaper bandwidth. |
cake-diffserv (default: diffserv3) | CAKE can divide traffic into "tins" based on the Diffserv field:
|
cake-flowmode (dsthost/dual-dsthost/dual-srchost/flowblind/flows/hosts/srchost/triple-isolate, default: triple-isolate) |
|
cake-memlimit (default: ) | Limit the memory consumed by Cake to LIMIT bytes. By default, the limit is calculated based on the bandwidth and RTT settings. |
cake-mpu ( -64 ... 256, default: ) | Rounds each packet (including overhead) up to a minimum length BYTES. |
cake-nat (default: no) | Instructs Cake to perform a NAT lookup before applying a flow-isolation rule. |
cake-overhead ( -64 ... 256, default: ) | Adds BYTES to the size of each packet. BYTES may be negative. |
cake-overhead-scheme (default: ) | |
cake-rtt (default: 100ms ) | Manually specify an RTT. Default 100ms is suitable for most Internet traffic. |
cake-rtt-scheme (datacentre/internet/interplanetary/lan/metro/none/oceanic/regional/satellite, default: ) |
|
cake-wash (default: no ) | Apply the wash option to clear all extra DiffServ (but not ECN bits), after priority queuing has taken place. |
...