常用工具以及结果分析 画图, gnuplot,xgraph 分析trace文件 文本处理工具gawk 命令格式

Slides:



Advertisements
Similar presentations
公司為社團法人 股東之人數 林宜慧 陳冠蓉. 公司之意義  根據公司法第一條規定 : 「本法所 稱公司,謂以營利為目的,依照 本法組織、登記、成立之社團法 人。」
Advertisements

天水圍的體育設施.
 第11讲 美国 巴西.
翰林版國文第三冊第六課 《迢迢牽牛星》 設計者:郭宜幸.
清代章回小說----儒林外史 製作群:侑桂、品希、萱容、怡靜、佩涓、凸凸.
營利事業所得稅查核準則 相關概念介紹 南區國稅局 新營分局 林俊標 各位學員大家好:
MIE-311 Mobile Network Security
如何培養你的道德風度? 什麼是公德心? 何謂自覺運動? 好心被雷劈?
Trace Analysis(1) REPORTER:wu sanbin
計算機網路 COMPUTER NETWORK
17. 關 稅 甲、基本觀念 壹、關稅法之關稅意義 關稅係指對國外進口貨物所課徵之進口稅。 貳、關稅相關之概念 一、內地稅與關稅(國境稅)
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
學 號:997I0010、997I0024 組 員:洪韋鈴、王婷婷 日 期: 指導老師:王立杰 老師
数据转发过程.
计算机网络 吴功宜 编著 欢迎辞.
Oracle数据库 Oracle 子程序.
公司法(六) 股份有限公司 1.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
在PHP和MYSQL中实现完美的中文显示
陈香兰 助教:陈博、李春华 Spring 2009 嵌入式操作系统 陈香兰 助教:陈博、李春华 Spring 2009.
計算機網路實驗- 使用NS2模擬多媒體通訊與無線網路(實驗四)
NAT-PT (Network Address Translation-Protocol Translation)
Computer Network Lab 資碩一 黃麒瑋
Hadoop I/O By ShiChaojie.
Internet Protocol (IP)
第二讲 搭建Java Web开发环境 主讲人:孙娜
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
SOA – Experiment 3: Web Services Composition Challenge
管理信息结构SMI.
走进编程 程序的顺序结构(二).
网络常用常用命令 课件制作人:谢希仁.
临界区软件互斥软件实现算法.
DM81X 视频采集处理 ——简单采集显示例程讲解 广州创龙电子科技有限公司
PostgreSQL 8.3 安装要点 四川大学计算机学院 段 磊
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
江西财经大学信息管理学院 《组网技术》课程组
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
第七讲 网际协议IP.
NS2 – TCP/IP Simulation How-Wei Wu.
以ISI平台为例,为您演示一下如何在Endnote文献中查看该文献的References
第17章 网站发布.
Online job scheduling in Distributed Machine Learning Clusters
数据挖掘工具性能比较.
第六章 安全衛生工作守則 6-1 前 言  6-2 訂定依據相關法令規定  6-3 工作守則製作程序及製作前應注意事項  6-4 如何訂定適合需要之安全衛生工作守則  6-5 結 論.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
无线传感器网络的仿真 仿真模块 ①无线信道模块:Channel/WirelessChannel;
第13章 IPv6协议.
使用WireShark解析TCP封包 Computer Network Lab2.
NS2 (Network Simulator - version 2)
實驗5 IP協定分析 明瞭IP(Internet Protocol;Internet協定)的基礎觀念
实验四、TinyOS执行机制实验 一、实验目的 1、了解tinyos执行机制,实现程序异步处理的方法。
NAT技术讲座 主讲:周旭 大唐电信科技股份有限公司光通信分公司 数据通信部.
VB与Access数据库的连接.
姚金宇 MIT SCHEME 使用说明 姚金宇
分裂对象模型 C++ otcl.
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
项目二:HTML语言基础.
信号量(Semaphore).
第4章 Excel电子表格制作软件 4.4 函数(一).
3.16 枚举算法及其程序实现 ——数组的作用.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
学习目标 1、如何对结果进行分组 2、分组函数的一些实用方法.
11908: Skyscraper ★★★☆☆ 題組:Problem Set Archive with Online Judge
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
VB与Access数据库的连接.
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
網際網路原理 網際網路源起與發展歷史 1968 ARPANET 1973 TCP/IP協定 1976 乙太網路,促成LAN的發展 … DNS
第四章 UNIX文件系统.
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
Presentation transcript:

常用工具以及结果分析 画图, gnuplot,xgraph 分析trace文件 文本处理工具gawk 命令格式 丢包/吞吐量/延迟 命令格式 gawk –f delay.awk output.tr 画图, gnuplot,xgraph 命令格式如下,示例演示 % gnuplot delay.plot

