Queueing Tutorial¶
INET contains a queueing library which provides various components such as traffic generators, queues, and traffic conditioners. Elements of the library can be used to assemble queueing functionality that can be used at layer 2 and layer 3 of the protocol stack. With extra elements, the queueing library can also be used to define custom application behavior without C++ programming.
Each step in this tutorial demonstrates one of the available queueing elements, with a few more complex examples at the end. Note that most of the available elements are demonstrated here, but not all (for example, elements specific to DiffServ are omitted from here). See the INET Reference for the complete list of elements.
Sources and Sinks
Queues and Buffers
Classifying Packets from One Input to Multiple Outputs
Scheduling Packets from Multiple Inputs to One Output
Advanced Queues and Buffers
Filtering and Dropping Packets
Actively Serving Packets from a Passive Source
Generating Tokens for a Token-based Server
Markers and Meters
Traffic Conditioning
Other Generic Elements
- Delaying Packets
- Connecting Multiple Active Sources to a Passive Sink
- Connecting a Passive Source to Multiple Active Sinks
- Blocking/Unblocking Packet Flow (Active Source)
- Blocking/Unblocking Packet Flow (Active Sink)
- Duplicating Packets from One Input to One Output
- Duplicating Packets Based On Their Ordinal Number
- Cloning Packets from One Input To Multiple Outputs
Advanced Sources and Sinks
Some Complex Examples