|
Platform
|
Dedicated 32-bit low power single board computer
(PC Engines ALIX2c3).
AMD Geode LX 800 (500mhz), 256M memory.
1 gigabyte (or more) 80x flash memory file system.
No rotating media or fans.
|
Dedicated high performance computer.
|
|
Operating System and distribution
|
Linux 2.6.28.6 (or later) - 32-bit.
Ursaminor Linux
|
Fedora 7 - 64-bit.
|
|
Interfaces
|
One Ethernet for control.
Two Ethernets for impairments.
All interfaces full or half duplex.
All interfaces 10/100.
Auto MDI/MDI-X (auto crossover)
|
One Ethernet for control.
Two Ethernets for impairments.
All interfaces full or half duplex.
All interfaces 10/100/1000.
Auto MDI/MDI-X (auto crossover)
|
|
Fiber optical links
|
Supported via external converters.
|
Supported via external converters.
|
|
Additional interfaces
|
No
|
Yes, but special-order chassis may be required.
|
|
Transparency
|
Layer 2 bridge with IEEE 802 forwarding table.
|
Layer 2 bridge, forwarding defined by impairments.
|
|
Impairment engine
|
Netem, a standard Linux kernel module
|
IWL impairment server, a real-time multi-threaded process.
|
|
Delay
|
Yes
|
Yes
|
|
Jitter
|
Yes
|
Yes (May be highly customized with user-defined jitter distributions.)
|
|
Separate fixed and variable delay components
|
No
|
Yes
|
|
Jitter Distribution
|
Normal (bell curve), Pareto, Paretonormal
|
Uniform, Normal (bell curve/Gaussian), piecewise distribution function defined by user.
|
|
User defined jitter distributions
|
No
|
Yes
|
|
Reordering
|
Yes
|
Yes, user selectable.
|
|
Add delay/jitter to every Nth packet
|
Yes
|
Yes, via a plugin
|
|
Hold packets then release all – Dam bursting
|
No
|
Yes, via a plugin
|
|
IP Fragmentation
|
No
|
Yes, via a plugin and also part of IP test suite.
|
|
Protocol specific test suites
|
No
|
Yes
|
|
Maximum packet delay
|
About 10 seconds
|
More than an hour
|
|
Timer resolution
|
1 millisecond
|
1 millisecond
|
|
Drop
|
Yes
|
Yes
|
|
Duplication
|
Yes
|
Yes
|
|
Corruption
|
Yes - Single bit errors may be introduced
|
Yes, via a plugin
|
|
Rate Limitation
|
Yes, using a token bucket rate limiter.
|
Yes, using an algorithm that takes many parameters into account
such as bit propagation delay, link framing overhead, etc.
|
|
Bit-Serial Link Emulation
|
No. (For many users the rate limitation feature is sufficient.)
|
Yes, using an algorithm that takes many parameters into account
such as bit propagation delay, link framing overhead, etc.
|
|
Modify packet contents?
|
No
|
Yes
|
|
Protocol specific packet rewriting
|
No
|
Yes
|
|
User written impairment
|
No
|
Yes
|
|
Stateful
|
No
|
Yes, in protocol and user defined impairments.
|
|
Low Frequency changes to individual impairments
|
Yes, using a spreadsheet template to define the sequence of impairment steps,
impairment values, and inter-step delay.
Minimum inter-step interval is 1 second.
|
Yes. Frequency range from 0.1 second to about two weeks.
Several ways to define the shape of the changes over time:
-
Pulse model using linear, sine, and square waveforms for ramp-up and ramp-down.
Ramp-up and ramp-down may have different waveforms.
-
User specified list of (X,Y) coordinates.
-
User specified mathematical function.
|
|
Burst impairments
|
“Correlation” chain in which event probability is partially dependent on proceeding event probability.
|
Yes, using a Markov probability chain with modifier based on packet inter-arrival time.
The probability value used to decay the Markov chain is different from the probability used to trigger the burst.
A time window may be used to skew the decay probability.
Algorithm is extension of that used in ITU network impairment model.
|
|
Traffic classification into flows or bands
|
Yes
|
Yes
|
|
Scriptable
|
Yes, using a spreadsheet template to define the sequence of impairment steps,
impairment values, and inter-step delay.
|
Yes from Python, Java, Perl, and Bash (shell)
|
|
Can scripts run on other computers (i.e. scripting over the network.)
|
No
|
Yes
|
|
IEEE tagged VLANs
|
Partial support. Tagged ethernet packets are bridged.
However, filters do not operate on tagged packets.
Consequently, when used on a tagged VLAN trunk, all packets are classified
into the default band, Band #5.
All impairments may be applied to tagged packets.
|
Yes
|
|
Jumbograms
|
No
|
Yes
|
|
Intrinsic delay
|
Much less than one millisecond
|
100 to 150 microseconds
|
|
Throughput
|
Packet (Ethernet frame) thoughput varies depending on packet size and
the impairments that are imposed.
- 1500 byte Ethernet packets:
- 8224 packets/second (100% of 100Mbit Ethernet)
in each direction (i.e. full duplex.)
(Delay timing accuracy degrades above 6188 packets/second, 75% of 100Mbit Ethernet.)
- 64-byte Ethernet packets:
- Half duplex (one direction at a time): 26,800 packets/second
- Full duplex (both directions simultaneously): 12,000 packets/second in each direction.
User interface responsivity diminishes at about 75% of these rates.
|
25,000 packets/second
|