Differences

This shows you the differences between two versions of the page.

doc:howto:packet.scheduler:packet.scheduler [2012/12/18 12:54]
orca
doc:howto:packet.scheduler:packet.scheduler [2013/08/10 20:50] (current)
lorema entry for sfqred
Line 3: Line 3:
| {{:meta:icons:tango:dialog-information.png?nolink}} | You //can// control, i.e. prioritize and/or shape, ANY **upload traffic**, i.e. traffic being sent from your router to the Internet. Doing so //will// solve problems that occur with congestion, i.e. [[wp>Jitter#Packet_jitter_in_computer_networks|jitter]] and delay. | | {{:meta:icons:tango:dialog-information.png?nolink}} | You //can// control, i.e. prioritize and/or shape, ANY **upload traffic**, i.e. traffic being sent from your router to the Internet. Doing so //will// solve problems that occur with congestion, i.e. [[wp>Jitter#Packet_jitter_in_computer_networks|jitter]] and delay. |
-| {{:meta:icons:tango:dialog-information.png?nolink}} | You do NOT have the same level of control over **download traffic**, i.e. traffic arriving at your router from the Internet. Here, you can only drop packets but not rearrange them.\\ The dropping of TCP packets, causes the sending site to reduce it's transmission rate, the dropping of UDP packets however, will only help to keep the buffer empty. |+| {{:meta:icons:tango:dialog-information.png?nolink}} | You do NOT have the same level of control over **download traffic**, i.e. traffic arriving at your router from the Internet. Here, you can only drop packets but not rearrange them.\\ The dropping of TCP packets, causes the sending site to reduce its transmission rate, the dropping of UDP packets however, will only help to keep the buffer empty. |
===== Preparations ===== ===== Preparations =====
Line 81: Line 81:
| ->  sch_atm      |  name                                |  ??  | bla  |  |  | | ->  sch_atm      |  name                                |  ??  | bla  |  |  |
| ->  sch_blackhole|  Black hole queue                |  ??  | bla  |  |  | | ->  sch_blackhole|  Black hole queue                |  ??  | bla  |  |  |
-| -> [[sch_bfs]]    |  Brain Fuck Scheduler              |  ??  | bla  | no | no | 
| -> [[sch_cbq]]    |  Class-Based Queueing discipline      |  ☑  | very complex  |  |  | | -> [[sch_cbq]]    |  Class-Based Queueing discipline      |  ☑  | very complex  |  |  |
| -> [[sch_choke]]  |  CHOKe scheduler                      |  ??  | bla  |  |  | | -> [[sch_choke]]  |  CHOKe scheduler                      |  ??  | bla  |  |  |
Line 105: Line 104:
| -> [[sch_sfb]]    |  Stochastic Fair Blue                |  ??  | bla  |  |  | | -> [[sch_sfb]]    |  Stochastic Fair Blue                |  ??  | bla  |  |  |
| -> [[sch_sfq]]    |  Stochastic Fairness Queueing        |  ☒  | distibutes bandwidth for known tcp-connections fairly  |  |  ☑  | | -> [[sch_sfq]]    |  Stochastic Fairness Queueing        |  ☒  | distibutes bandwidth for known tcp-connections fairly  |  |  ☑  |
 +| -> [[sch_sfqred]] |  mixture of qfq and red              |  ?  |      | | |
| -> [[sch_tbf]]    |  Token Bucket Filter                  |  ☒  | limit bandwidth  |  |  ☑  | | -> [[sch_tbf]]    |  Token Bucket Filter                  |  ☒  | limit bandwidth  |  |  ☑  |
| -> [[sch_teql]]  |  True/Trivial Link Equalizer          |  ??  | bla  |  |  ☑  | | -> [[sch_teql]]  |  True/Trivial Link Equalizer          |  ??  | bla  |  |  ☑  |
**''Note:''** The PRIO QDisc does contain three classes, but since they cannot be configured further, PRIO is considered to be a classless QDisc. Its classes are sometimes called bands. **''Note:''** The PRIO QDisc does contain three classes, but since they cannot be configured further, PRIO is considered to be a classless QDisc. Its classes are sometimes called bands.
 +
 +==== Actions ====
 +
 +^ Action  ^^  Description  ^  kmod-sched-core  ^  kmod-sched ^
 +| [[act_police]]  | Input police filter        |  |  |
 +| [[act_nat]]    | Stateless NAT actions      | | |
 +| [[act_mirred]]  | packet mirroring and redirect actions | | |
 +| [[act_skbedit]] | | | |
 +
==== Filters ==== ==== Filters ====
Line 115: Line 124:
  * In principle it works exactly like [[doc:howto:netfilter#configuration|netfilter rules]], the only difference is that <color blue>matches</color> are called <color blue>classifiers</color> and the <color red>TARGET</color> are called <color red>VERDICT</color> in available documentation. However, since it is possible to do the filtering <del>entirely</del> with netfilter (almost, doesn't forget Layer 2 packets like arp), this does not really matter.   * In principle it works exactly like [[doc:howto:netfilter#configuration|netfilter rules]], the only difference is that <color blue>matches</color> are called <color blue>classifiers</color> and the <color red>TARGET</color> are called <color red>VERDICT</color> in available documentation. However, since it is possible to do the filtering <del>entirely</del> with netfilter (almost, doesn't forget Layer 2 packets like arp), this does not really matter.
-^ Filter  ^^  Description  ^  kmod-sched-core  ^  kmod-sched ^+^ Filter (Classifier) ^^  Description  ^  kmod-sched-core  ^  kmod-sched ^
| -> [[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=e5dfb815181fcb186d6080ac3a091eadff2d98fe|cls_flow]]    | flow classifier  | bla  |  ☑  |  | | -> [[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=e5dfb815181fcb186d6080ac3a091eadff2d98fe|cls_flow]]    | flow classifier  | bla  |  ☑  |  |
| -> [[cls_fw]]    | firewall classifier  | bla  |  ☑  |  | | -> [[cls_fw]]    | firewall classifier  | bla  |  ☑  |  |
Line 122: Line 131:
| -> [[cls_u32]]    | u32 classifier  | bla  |  ☑  |  | | -> [[cls_u32]]    | u32 classifier  | bla  |  ☑  |  |
| -> [[cls_basic]]    | basic classifier  | bla  |  |  ☑  | | -> [[cls_basic]]    | basic classifier  | bla  |  |  ☑  |
 +| -> [[cls_cgroup]] | [[wp>cgroups]] (Control Group) Classifier |  |  |
=== Filter with packet scheduler === === Filter with packet scheduler ===
Line 336: Line 346:
  * [[http://linuxgazette.net/135/pfeiffer.html|TCP and Linux' Pluggable Congestion Control Algorithms]]   * [[http://linuxgazette.net/135/pfeiffer.html|TCP and Linux' Pluggable Congestion Control Algorithms]]
  * [[http://www.mail-archive.com/lartc@mailman.ds9a.nl/msg17009.html|Packet scheduler and VLANs]]   * [[http://www.mail-archive.com/lartc@mailman.ds9a.nl/msg17009.html|Packet scheduler and VLANs]]
 +
 +===== Tags =====
 +{{tag>QoS}}

Back to top

doc/howto/packet.scheduler/packet.scheduler.1355831688.txt.bz2 · Last modified: 2012/12/18 12:54 by orca