We used a lab-grade (Spirent) network testing device to verify operations of a PC based emulator. The tests showed the latency and speed emulations were acceptable for qualitative testing. Assigned values differed slightly from measured values. The PC used in this test was a highly portable Mini-ITX system with 10Mbps LAN ports using Fedora Core 4 Linux operating system.
One-way latency was measured as the ‘netem’ latency parameters were varied from 0ms to 1000ms. The results are listed below.
Set (ms) | 0 | 5 | 10 | 15 | 20 | 30 | 40 | 50 | 100 | 150 | 200 | 300 | 500 | 600 | 800 | 1000 |
Measured (ms) | 0.14 | 15.7 | 20.8 | 25.8 | 30.8 | 40.8 | 50.8 | 61.0 | 111 | 161 | 211 | 311 | 512 | 612 | 815 | 1013 |
Except for 0ms latency, the actual performance was about 11ms slower than the delay parameter as set. For example, the ‘netem’ delay parameter was set to 20ms and the measured response was 30.8ms.
Throughput was measured to determine if the set queuing speed matched. Using the same test configuration as above, measurements were taken at T1 speeds and 128Kbps speeds.
At T1 speed (1.544M bits per second), the measured throughput was 194 frames per second. Each frame was 1000 bytes long, which equates to a rate of 1.552Mbps. [1000 bytes X 194 frames X 8 bits/byte = 1552000 bits per second.]
When the emulator was set for 128Kbps, the measured results were 15 frames per second, which corresponds to 120Kbps. Again, this is probably close enough for qualitative measurements. (Packet sizes could be varied to see if finer resolution may be obtained.)
A packet sniffer captured traffic through bridge (i.e. br0) and there seems to be a discrepancy between the number of packets measured versus the number of packets sent by the Spirent test equipment. Ethereal (sniffer) indicated the packet was 996 bytes long, not 1000 as configured on the Spirent test equipment. The Ethernet header was 14 bytes, the IP header was 20 and the rest of the packet was 942. This is moot for the purposes of this test, but further work should be conducted to account for the ‘missing’ 4 bytes.