OLD | NEW |
1 .. include:: replace.txt | 1 .. include:: replace.txt |
2 .. highlight:: cpp | 2 .. highlight:: cpp |
3 | 3 |
4 RED queue disc | 4 RED queue disc |
5 --------------------- | 5 --------------------- |
6 | 6 |
7 Model Description | 7 Model Description |
8 ***************** | 8 ***************** |
9 | 9 |
10 Random Early Detection (RED) is a queue discipline that aims to provide | 10 Random Early Detection (RED) is a queue discipline that aims to provide |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
175 Config::SetDefault ("ns3::RedQueueDisc::FengAdaptive", BooleanValue (true)); | 175 Config::SetDefault ("ns3::RedQueueDisc::FengAdaptive", BooleanValue (true)); |
176 | 176 |
177 Simulating NLRED | 177 Simulating NLRED |
178 ================ | 178 ================ |
179 | 179 |
180 To switch on NLRED algorithm, the attribute NLRED must be set to true, | 180 To switch on NLRED algorithm, the attribute NLRED must be set to true, |
181 as shown below: | 181 as shown below: |
182 | 182 |
183 .. sourcecode:: cpp | 183 .. sourcecode:: cpp |
184 | 184 |
185 Config::SetDefault ("ns3::RedQueueDisc::NLRED", BooleanValue (true)); | 185 Config::SetDefault ("ns3::RedQueueDisc::NLRED", BooleanValue (true)); |
186 | 186 |
187 Examples | 187 Examples |
188 ======== | 188 ======== |
189 | 189 |
190 The RED queue example is found at ``src/traffic-control/examples/red-tests.cc``. | 190 The RED queue example is found at ``src/traffic-control/examples/red-tests.cc``. |
191 | 191 |
192 ARED queue examples can be found at: | 192 ARED queue examples can be found at: |
193 ``src/traffic-control/examples/adaptive-red-tests.cc`` and· | 193 ``src/traffic-control/examples/adaptive-red-tests.cc`` and· |
194 ``src/traffic-control/examples/red-vs-ared.cc`` | 194 ``src/traffic-control/examples/red-vs-ared.cc`` |
195 | 195 |
196 Feng's Adaptive RED example can be found at: | 196 Feng's Adaptive RED example can be found at: |
197 ``examples/traffic-control/red-vs-fengadaptive.cc`` | 197 ``examples/traffic-control/red-vs-fengadaptive.cc`` |
198 | 198 |
199 NLRED queue example can be found at: | 199 NLRED queue example can be found at: |
200 ``examples/traffic-control/red-vs-nlred.cc`` | 200 ``examples/traffic-control/red-vs-nlred.cc`` |
201 | 201 |
202 Validation | 202 Validation |
203 ********** | 203 ********** |
204 | 204 |
205 The RED model has been validated and the report is currently stored | 205 The RED model has been validated and the report is currently stored |
206 at: https://github.com/downloads/talau/ns-3-tcp-red/report-red-ns3.pdf· | 206 at: https://github.com/downloads/talau/ns-3-tcp-red/report-red-ns3.pdf· |
| 207 |
| 208 Validation of ECN operation |
| 209 =========================== |
| 210 RED Tests |
| 211 ========= |
| 212 |
| 213 Test 1 (without ECN) |
| 214 RED stats from Node 2 queue |
| 215 142 drops due prob mark |
| 216 0 marks due prob mark |
| 217 224 drops due hard mark |
| 218 0 drops due hard mark |
| 219 0 drops due queue full |
| 220 |
| 221 |
| 222 Test 2 (same as Test 1 with ECN) |
| 223 RED stats from Node 2 queue· |
| 224 65 drops due prob mark |
| 225 71 marks due prob mark |
| 226 293 drops due hard mark |
| 227 0 drops due hard mark |
| 228 0 drops due queue full |
| 229 |
| 230 When ECN is enabled, there are marks instead of drops due to probability. |
| 231 However, in test 2, 65 packet gets dropped despite ECN being enabled because the
y |
| 232 are non-ECT packets. This can be verified by connecting to drop trace sources |
| 233 and observing the IP header of dropped packets. |
| 234 |
| 235 ARED Tests |
| 236 ========== |
| 237 |
| 238 Test 1 (without ECN) |
| 239 ARED stats from Node 2 queue |
| 240 3 drops due to prob mark |
| 241 0 marks due to prob mark |
| 242 0 drops due to hard mark |
| 243 0 marks due to hard mark |
| 244 251 drops due to queue full |
| 245 ·· |
| 246 Test 3 (same as Test 1 with ECN) |
| 247 ARED stats from Node 2 queue |
| 248 1 drops due to prob mark |
| 249 2 marks due to prob mark |
| 250 0 drops due to hard mark |
| 251 0 marks due to hard mark |
| 252 220 drops due to queue full |
| 253 |
| 254 When ECN is enabled, there are marks instead of drops due to probability. |
| 255 However, in test 3, 1 packet gets dropped despite ECN being enabled because it |
| 256 is a non-ECT packet. This can be verified by connecting to drop trace sources |
| 257 and observing the IP header of dropped packets. |
| 258 |
| 259 Test 2 (without ECN) |
| 260 ARED stats from Node 2 queue |
| 261 29 drops due to prob mark |
| 262 0 marks due to prob mark |
| 263 0 drops due to hard mark |
| 264 0 marks due to hard mark |
| 265 133 drops due to queue full |
| 266 |
| 267 Test 4 (same as Test 2 with ECN) |
| 268 ARED stats from Node 2 queue |
| 269 2 drops due to prob mark |
| 270 25 marks due to prob mark |
| 271 0 drops due to hard mark |
| 272 0 marks due to hard mark |
| 273 139 drops due to queue full |
| 274 |
| 275 When ECN is enabled, there are marks instead of drops due to probability. |
| 276 However, in test 4, 2 packet get dropped despite ECN being enabled because they |
| 277 are non-ECT packets. This can be verified by connecting to drop trace sources |
| 278 and observing the IP header of dropped packets. |
| 279 |
| 280 Test 10 (without ECN) |
| 281 ARED stats from Node 2 queue |
| 282 121 drops due to prob mark |
| 283 0 marks due to prob mark |
| 284 129 drops due to hard mark |
| 285 0 marks due to hard mark |
| 286 0 drops due to queue full |
| 287 |
| 288 |
| 289 Test 11 (same as Test 10 with ECN) |
| 290 ARED stats from Node 2 queue |
| 291 0 drops due to prob mark |
| 292 71 marks due to prob mark |
| 293 200 drops due to hard mark |
| 294 0 marks due to hard mark |
| 295 0 drops due to queue full |
| 296 |
| 297 When ECN is enabled, there are marks instead of drops due to probability. There· |
| 298 are drops due to hard mark rather than marks because UseHardDrop parameter is· |
| 299 turned on. If the UseHardDrop parameter is turned off, following stats can be· |
| 300 seen from node 2 for Test 11. |
| 301 |
| 302 0 drops due to prob mark |
| 303 20 marks due to prob mark |
| 304 0 drops due to hard mark |
| 305 660 marks due to hard mark |
| 306 0 drops due to queue full |
| 307 |
| 308 |
| 309 |
OLD | NEW |