Network scheduler
A network scheduler (see FIG. English scheduling or timing control ) or packet scheduler is a arbitration logic , the order of data packets in a buffer such as a queue (engl. Queue [ kju ]) controls. Various network schedulers are available for the various operating systems or kernels , for which more or fewer implementations of existing network scheduling algorithms are then available.
Implementations
A network scheduler is currently available for the Linux kernel ; it is an integral part of the Linux network stack, works on layer 2 of the OSI model , i.e. with Ethernet frames, and manages the input and output buffers of all network cards . With ifconfig
or you ip
can set the buffer size txqueuelen
( German : send queue length) / rxqueuelen
in number of Ethernet frames (regardless of their size) for each device. The network scheduler does not manage the ring buffer or any other buffers.
Another network scheduler is in the planning phase and is part of Netfilter .
functionality
The respectively loaded network scheduler algorithm and the set parameters determine how the network scheduler manages the queue buffer.
illustration
Network scheduler algorithms
In the course of time, a number of network scheduler algorithms ( queuing discipline [ kjuing disiplin ] or queuing algorithm ) have been developed. One can roughly differentiate between leaky bucket algorithms and token bucket algorithms , based on the setting options between class-based and classless algorithms. Furthermore, one can count different algorithms of the same kind. B. CHOKe, ARED, GRED and WRED are all RED variants.
- FQ ( fair queuing )
- WFQ ( Weighted Fair Queuing )
- Taildrop algorithm
Several network scheduler algorithms are implemented as Linux kernel modules and are freely available:
- CBQ ( Class-Based Queuing ) discipline
- CHOKe (CHOose and Keep for responsive flows, CHOose and Kill for unresponsive flows) is a RED variant
- CoDel (Controlled Delay) and Fair / Flow Queue CoDel
- DRR ( Deficit Round Robin ) and DWRR
- HSFC ( Hierarchical Fair Service Curve )
- NETEM network emulator
- HTB ( Hierarchy Token Bucket )
- QFQ ( Quick Fair Queuing ) scheduler
- RED ( Random early detection ) as well as ARED, GRED, RRED and WRED
- SFB ( Stochastic Fair Blue ) and Resilient SFB
- SFQ ( Stochastic Fairness Queuing )
- TBF ( Token Bucket Filter )
- TEQL ( Trivial Link Equalizer )
Tags
Although the task of the network scheduler in itself is very easy to understand, a great many buzzwords have been invented on the subject over time .
- Active Queue Management (AQM) , German about active queue management ,
- Network Traffic Control : an umbrella term, as it were, because network traffic is actually supposed to be controlled
- Traffic shaping : a form of AQM, the available bandwidth is artificially divided and limited
- Link sharing : if two or more parties share a line, it is advisable to set up the network scheduler accordingly on the shared router
- Traffic Prioritizing : a form of AQM, the queue is managed by prioritizing selected data packets
- TCP Turbo : a catchphrase that is intended to emphasize that a corresponding AQM prevents the TCP download rate from slowing down
- Bandwidth Management : Administration of the available bandwidth
See also
credentials
- ↑ Linux Kernel Source Code: Network Scheduler . December 26, 2012. Retrieved December 26, 2012.