ns中模拟出来的时间最终会以trace文件的形式告诉我们,虽然说一般都是用awk等工具分析trace文件,但是了解trace文件的格式也是必不可少的。下面就介绍一下无线网络模拟中trace文件的格式。

trace文件的最开始时一段形如

M 0.0 nn  x  y  rp DSDV
M 0.0 sc cp seed 0.0
M 0.0 prop Propagation/TwoRayGround ant Antenna/OmniAntenna

这段代码主要是一些环境介绍性性的文字。通过查阅官方手册我自己理解,大概猜了一下

首先的那个字母有五种选择

  • N: Node Property
  • I: IP Level Packet Information
  • H: Next Hop Information
  • M: MAC Level Packet Information
  • P: Packet Specific Information

代表的是trace文件所描述信息的类型,然后跟的就是一些tcl中的配置信息,像是范围什么之类的。

  再给出一段我们要重点分析的例子:

动作 时间 节点 层次 ---分组UID 分组类型 分组大小 【mac层信息】 ----【ip层信息】
r 0.033271645 _1_ MAC --- CTS [ 18f840e1 d23f5e16 ]
s 0.033281645 _1_ MAC --- UNKN [ 18f840e1 d23f5414 ]
s 0.033803645 _1_ MAC --- cbr [ 18f840e1 d23f8a01 ] ------- [: : ] []
r 0.038604145 _0_ MAC --- cbr [ 18f840e1 d23f8a01 ] ------- [: : ] []
s 0.038614145 _0_ MAC --- ACK [ 18f840e1 d23f0000 ]
r 0.038998645 _1_ MAC --- ACK [ 18f840e1 d23f0000 ]
s 0.039308645 _2_ MAC --- message [ 80e6de89 933f0000 ] ------- [: -: ]
r 0.040108978 _3_ MAC --- message [ 80e6de89 933f0000 ] ------- [: -: ]
r 0.040109145 _0_ MAC --- message [ 80e6de89 933f0000 ] ------- [: -: ]
D 0.040244414 _2_ RTR IFQ cbr [ ] ------- [: : ] []
s 0.041607590 _1_ MAC --- RTS [ 18f840e1 d23f6818 ]
r 0.042056090 _0_ MAC --- RTS [ 18f840e1 d23f6818 ]
s 0.042066090 _0_ MAC --- CTS [ 18f840e1 d23f5e16 ]
r 0.042578590 _1_ MAC --- CTS [ 18f840e1 d23f5e16 ]

可以看出文件的开始形式基本相同

首先

第一列代表的是事件类型,其中:

s代表分组的发送事件;

r代表分组的接收事件;

d代表分组的丢弃事件;

f代表分组的转发事件;

第二列是时间的发生时间

第三列(形如“——1——”)代表节点编号

第四列是trace种类,种类有:

    RTR:路由器Trace;

  AGT:代理Trace;

  MAC:MAC层Trace;

接下来的部分略有不同。首先我们看事件类型为发送和接收的:

第五列(形如“---”)是分隔符

第六列是分组id

第七列是分组类型(像是RTS、CTS、ACK等)

第八列是分组大小(单位字节)

第九列(接下来那个中括号括的)表示mac层的详细信息

然后有的还有

第十列(中括号中的四个值)分别表示:

  分组发送的源IP地址:节点号.端口号

  分组发送的目的IP地址:节点号.端口号

  分组的TTL值。

  源节点到目的节点的跳数。

这是些比较通用的字段,其他的部分主要就是和自己的定义有一定关系了。

