This file contains information on how the simulations presented in pushback paper(s) were run. All simulations except Figures 3 and 4 in the extended version of the paper (information on which is given separately below) use the following tcl scripts: helper.tcl plot.tcl test.tcl topology.tcl traffic.tcl test.tcl is the container/start script. $ ../../ns test.tcl usage: ns test.tcl [seed [globalvar]] Valid test(s) are: one Valid Topologie(s) are: VeryBig Cross Big 6nodes 4nodes Valid Traffic(s) are: PopUpHF PopUpLF PopUp PopOff FlashCrowd ManyBad FewBad Cross Web2 Web1 Sim4 Sim3 Sim2 Sim1 two one Running Mode Options. disable-RL: No Rate-Limiting. disable-PB: Local Rate-limiting only (No Pushback). enable: Pushback to seed the random number generator. 0 (default) for random seed. globalvar: one variable for command line control. Disgusting, but quick. always one (legacy code) Big: Figure 7 in the extended version VeryBig: Figure 9 in the extended version PopUp: on-off traffic in CCR version. This takes globalvar for frequency (see popup.sh). ManyBad: diffuse DoS attack. globalvar=0 for cbr background traffic (extended version) and globalvar!=0 for on-off (CCR version). (See verybig.sh) FewBad: same as above for sparse DoS attack. FlashCrowd: Figure 12 in extended version (see flashcrowd.sh) Sim4: Figure 7 in CCR version (see sim4.sh) ------------------------------------------------------------------- A single run of test.tcl generates an output file called: one....flows that can be processed for results. The format of the file is: time: 10 class: 8.3 bytes: 4051440 10.0 with the following definitions: time: when this line was outputted. (the frequency can be controlled through test.tcl) class: source.flowid bytes: total bytes transferred from start the last number is time since last byte count was outputted There are example perl scripts in the tarball that process output files of this format. ------------------------------------------------------------------- Figures 3 and 4 in the extended version can be run with the commands ./test-all-pushback slowgrow and ./test-all-pushback slowgrow-acc in the tcl/test directory in the NS simulator. For each simulation, the packet drop rate can be see using the command: xgraph -bb -tk -x time -y drop_rate temp.droprate & The graphs can also be produced by uncommenting the following lines: # exec csh gnuplotE.com $testname # exec csh gnuplotF.com $testname in test-suite-pushback.tcl.