Traffic simulation tools



  • 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.
    http://www.brianlinkletter.com/open-source-network-simulators/

    If you find anything interesting, please share! :)



  • 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? ;)


Log in to reply