Pages

Tuesday, August 12, 2014

AWK code for Measure End to End Delay - NS2


End-to-end Delay : the average time taken by a data packet to arrive in the destination. It also includes the delay caused by route discovery process and the queue in data packet transmission. Only the data packets that successfully delivered to destinations that counted.
∑ ( arrive time – send time ) / ∑ Number of connections
The lower value of end to end delay means the better performance of the protocol.
Here is the AWK Script for calculating the delay

################################################################################

BEGIN {
     highest_packet_id = 0;
}
{
   action = $1;
   time = $3;
   #from = $3;
   #to = $4;
   type = $35; #aodv relationships,if 5 no infomation
   pktsize = $37;
   #src = $9;
   #dst = $10;
   #seq_no = $11;
   packet_id = $41;

 
if ( type != "AODV" ) {

   if ( packet_id > highest_packet_id )
         highest_packet_id = packet_id;

if ( start_time[packet_id] == 0 )

 if ( type == "cbr" && action != "d" ) {
      if ( action == "r" ) {
         end_time[packet_id] = time;
      }
   } else {

end_time[packet_id] = -1;
   }
}
}
END {

 for ( packet_id = 0; packet_id <= highest_packet_id; packet_id++ ) {
       start = start_time[packet_id];
       end = end_time[packet_id];
       packet_duration = end - start;

 if ( start < end ) printf("%f %f\n", start, packet_duration);
   }
}

###########################################################

1 comment:

  1. How can I calculate delay from one node do another ? Thank you

    ReplyDelete