out.tr文件浅析

来源:互联网 发布:淘宝店代销怎么发货 编辑:程序博客网 时间:2024/06/06 08:23

原文地址:http://blog.sina.com.cn/s/blog_6704f18f01015hkj.html

在ns2中进行了一个ns模拟后会产生一个跟踪文件out.tr。

生成的out.tr文件形式如下:
+ 0.1 1 2 cbr 1000 ------- 2 1.0 3.1 0 0
- 0.1 1 2 cbr 1000 ------- 2 1.0 3.1 0 0
+ 0.108 1 2 cbr 1000 ------- 2 1.0 3.1 1 1
- 0.108 1 2 cbr 1000 ------- 2 1.0 3.1 1 1
r 0.114 1 2 cbr 1000 ------- 2 1.0 3.1 0 0
+ 0.114 2 3 cbr 1000 ------- 2 1.0 3.1 0 0
- 0.114 2 3 cbr 1000 ------- 2 1.0 3.1 0 0
+ 0.116 1 2 cbr 1000 ------- 2 1.0 3.1 2 2
- 0.116 1 2 cbr 1000 ------- 2 1.0 3.1 2 2
r 0.122 1 2 cbr 1000 ------- 2 1.0 3.1 1 1
+ 0.122 2 3 cbr 1000 ------- 2 1.0 3.1 1 1
- 0.122 2 3 cbr 1000 ------- 2 1.0 3.1 1 1
+ 0.124 1 2 cbr 1000 ------- 2 1.0 3.1 3 3
- 0.124 1 2 cbr 1000 ------- 2 1.0 3.1 3 3
r 0.13 1 2 cbr 1000 ------- 2 1.0 3.1 2 2
相对应的12个部分分别为:
event time from_node to_node pkt_type pkt_size flags fid src_addr dst_addr seq_num pkt_id


每一笔记录的开始字段都是封包事件发生的原因:r表示这个封包被某个节点接受,+表示进入队列,-表示离开队列,d表示封包被队列丢弃;
第二个字段表示事件发生的时间;
第三个字段表示事件发生的开始节点:from node;
第四个字段表示事件发生的结束节点:to node;
第五个字段表示封包的类型;
第六个字段表示封包的大小,单位是byte;
第七个字段表示封包的标记标注;
第八个字段表示封包属于哪一个数据流。即在TCL脚本中所定义的类似$udp set fid_ 2;
第九、十两个字段表示封包的来源端和目的端,格式为a.b,a代表节点编号,吧表示端口号;
第十一字段表示封包的序号;第十一个字段表示的是网络层包的顺序号,需要注意的是,对于UDP应用来说是不需要顺序号的,但是对于NS2依然保持这个顺序号是为了方便分析。
第十二字段表示封包的id。
一般进行了ns模拟之后就会产生out.tr,它是你在哪层文件夹进行ns仿真就会在哪产生这个跟踪文件。
在tcl文件中要有如下代码:
set nf1 [open out.tr w]
$ns trace-all $nf1
如果想产生nam的跟踪文件则同样,如下:
set nf2 [open out.nam w]
$ns namtrace-all $nf2
这个out.tr很重要,但是它因为数据太多很不方便分析。于是我们有了nam等分析工具。nam等都是在基于out.tr上得出的分析。