ns-2与TCP拥塞模拟 之二 模拟输出的封包trace文件格式




ns-2TCP拥塞模拟 之二  模拟输出的封包trace文件格式

脚本中的命令“$ns trace-all $nd”指定在out.tr文件中记录仿真过程中封包传送的所有事件。以下简要介绍out.tr文件中各列的含义,如下给出了一个out.tr文件中可能的7行数据。每一条记录都由12列数据组成,各列数据的含义如表8.1所示。

r 1.658 1 2 cbr 1000 ------- 2 1.0 3.1 193 318

+ 1.658 2 3 cbr 1000 ------- 2 1.0 3.1 193 318

d 1.658 2 3 cbr 1000 ------- 2 1.0 3.1 193 318

+ 1.66 1 2 cbr 1000 ------- 2 1.0 3.1 195 322

- 1.66 1 2 cbr 1000 ------- 2 1.0 3.1 195 322

- 1.660541 2 3 cbr 1000 ------- 2 1.0 3.1 179 279

r 1.661341 2 3 tcp 1040 ------- 1 0.0 3.0 55 272

 

文件out.tr各列数据含义

  

   

   

1

event

事件发生的原因

r:表示被某个节点接收;+:表示进入了队列;-:表示离开队列;d:表示数据包被丢弃

2

time

事件发生的时间

 

3

from_node

事件发生的开始节点

 

4

to_node

事件发生的结束节点

 

5

pkt_type

数据包的类型

 

6

pkt_size

数据包的大小,单位是字节

 

7

flags

标记标注

 

8

fid

数据包属于哪一个数据流

Tcl脚本中定义,如$udp set fid_ 2

9

src_addr

来源端

格式为a.ba代表节点编号,b表示端口号

10

dst_addr

目的端

格式为a.ba代表节点编号,b表示端口号

11

seq_num

数据包的序号

表示的是网络层包的顺序号,需要注意的是,对于UDP应用来说是不需要顺序号的,但是ns-2依然维持这个顺序号是为了方便统计分析

12

pkt_id

数据包的id

 

 

以示例中的第一条记录为例,意思是说有一个编号为318的数据包,对应的数据流id2,包序号为193,长度为1000B,类型为CBR;该包从节点10号端口发出,由节点31号端口接收;在时间1.658s的时候,从节点1进入了节点2的队列中,包被接收。

理解各列数据的含义后,就可以使用awk等工具进一步加工数据了。如果想得到直观的显示,还可以使用gnuplot等工具绘图。例如,经过数据处理后,建立在UDP上的CBR发送的各数据包的传输时间,使用gnuplot可以作出所示的图,以直观显示效果。

ns-2与TCP拥塞模拟 之二 模拟输出的封包trace文件格式_第1张图片

你可能感兴趣的:(tcp,Congestion,拥塞控制,ns-2)