-------------------------------------------------------------- INSTALLATION HOWTO for BIC and CUBIC for NS 2.6 v1 -------------------------------------------------------------- Please check the latest update at http://netsrv.csc.ncsu.edu/twiki/bin/view/Main/BIC -------------------------------------------------------------- BUILD NS2 -------------------------------------------------------------- 1. Download the NS2 2.6 all-in-one official version. 2. Replace ns-2.6/tcp/tcp.h and ns-2.6/tcp/tcp.cc with tcp/tcp.h and tcp/tcp.cc respectively. 3. Make NS2. 4. Install SACK-TS (See "Purpose of SACK-TS section" below). Make sure you need to ("make clean" and "make") again here. 5. Make sure your environment variables (PATH, LD_LIBRARY_PATH, and TCL_LIBRARY pathes are correct). 6. Go to script directory and run "./one_protocol" script. This will run CUBIC protocol and saves html results (plots and some statistics) under ns_result/intra_protocol directory. -------------------------------------------------------------- Purpose of SACK-TS: 1. Reduce timeouts in TCP/SACK by recovering the retransmitted packets using the Time-Stamp option. 2. Speed up simulation using a fast implementation of scoreboard -------------------------------------------------------------- To extend NS2.26 to run SACK-TS, you need to do the following: 1. Copy all files under sack-ts-code directory into ns-allinone-2.26/ns-2.26/tcp directory. 2. add the following lines to the list of object files, "OBJ_CC", in file ns-allinone-2.26/ns-2.26/Makefile tcp/SackList.o tcp/intDList.o tcp/hashtable.o\ tcp/tcp-sack-ts.o tcp/scoreboard-ts.o\ 3. Make NS ("make clean", and then "make") 4. In your script, use the following line to create a connection $ns create-connection TCP/SackTS $n1 TCPSink/Sack1/DelAck $n2 $class -------------------------------------------------------------- Contact -------------------------------------------------------------- Please email sha2@ncsu.edu for help.