Home Page

23/11/2001 : This page is not valid. Plz go to docum.org 

 

 

 

  • Traffic generators: overview
  •   tcpblastttcpiperf AB Linbot & wgetping
    TCP YES YES YES YESYES NO
    UDP YES YES YES YESNO NO
    ICMP NO NO NO NO NO YES
    client-server (1) NO YES YES NO NO NO
    Multiple streams NO YES YES YESYES NO
    Full BandWidth? (2)YES YES NO (UDP:YES)NO NO NO
    MTU (3) NO NO YES NO NO NO

    (1): ttcp and iperf are server/client programs. So you have to start on 1 PC the server and an other PC can act as client and connects to the server and send the data.

    (2): tcpblast, ttcp and iperf (TCP) are sending as much data they can. When iperf sends UDP you can specify a rate. AB and Linbot are querying a web-server so they generate as much as the webserver can deliver and as much the scripts can proces. You can start several pings in the background to generate the rate you want or you can specify the -f parameter to flood the destination host.

    (3): With iperf you can specify the TCP maximum segment wich is MTU - 40bytes. You can also specify the TCP window size.

  • tcpblast
  • local copy: I found this little program in the contrib area of MRTG (Multi Router Traffic Grapher).
    # ./tcpblast --help
     
     usage: ./tcpblast [options] destination nblocks
      
      tcpblast/udpblast is a simple tool for probing network and estimating its
      through output. It sends nblocks of 1024 B blocks of data to specified
      destination host
    
    I'm using this program to generate the traffic and not to measure the bandwidth. But tcpblast is only a client program. It can kill the destination server because it's overloading the server by sending random traffic on a port.

  • ttcp
  • local copy: This is a server-client program that generates traffic between them. It works great and I choose it above tcpblast. With ttcp you don't risk to overload the destination server.

    Starting the server on poort POORT1:

    while true; do ttcp -r -s -p $POORT1; done
    

    Connecting with a client to server SERVER:

    while true ;do ttcp -t -s $SERVER -p $POORT1; done
    

  • iperf
  • local copy (Home page): This is also a client-server program that measured the bandwidth. It has more options than ttcp. It can also generates parallel connections.

  • Apache Benchmark & linbot & wget
  • Apache Benchmark
  • As results, a lot of small connectionts are generated. This is the results of the netstat command when I generated 8 parallel connections.
    $ netstat | grep kriek:www
    tcp        0      1 192.168.1.128:4279      kriek:www               SYN_SENT
    tcp        0      1 192.168.1.128:4278      kriek:www               LAST_ACK
    tcp        0      0 192.168.1.128:4277      kriek:www               CLOSE
    tcp        0      0 192.168.1.128:4276      kriek:www               CLOSE
    tcp        0      0 192.168.1.128:4275      kriek:www               CLOSE
    tcp        0      0 192.168.1.128:4274      kriek:www               CLOSE
    tcp        0      0 192.168.1.128:4273      kriek:www               CLOSE
    

  • Linbot & wget
  • Linbot is a tool to test the html pages of web-servers. It queries all the pages of the web-servers and looks for broken links. So it generates a lot of small connections to download different files. I think this is the best tool you can get to generate real traffic.

    An other tool that can be used is wget. This downloads all the files from a web-server.

  • ping
  • Starting ping with the option -f, floods the destination hosts and creates a lot of bandwitdh.