Network scheduler

A network scheduler (see English scheduling or timing control ) or packet scheduler is a arbitration logic, the order of data packets in a buffer of the type of queue ( queue Sheet [ kju ] ) controls. For the different operating systems and different network kernel scheduler are available for the more or less implementations of existing network scheduling algorithms are available then.

Implementations

A network scheduler is currently for the Linux kernel, this is an integral part of the Linux network stack, operates at Layer 2 of the OSI model, ie with Ethernet frames and manages the input and output buffers of all network cards. With ifconfig or ip allows the buffer size txqueuelen ( German: Send queue length ) / rxqueuelen in number of Ethernet frames (regardless of their size) for each device set. The network scheduler does not manage the ring buffer, or any other buffer.

Another network scheduler is in the planning phase and is part of netfilter.

Operation

The currently loaded network scheduler algorithm and the parameters determine manages to which way the network scheduler queue buffer.

Illustration

Network scheduler algorithms

Over time, a number of network scheduler algorithms (English Queueing Discipline [ kjuing disiplin ] ) or Queueing Algorithm) developed. One can very roughly distinguish between leaky bucket algorithms and token bucket algorithms, based on the settings between class-based and classless algorithms. In addition, you can include different algorithms for the same type, so for example, are Choke, ARED, GRED and WRED all RED variants.

  • FQ ( Fair Queuing )
  • WFQ ( weighted fair queuing)
  • Tail drop algorithm

A number of network scheduler algorithms are implemented as Linux kernel modules and are freely available:

  • CBQ ( Class-Based Queueing ) discipline
  • CodeL (Controlled Delay) and fair queue codeL
  • DRR ( Deficit Round Robin ) and DWRR
  • HSFC (Hierarchical Fair Service Curve )
  • NetEm Network emulator
  • HTB ( Hierarchy Token Bucket )
  • QFQ (Quick Fair Queueing ) scheduler
  • RED ( Random Early Detection ) and ARED, GRED, RRed and WRED
  • SFB ( Stochastic Fair Blue ) and Resilient SFB
  • SFQ ( Stochastic Fairness Queueing )
  • TBF ( Token Bucket Filter)
  • TEQL ( Trivial Link Equalizer)

Tags

Although the task of the network scheduler itself is very easy to understand, very many Tags have been invented on the subject over time.

  • Active Queue Management ( AQM ), German as active queue management,
  • Network Traffic Control: essentially an umbrella term, because in fact the network traffic should be controlled
  • Traffic shaping: a form of AQM, the available bandwidth is artificially divided and each limited
  • Link Sharing: when two or more parties share a line, it offers itself to the common Router to the network scheduler according
  • Traffic Prioritizing: a form of AQM, the queue is managed by selected data packets are prioritized
  • Turbo TCP: a buzzword that is to emphasize that the TCP download rate is prevented by appropriate AQM, a slowdown
  • Bandwidth Management: management of available bandwidth
28074
de