[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ns] (ns-allinone-2.1b8a) Changing TCP window (and sat parameter qlim) doesn't affect simulation results (?!)



Hi all,

Please consider the script sat-repeater.tcl that comes with NS. (I have 
made some changes that you can see after some lines)

I have made several trials. I have increased both tcp window and qlim. 
However I haven't seen particular changes in the simulation results and the 
throughput (if correctly calculated) is very low.

For example, with

set opt(qlim)           1000

# set windows size to 1000 packets
#$tcp0 set window_ 1000

According to my script (that you can find at the end of the message) the 
throughput is very low. (a max sampled value of  ~140 kbit/s )

I have also used the script bw.awk that comes with NS.  (a max sampled 
value of  ~18kbytes/s)

Probably I have made a mistake or more than one.  Could someone help me?

Thank you in advance, Giuseppe Tringali

I have made  these changes to the script sat-repeater.tcl that comes with NS.

# Simple script with a geostationary satellite and two terminals
# and an error module on the receiving terminal.  The traffic consists of
# a FTP source and a CBR stream

I have eliminated the CBR stream

set opt(bw_up)          2Mb;  --->  set opt(bw_up)              10Mb;

set tcp1 [$ns create-connection TCP $n2 TCPSink $n3 0] ---> set tcp0 [$ns 
create-connection TCP/Newreno $n2 TCPSink $n3 0]

$ns at 7.0 "$ftp1 produce 100"  --->  $ns at 1.0 "$ftp1 start"


# set segment size to 500 bytes
#$tcp0 set packetSize_ 500


Machine: i686
OS: Linux SUSE 7.1
Kernel: 2.2.18
NS: ns-allinone-2.1b8a
AWK: GNU Awk 3.0.4


BEGIN {slot = 0.5; bytes_counter = 0; t_sampling = 0.5;}
{
    action = $1;
    time = $2;
    node_1 = $3;
    node_2 = $4;
    size = $6;
    type = $5;

    if ( (action == "r") && (node_2 == "2") && (type == "tcp") ) {

         if ( time <= t_sampling) bytes_counter = bytes_counter + size;

         if ( time > t_sampling) {
                                 th = ( (bytes_counter * 8) / (1000000 * 
slot) );
                                 printf("%f %f\n", t_sampling, th);
                                 bytes_counter = size;
                                 t_sampling = t_sampling + slot;
                                 }
         }
}
END { }