LANforge-ICE can be setup to be a controlled emulated network with impairments to demonstrate the effect of buffer sizes on network traffic and model the types of networks seen in the real world. Here is an example using netperf-wrapper as the traffic source.
Below is the network under test…created with LANforge-ICE. The two physical interfaces eth2 and eth3 are connected together with an emulated network consisting of a T1 link to a series of three routers with OC3 links between them. Each T1 wanlink is configured with 40ms of round-trip latency and each OC3 wanlink has 20ms of round-trip latency so that a ping from eth2 to eth3 on the traffic source machine shows about 122ms round-trip latency through the emulated network.
traceroute -n -i eth2 126.96.36.199 traceroute to 188.8.131.52 (184.108.40.206), 30 hops max, 60 byte packets 1 220.127.116.11 41.100 ms 41.102 ms 41.089 ms 2 10.0.0.2 61.094 ms 61.090 ms 61.081 ms 3 10.0.0.6 81.117 ms 81.128 ms 81.118 ms 4 18.104.22.168 122.190 ms 122.190 ms 122.181 ms ping -I eth2 22.214.171.124 PING 126.96.36.199 (188.8.131.52) from 184.108.40.206 eth2: 56(84) bytes of data. 64 bytes from 220.127.116.11: icmp_req=1 ttl=61 time=122 ms 64 bytes from 18.104.22.168: icmp_req=2 ttl=61 time=122 ms 64 bytes from 22.214.171.124: icmp_req=3 ttl=61 time=122 ms 64 bytes from 126.96.36.199: icmp_req=4 ttl=61 time=122 ms ^C --- 188.8.131.52 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3003ms rtt min/avg/max/mdev = 122.358/122.426/122.495/0.252 ms
Netserver and Netperf-Wrapper are running on a separate machine that is physically connected to eth2 and eth3 on the emulation machine. Netserver is running with the following command:
netserver -L 184.108.40.206
Netperf-Wrapper is run several times with the following command:
netperf-wrapper -H 220.127.116.11 –local-bind 18.104.22.168 -t test-tcpbi-<backlogbuffer> tcp_bidirectional -f plot
Between each netperf-wrapper run, the backlog buffers on the T1 wanlinks were modified to demonstrate the effect of buffer size in the network. All interfaces in this example have the default tx queue length set to 1000 packets.
The buffer sizes used were small at 8KB, large at 32KB and auto-sized which resulted in about 80KB backlog buffer.
Results are shown as combined box totals and combined totals for all three test runs. Links to json.gz files are at the bottom of the post.
Now the same three network conditions with the rrul test with the following netperf-wrapper command:
netperf-wrapper -H 22.214.171.124 –local-bind 126.96.36.199 -t test-rrul-<backlogbuffer> rrul -f plot
Results with small 8KB buffers.
Results with large 32KB buffers.
Results with auto-sized buffers.
Results as combined box totals.
Links to json.gz files:
www.candelatech.com for more information on LANforge features.
github.com/tohojo/netperf-wrapper for more information on Netperf-Wrapper.