NS2中trace文件分析

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

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

M 0.0 nn 4 x 500 y 500 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  --- 0 CTS 64 [0 18f840e1 d23f5e16 0] 
s 0.033281645 _1_ MAC  --- 0 UNKN 64 [0 18f840e1 d23f5414 0] 
s 0.033803645 _1_ MAC  --- 10 cbr 600 [0 18f840e1 d23f8a01 0] ------- [1:0 0:0 32 0] [3] 0 0
r 0.038604145 _0_ MAC  --- 10 cbr 532 [0 18f840e1 d23f8a01 0] ------- [1:0 0:0 32 0] [3] 1 0
s 0.038614145 _0_ MAC  --- 0 ACK 48 [0 18f840e1 d23f0000 0] 
r 0.038998645 _1_ MAC  --- 0 ACK 48 [0 18f840e1 d23f0000 0] 
s 0.039308645 _2_ MAC  --- 8 message 100 [0 80e6de89 933f0000 0] ------- [2:255 -1:255 32 0] 
r 0.040108978 _3_ MAC  --- 8 message 32 [0 80e6de89 933f0000 0] ------- [2:255 -1:255 32 0] 
r 0.040109145 _0_ MAC  --- 8 message 32 [0 80e6de89 933f0000 0] ------- [2:255 -1:255 32 0] 
D 0.040244414 _2_ RTR  IFQ 0 cbr 532 [0 0 0 0] ------- [2:0 3:0 32 0] [0] 0 0
s 0.041607590 _1_ MAC  --- 0 RTS 56 [0 18f840e1 d23f6818 0] 
r 0.042056090 _0_ MAC  --- 0 RTS 56 [0 18f840e1 d23f6818 0] 
s 0.042066090 _0_ MAC  --- 0 CTS 64 [0 18f840e1 d23f5e16 0] 
r 0.042578590 _1_ MAC  --- 0 CTS 64 [0 18f840e1 d23f5e16 0]

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

首先

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

     s代表分组的发送事件;

     r代表分组的接收事件;

     d代表分组的丢弃事件;

     f代表分组的转发事件;

第二列是时间的发生时间

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

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

    RTR:路由器Trace;

      AGT:代理Trace;

      MAC:MAC层Trace;

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

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

第六列是分组id

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

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

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

然后有的还有

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

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

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

  分组的TTL值。

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

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

posted @ 2020-11-25 10:44  Mr-xxx  阅读(395)  评论(0编辑  收藏  举报