NS2中trace文件分析的更多相关文章

  1. [Android Pro] 通过Android trace文件分析死锁ANR

    转载自: http://blog.csdn.net/oujunli/article/details/9102101#reply 对于从事Android开发的人来说,遇到ANR(Application ...

  2. 转【Oracle】一款非常好用的trace文件分析工具

    [Oracle]一款非常好用的trace文件分析工具之一   北在南方 2016-04-14 11:23:58 浏览547 评论0 摘要: 介绍一款非常好用的10046分析工具--trca(Trace ...

  3. Omapl138中AIS文件分析(参照Using the OMAP-L138 Bootloader)(转)

    Omapl138中AIS文件分析(参照Using the OMAP-L138 Bootloader) 转载链接:https://blog.csdn.net/qq_40788950/article/de ...

  4. 使用trace文件分析ANR

    2017年02月07日 12:32:45 不死鸟JGC 阅读数 13886更多 分类专栏: Android   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链 ...

  5. Oracle 10046 trace文件分析

    生成10046 trace文件: SQL> create table t10046 as select * from dba_objects; Table created. SQL> se ...

  6. anr trace文件分析

    测试给的trace文件好几万行,怎么看? 1.搜索 你的包名,看它报错误报在你代码的哪里 2.在你代码里面分析 还有,synchronized 就是用来防止多线程调用的,没有那么神奇.

  7. Caffe源码中common文件分析

    Caffe源码(caffe version:09868ac , date: 2015.08.15)中的一些重要头文件如caffe.hpp.blob.hpp等或者外部调用Caffe库使用时,一般都会in ...

  8. JVM中 Class 文件分析

    Java 虚拟机中定义的 Class 文件格式.每一个 Class 文件都对应着唯一一个类 或接口的定义信息,但是相对地,类或接口并不一定都得定义在文件里(譬如类或接口也可以通过 类加载器直接生成). ...

  9. Maven项目中pom文件分析

    pom英文全称: project object model 1.概述 pom.xml文件描述了maven项目的基本信息,比如groupId,artifactId,version等.也可以对maven项 ...

随机推荐

  1. 开始做POI啦...

    库 为了效率搞了这么一个库: 现在版本号1.14(一月十四日更新版本囧..) http://pan.baidu.com/s/1c0SoGfu [source] http://pan.baidu.com ...

  2. sed使用的并不是完全的正则表达式

    经过实验发现,命令sed 's/pattern/replacement/' file中,pattern使用的并不是完全的正则表达式,而如果想使用正则表达式,需要使用sed命令的 -r 选项: sed ...

  3. Redis Sentinel机制与用法(一)

    Sentinel spring 集群配置: 概述 Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕 ...

  4. centos7.0 安装LNMP运行环境

    LNMP作为php流行的运行环境,而最近需要搭建一个内部的php论坛.记录下LNMP的安装: 1.安装mysql 请参考:centos7 安装mysql5.7.11注意事项 2.安装php yum i ...

  5. codecademy-command line_filesystem

    $:shell prompt (命令提示符) In the terminal, first you see $. This is called a shell prompt. It appears w ...

  6. IOS lib(.a)库冲突解决办法

    在引入第三方lib(.a)库时,经常会由于第三方lib库中又引入同你现有工程相同的开源代码而造成.o冲突,最近在集成汉王名片识别时发生ASIHttp的.o冲突.我想说的是像这种开源的使用率很高的源代码 ...

  7. Oracle备份之RMAN

    1.备份:物理备份时文件层次的备份,逻辑备份时数据层次的备份,物理备份为主,逻辑备份作为补充.物理备份分为用户管理备份和RMAN备份,前者使用SQL命令和OS的cp命令进行文件备份,后者使用RMAN工 ...

  8. MySQL key_len 大小的计算

    背景: 当用Explain查看SQL的执行计划时,里面有列显示了 key_len 的值,根据这个值可以判断索引的长度,在组合索引里面可以更清楚的了解到了哪部分字段使用到了索引. 环境: CREATE ...

  9. js 一搬问题汇总

    --有时无法进行js调试,在浏览器中设置启用脚本调试就可以了

  10. codeforces 581C. Developing Skills 解题报告

    题目链接:http://codeforces.com/problemset/problem/581/C 题目意思:给出 n 个数:a1, a2, ..., an (0 ≤ ai ≤ 100).给出值 ...