Chinaunix首页 | 论坛 | 博客
  • 博客访问: 846609
  • 博文数量: 180
  • 博客积分: 10029
  • 博客等级: 上将
  • 技术积分: 2185
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-06 09:15
文章存档

2010年(133)

2009年(47)

我的朋友

分类: 系统运维

2009-11-07 00:32:30

E-mail:
 
   针对NS2入门实例3的场景,我们利用awk 和 gnuplot工具做更加深入的分析,演示科学实验中对Trace文件做深入分析的一般方法!
   关注点:
        有线场景中,Trace文件的格式;(此处不细说,因为很多Tutorial中很详尽!哈哈!)
        利用awk工具计算端到端延迟、抖动率、丢包率、吞吐量;
        利用gnuplot的基本命令,并将awk工具的分析结果用曲线图绘制出来!
 
        NS2入门实例3模拟后得到的out.tr文件此处不给出,请自行仿真获得!哈哈
 
      第四篇: 吞吐量的测量---实现的全过程!
 
       测量抖动率: measure-throughput.awk文件
  
#测量CBR数据包的平均吞吐率的awk代码
#针对out.tr的分析
 
BEGIN {
       init=0;
    i=0;
  }
  {
  #将out.tr文件的相应字段赋值给变量
  action=$1;
  time=$2;
  from=$3;
  to=$4;
  type=$5;
  pktsize=$6;
  flow_id=$8;
  src=$9;
  dst=$10;
  seq_no=$11;
  packet_id=$12;
 
 if (action=="r" && from==2 && to==3 && flow_id==2) {
      pkt_byte_sum[i+1]=pkt_byte_sum[i]+pktsize;
  
   if (init==0) {
       start_time=time;
    init=1;
  }
  end_time[i]=time;
  i=i+1;
       }
    }
    END {
      #第一笔记录的Throughput设置为零, 以表示传输开始, 为了绘图的美观
      printf("%.2f\t %.2f\n", end_time[0],0);
   
   for (j=1; j   #单位为 kbps
       th=pkt_byte_sum[j]/(end_time[j] - start_time) *8/1000;
    printf("%.2f\t%.2f\n", end_time[j], th);
  }
  
  #最后一笔记录的Throughput设置为零, 以表示传输结束, 为了绘图的美观
      printf("%.2f\t%.2f\n", end_time[i-1],0);
    } 
 
运行结果: (经过一定美化,具体方法已在前面的实例中有介绍!哈哈)
  
 
 
E-mail:
阅读(3543) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~