Traffic simulation tools
KOM last edited by
Does anyone have any suggestions for tools to simulate or generate network traffic for use with Traffic-shaping testing? Something that lets you specify duration, bandwidth & ports, and then it spew out random packets of the specified port(s) at the specified bandwidth rate. Nothing that requires reading a tome to figure out.
There are quite a few out there for local testing, like netperf or iperf.
Here is a quote from Kenjiro Cho, ALTQ creator ; http://www.iijlab.net/~kjc/software/TIPS.txt
1.4 Traffic Generation Even when you have a bottleneck, it is not a simple task to control the queue length. I recommend to use TCP; a UDP stream just overflows the queue and eats up the CPU power and the link bandwidth. But a single TCP will not grow the queue length; TCP is clever enough! You have to run multiple TCP streams to observe some interesting traffic dynamics. The following simple script works for me. #!/bin/sh PATH=/bin:/usr/bin:/usr/local/bin export PATH dest=dest-host-name sec=20 win=48K size=8K netperf -H $dest -l $sec – -m $size -s $win -S $win & sleep 3 netperf -H $dest -l $sec -- -m $size -s $win -S $win & sleep 3 netperf -H $dest -l $sec -- -m $size -s $win -S $win & sleep 3 netperf -H $dest -l $sec -- -m $size -s $win -S $win
For the testing the dynamics of larger networks, there are things like ns2 and ns3 but they are too complex for anyone but academians.
IMUNES is pretty good, but I did not know enough about FreeBSD virtualization to enable ALTQ, so I gave up, for now.
There are some Linux-based simulators out there but iptables can go to hell, all day, every day, imo.
This site has some good reviews.
If you find anything interesting, please share! :)
KOM last edited by
Yeah, I also spent time looking at traffic generators and network simulators. I didn't find anything that hit the sweet spot. I don't have the time to learn some massive framework so I was hoping for something not too complex. Thanks for replying.
My next venture is to learn more about debugging ALTQ so I can see more stats. I am assuming I will need to resort to a full FreeBSD to get more control of the system though. Learning more about FreeBSD is probably a good idea.
I bet that the bufferbloat/Codel mailing-list has some great info about how to simulate traffic for testing.
I have only played with netperf casually. The few worthwhile tests I ran I did with either multiple sessions of iperf, or multiple sessions of netcat/nc. Netcat is insanely powerful. Every few months since I learned of netcat I am amazed by how powerful the simple tool can be; "netcat host2 port < /dev/zero" to a listening netcat and bam, single stream TCP/UDP traffic. or send a file with the same method. or create a remote shell. That is just the standard uses.
There is gns3, but it is Cisco emulation primarily. Good userbase and polished interface.
There must be a good, simple simulator, right? Call DARPA maybe? ;)