- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
NS2 trace文件分析脚本(适合无线trace)
分类:? HYPERLINK /leo115/article/category/1077335 ns2仿真? HYPERLINK /leo115/article/category/1197538 gnuplot绘图? HYPERLINK /leo115/article/category/1197079 Shell 编程2012-07-28 19:42?1747人阅读? HYPERLINK /leo115/article/details/7797431 \l comments 评论(0)? HYPERLINK javascript:void(0); \o 收藏 收藏? HYPERLINK /leo115/article/details/7797431 \l report \o 举报 举报
HYPERLINK /tag/%e8%84%9a%e6%9c%ac \t _blank 脚本 HYPERLINK /tag/delay \t _blank delay HYPERLINK /tag/plot \t _blank plot HYPERLINK /tag/%e7%bd%91%e7%bb%9c \t _blank 网络 HYPERLINK /tag/%e6%96%87%e6%a1%a3 \t _blank 文档 HYPERLINK /tag/byte \t _blank byte
网络上有不少awk程序是讲如何分析网络性能的(主要是时延,吞吐量,丢包率和时延抖动),但是都没有详细的说明,我在此作一些示例,添加了一些必要的说明注释。
以下的内容是针对NS2仿真的结果trace文件进行网络性能分析,看本篇前需要先行了解的的内容有:awk语言的基础,包括语法和结构等;在Linux下如何使用xgraph和gnuplot。
因为只是想简单介绍如何用gwak和xgraph/gnuplot处理trace文件得出分析结果,所以并没有写专门的tcl脚本,分析用的tcl脚本和trace文件是一个三节点的无线网络的例子,随篇附后。
本篇主要想介绍如何得到网络的数据传输延迟(delay)、丢包率(drop)、延时抖动(Jitter)和网络的吞吐量(throughtput),下文的四个awk程序所使用的模型主要来自《網路模擬軟體NS2來做網路效能分析需看的文章》一文,除了第四个外程序没有做很大的改动,只是对封包的处理有所不同,同时第一个程序增加了比较详细的注释,方便初学者学习。因为只是想抛砖引玉,所以分析用的数学模型没有刻意去研究,有待大家一起讨论。
一,延时分析。包的延时就是指包的接收时间与包的发送时间差。下面给出awk程序,相关的说明看程序里面的注释。
#BEGIN表明这是程序开头执行的一段语句,且只执行一次。
BEGIN {
#程序初始化,设定一变量以记录目前处理的封包的最大ID号码。在awk环境下变量的使用不需要声明,直接赋值。
highest_uid = 0;
}
#下面大括号里面的内容会针对要进行处理的记录(也就是我们的trace文件)的每一行都重复执行一次
{
event = $1; #$1表示一行的第一栏,是事件的动作。每一栏默认是以空格分隔的。下同。
time = $2; #事件发生的时间
node_nb = $3; #发生事件的节点号(但是两边夹着“_”,下面一句代码将“_”处理掉)
node_nb=substr(node_nb,2,1); #第三栏的内容是形如_0_的节点号码,我只要得出中间的节点号码0,所以要对字符串_0_进行处理。
trace_type = $4; #trace文件跟踪事件的层次(指在路由层或mac层等等)
flag = $5; #
uid = $6; #包的uid号码(普通包头的uid)
pkt_type = $7; #包的类型(是信令或是数据)
pkt_size = $8; #包的大小(byte)
#下面的代码记录目前最高的CBR流的packet ID,本来的延迟分析是针对所有的包的(包括信令),这里作了简化,只针对CBR封包,以后大家做延时分析可以做相应的改动即可。
if ( event==s node_nb==0 pkt_type==cbr uid highest_uid )
{#if判断句的前三个判断条件就不说了,第四个是说每个包的记录次数不超过1
highest_uid = uid;
}
#记录封包的传送时间
if ( event==s node_nb==0 pkt_type==cbr uid==highest_uid )
start_time[uid] = time; # start_time[]表明这是一个数组
#记
您可能关注的文档
最近下载
- 心理健康教育对青少年学习动力的影响.pptx VIP
- 基于财务共享模式下的财务风险管理—以海尔集团为例.doc VIP
- 初一学生期中家长会优质课件.ppt
- 中国华电集团发电运营有限公司招聘笔试题库2024.pdf
- 物流服务师(高级工)职业技能鉴定考试及答案.doc VIP
- 2024年浙江省中考数学试卷(附答案).pdf
- 人教版九年级全册英语Unit 14大单元整体教学设计.docx
- 4.11.1《探问人生目标》课件人教统编版道德与法治七年级上册2024新教材.pptx
- JB∕T 10923-2020 电能表用磁保持继电器.pdf
- 2018年版《广东省安装工程定额说明及计算规则》C.5 建筑智能化工程.pdf
文档评论(0)