Penguin
Annotated edit history of tc-red(8) version 1 showing authors affecting page license. View with all changes included.
Rev Author # Line
1 perry 1 RED
2 !!!RED
3 NAME
4 SYNOPSIS
5 DESCRIPTION
6 ALGORITHM
7 PARAMETERS
8 SEE ALSO
9 SOURCES
10 AUTHORS
11 ----
12 !!NAME
13
14
15 red - Random Early Detection
16 !!SYNOPSIS
17
18
19 __tc qdisc ... red limit__ bytes __min__ bytes
20 __max__ bytes __avpkt__ bytes __burst__ packets
21 __[[ ecn ] [[ bandwidth__ rate __] probability__
22 chance
23 !!DESCRIPTION
24
25
26 Random Early Detection is a classless qdisc which manages
27 its queue size smartly. Regular queues simply drop packets
28 from the tail when they are full, which may not be the
29 optimal behaviour. RED also performs tail drop, but does so
30 in a more gradual way.
31
32
33 Once the queue hits a certain average length, packets
34 enqueued have a configurable chance of being marked (which
35 may mean dropped). This chance increases linearly up to a
36 point called the __max__ average queue length, although
37 the queue might get bigger.
38
39
40 This has a host of benefits over simple taildrop, while not
41 being processor intensive. It prevents synchronous
42 retransmits after a burst in traffic, which cause further
43 retransmits, etc.
44
45
46 The goal is the have a small queue size, which is good for
47 interactivity while not disturbing TCP/IP traffic with too
48 many sudden drops after a burst of traffic.
49
50
51 Depending on 08 ECN is configured, marking either means
52 dropping or purely marking a packet as
53 overlimit.
54 !!ALGORITHM
55
56
57 The average queue size is used for determining the marking
58 probability. This is calculated using an Exponential
59 Weighted Moving Average, which can be more or less sensitive
60 to bursts.
61
62
63 When the average queue size is below __min__ bytes, no
64 packet will ever be marked. When it exceeds __min,__ the
65 probability of doing so climbs linearly up to
66 __probability,__ until the average queue size hits
67 __max__ bytes. Because __probability__ is normally not
68 set to 100%, the queue size might conceivably rise above
69 __max__ bytes, so the __limit__ parameter is provided
70 to set a hard maximum for the size of the
71 queue.
72 !!PARAMETERS
73
74
75 min
76
77
78 Average queue size at which marking becomes a
79 possibility.
80
81
82 max
83
84
85 At this average queue size, the marking probability is
86 maximal. Should be at least twice __min__ to prevent
87 synchronous retransmits, higher for low
88 __min.__
89
90
91 probability
92
93
94 Maximum probability for marking, specified as a floating
95 point number from 0.0 to 1.0. Suggested values are 0.01 or
96 0.02 (1 or 2%, respectively).
97
98
99 limit
100
101
102 Hard limit on the real (not average) queue size in bytes.
103 Further packets are dropped. Should be set higher than
104 max+burst. It is advised to set this a few times higher than
105 __max.__
106
107
108 burst
109
110
111 Used for determining how fast the average queue size is
112 influenced by the real queue size. Larger values make the
113 calculation more sluggish, allowing longer bursts of traffic
114 before marking starts. Real life experiments support the
115 following guideline: (min+min+max)/(3*avpkt).
116
117
118 avpkt
119
120
121 Specified in bytes. Used with burst to determine the time
122 constant for average queue size calculations. 1000 is a good
123 value.
124
125
126 bandwidth
127
128
129 This rate is used for calculating the average queue size
130 after some idle time. Should be set to the bandwidth of your
131 interface. Does not mean that RED will shape for you!
132 Optional.
133
134
135 ecn
136
137
138 As mentioned before, RED can either 'mark' or 'drop'.
139 Explicit Congestion Notification allows RED to notify remote
140 hosts that their rate exceeds the amount of bandwidth
141 available. Non-ECN capable hosts can only be notified by
142 dropping a packet. If this parameter is specified, packets
143 which indicate that their hosts honor ECN will only be
144 marked and not dropped, unless the queue size hits
145 __limit__ bytes. Needs a tc binary with RED support
146 compiled in. Recommended.
147 !!SEE ALSO
148
149
150 tc(8)
151 !!SOURCES
152
153
154 o
155
156
157 Floyd, S., and Jacobson, V., Random Early Detection gateways
158 for Congestion Avoidance.
159 http://www.aciri.org/floyd/papers/red/red.html
160
161
162 o
163
164
165 Some changes to the algorithm by Alexey N.
166 Kuznetsov.
167 !!AUTHORS
168
169
170 Alexey N. Kuznetsov,
171 ----
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.