Trace文件片断: r 1.497941 2 3 cbr 210 ------- 2 1.0 3.1 764 828 d 1.49852 2 3 cbr 210 ------- 2 1.0 3.1 826 916 r 1.498929 2 3 cbr 210 ------- 2 1.0 3.1 765 829 + 1.49944 1 2 cbr 210 ------- 2 1.0 3.1 833 927 - 1.49944 1 2 cbr 210 ------- 2 1.0 3.1 833 927 r 1.499918 2 3 cbr 210 ------- 2 1.0 3.1 766 830 r 1.5002 1 2 cbr 210 ------- 2 1.0 3.1 827 917 + 1.5002 2 3 cbr 210 ------- 2 1.0 3.1 827 917 d 1.5002 2 3 cbr 210 ------- 2 1.0 3.1 827 917 - 1.500529 2 3 cbr 210 ------- 2 1.0 3.1 773 841 + 1.50112 1 2 cbr 210 ------- 2 1.0 3.1 834 928 - 1.50112 1 2 cbr 210 ------- 2 1.0 3.1 834 928 - 1.501518 2 3 cbr 210 ------- 2 1.0 3.1 774 842

TRACE文件 Trace文件分析: r 1.497941 2 3 cbr 210 ----- 2 1.0 3.1 764 828 包类型 发生时间 分组ID 起始节点 包大小 包所属应用的fid 接收方 事件类型: r: 到达节点 d: 丢弃 +:入队 -:出队 发送源 达到节点 分组 序号 第8列 IPV6定义的流标识符 (flow id) 10列和11列分别表示了分组的源地址和目标地址。 3.2表示3号节点的2号端口 最后一列是分组的唯一标识符。模拟中任何一个新创建的分组都会被指定一个新的唯一的标识符

awk工具 文本处理工具,可直接在命令行中进行处理; 程序语言编程,可将多条命令写成脚本文件; 语法与C语言类似; 自身语法特点: 变量不需定义; 从指定文件中自动循环读取每一行数据,直到文件结束; 自动将每一行数据分割成多个域(字段),自动更新内建参数的值($n), 特别的,“$i”(i>=0)表示当前读取行中第i+1个域,$0表示整行数据;

比如:自动读取trace文件每一行数据,并将各个字段值分配给变量(12个字段) r 1.497941 2 3 cbr 210 ------- 2 1.0 3.1 764 828 比如:自动读取trace文件每一行数据,并将各个字段值分配给变量(12个字段) { action=$1; time=$2; from=$3; to=$4; type = $5; pktsize=$6; flow_id=$8; node_1_address=$9; node_2_address=$10; seq_no=$11; packet_id=$12; }

Gawk程序的框架 脚本文件结构: BEGIN{处理前准备语句在此} {处理中语句在此} END{处理后语句在此} BEGIN 和 END模块可省 SeaSon 计算机学院-数据库中心

Gawk程序的框架 BEGIN{…}模块:初始化,通常用来给变量赋初值;如 BEGIN { pktDrops = 0; numPkt=0;} #分号可省略 用来在处理开始前给两个变量赋初始值. END{…}模块:扫尾工作,通常在文本文件读取完以后所作的工作,如 END{ if(number==1000) { print number}; # printf(“number=%d”,number) }

