NS2仿真结果的awk脚本分析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
NS2仿真结果的awk脚本分析

NS2仿真结果的awk脚本分析 无线仿真吞吐率统计 #this awk scrip is creaked by liugang 2006.05.02 BEGIN{ step =10; base=0; start=0; bytes=0; total_bytes=0; bw=0; calc=0; printf%.9f %.9f\n,base,bw; } $1~/r/$3~/2/$2~/1/{ if(base==0){ base=$2+step; start=$2; calc=1;} } $1~/r/$3~/2/$2~/1/calc==1 { time=$2; #当前时间 if(timebase){ #10S中统计所有的字节 bytes=bytes+$6;} else { bw=bytes/(step*1000.0); #带宽 total_bytes=total_bytes+bytes; printf%.9f %.9f\n,base-10,bw; bytes=0; bytes=bytes+$6; #继续下一次统计 base+=step;} total_bytes=total_bytes+bytes;} END { if(total_bytes) printf#Avg B/w=%.3fKB/s\n,((total_bytes/1000.0)/(time-start)); else printf#Avg B/w=0.0KB/s\n,max; } 1.统计延时 BEGIN { #程序初始化,设定一变量以记录目前最高处理封包的ID。 highest_packet_id = 0; } { action = $1; time = $2; node_1 = $3; node_2 = $4; type = $5; flow_id = $8; node_1_address = $9; node_2_address = $10; seq_no = $11; packet_id = $12; #记录目前最高的packet ID if ( packet_id highest_packet_id ) highest_packet_id = packet_id; #记录封包的传送时间 if ( start_time[packet_id] == 0 ) start_time[packet_id] = time; #记录CBR (flow_id=2) 的接收时间 if ( flow_id == 2 action != d ) { if ( action == r ) { end_time[packet_id] = time; } } else { #把不是flow_id=2的封包或者是flow_id=2但此封包被drop的时间设为-1 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); } } 2.统计丢包率 BEGIN { #程序初始化,设定一变量记录packet被drop的数目 fsDrops = 0; numFs = 0; } { action = $1; time = $2; node_1 = $3; node_2 = $4; src = $5; flow_id = $8; node_1_address = $9; node_2_address = $10; seq_no = $11; packet_id = $12; #统计从n1送出多少packets if (node_1==1 node_2==2 action == +) numFs++; #统计flow_id为2,且被drop的封包 if (flow_id==2

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档