Gawk程序的框架 BEGIN { AgtNum = 0; } { if ($1 == "s" && $5 == "AGT") END{ printf(" Num of AGT pkts: %d \n", AgtNum); 最后保存文agtnum.awk文件 r 1.497941 2 3 cbr 210 ------- 2 1.0 3.1 764 828 SeaSon 计算机学院-数据库中心

awk工具 例:[Loss] 统计CBR从节点n1发出的包总数和丢包总数,计算丢包率; 发包总数: if(from==1 && to==2 && action==“+”) numPkt++; 丢包总数: if(flow_id==2 && action==“d”) pktDrops++; 丢包率:pktDrops / numpkt;

if(from==1 && to==2 && action==“+”) numPkt++; #丢包总数: BEGIN {pktDrops=0;numPkt=0;} { action=$1; time=$2; from=$3; to=$4; type = $5; pktsize=$6; flow_id=$8; node_1_address=$9; node_2_address=$10; seq_no=$11; packet_id=$12; #发包总数: if(from==1 && to==2 && action==“+”) numPkt++; #丢包总数: if(flow_id==2 && action==“d”) pktDrops++; } END{ printf(“loss rate=%.2f\n”, pktDrops/ numPkt);

awk工具 例 [throughput] 统计节点n3处收到的所有包的大小之和,除以所用时间长度。 if(action==“r” && from==2 && to==3) { pkt_byte_sum[i+1]=pkt_byte_sum[i]+pktsize; end_time[i] = time; i++; }

if(action==“r” && from==2 && to==3 &&flow_id==2) { BEGIN {flag=0;i=0;} { action=$1; time=$2; from=$3; to=$4; type = $5; pktsize=$6; flow_id=$8; node_1_address=$9; node_2_address=$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; end_time[i] = time; i++; if(flag==0) { start_time=time; flag=1; } END{ for(j=1;j<i;j++) { th=pkt_byte_sum[j]/(end_time[j]-start_time)*8/1000; printf(“%.2f\t%.2f\n”, end_time[j],th) }

awk工具 例 [delay] 统计每个包的发送时间和接收时间。 发送时间: if ((action == “s”)&&(start_time[packet_id]==0)) start_time[packet_id] = time;   接收时间: if(flow_id==2 && action!=“d”) { if(action==“r”) { end_time[packet_id] = time; }else{ end_time[packet_id]=-1; }

awk工具 例 [delay] 计算延迟: for(packet_id=0;packet_id<=highest_packet_id;packet_id++) { start= start_time[packet_id]; end= end_time[packet_id]; packet_delay=end-start; if(start<end) printf(“%f %f\n”,start,packet_delay); }

if(packet_id>highest_packet_id) highest_packet_id=packet_id; if ((action == “s”)&&(start_time[packet_id]==0)) start_time[packet_id] = time; if(flow_id==2 && 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_delay=end-start; if(start<end) printf(“%f %f\n”,start,packet_delay); BEGIN{ highest_packet_id=0; } { action=$1; time=$2; from=$3; to=$4; type = $5; pktsize=$6; flow_id=$8; node_1_address=$9; node_2_address=$10; seq_no=$11; packet_id=$12;

awk工具 执行 若是要把结果存到档案,可使用导向的方式。 awk –f loss.awk out.tr awk–f throughput.awk out.tr > throughput.tr awk–f delay.awk out.tr > delay.tr

画图工具gnuplot 命令驱动的交互式画图软件 把数据资料和数学函数转换成容易观察的平面或立体图形——》数据分析 从数据文件中读入数据并绘制图形 读取数据文件的前两列, 将第一列的值作为x轴数据,第二列作为y轴数据;

画图工具 gnuplot>plot “throughput.tr” with lines/points/linespoints gnuplot>set title “cbr_throughput” #设置title gnuplot>set xlabel “time” #设置横轴名称 gnuplot>set ylabel “delay”#设置纵轴名称 gnuplot>set grid #设置显示网格 gnuplot>? #显示帮助 gnuplot>help set #显示set的帮助 线/点/点和线都画

画图工具 图形输出到文件: gnuplot>set terminal jpeg #定义输出格式 gnuplot>set output “throughput.jpg” #定义输出文件名称 gnuplot>replot #输出(前面已经运行过plot) 在gnuplot中,输出文件的格式是由terminal来控制的。默认的情况下,都是输出到屏幕,即终端模式为X11。如果想输出到文件,则必须对terminal进行设置。要了解有那些终端类型,可以输入 set terminal后回车,所有支持的终端模式(或文件格式)都列出来了 但是请注意,运行完这条命令后,还仅仅是定义了输出文件的名字,实际上,图还没画到这个文件里去。因此运行这两条命令还只是进行了必须的设置。然后运行如下命令 gnuplot>replot(假如前面已经运行过plot或replot命令的话) 这时,图形就在上面指定的文件中了。 要输出为其它格式,同样要进行这样的设置,比如要输出为jpg格式,则在运行画图命令前先运行如下命令: gnuplot>set terminal jpeg gnuplot>set output ‘a.jpg’

delay

throughput

分析trace文件,要求对延时进行分析,并使用gawk提炼数据,用gnuplot绘图 有三条数据流: DSR     ARP   TCP(如何区分) 发送 代表性的数据行(可选择第9秒开始的) 接收 代表性的数据行

New Trace r -t 23.497055139 -Hs 5 -Hd 5 -Ni 5 -Nx 1000.00 -Ny 400.00 -Nz 0.00 -Ne 6.730575 -Nl AGT -Nw --- [0.01 5 12] -Is 0.0 -Id 5.0 -It cbr -Il 50 -If 0 -Ii 215 -Iv 28 -Pn cbr -Pi 22 -Pf 0 -Po 0 § N: Node Property § I: IP Level Packet Information § H: Next Hop Information § M: MAC Level Packet Information § P: Packet Specific Information Wireless event + IP trace + CBR trace NI: Network trace Level (AGT, RTR, MAC, etc.) Is: Source Address And Port Id: Destination Address And Port Il: Packet Size lt: Packet Type Pi: Sequence Number Hs Hd 逐跳的信息 hop source, hop destination