本文档是对 http://nsnam.isi.edu/nsnam/index.php/NS-2_Trace_Formats > 的翻译。
译注:本文描述的无线格Trace格式已经有些陈旧,现在一般都是用新的无线Trace文件格式。
本文档介绍了 NS2 网络仿真器的多种 Trace 格式。这里的版本是基于 NS2 2.1b9a 的。已经尽了最大的努力来保证文档的正确性,但是需要注意的是这里并不完全,可能还包含有错误。如果你发现有任何的错误或者省略,请修改此页面来解决这个问题。
多种不同的 Trace 文件都含有一个字符或者缩写开始用来表明此行 Trace 的类型,后接着固定或者可变的 Trace 格式。下面的表格列出了固定和可变的 Trace 文件格式的不同:
常规的 Trace 格式
这里的信息来自于"The ns Manual " " Trace and Monitoring Support: Trace File Format "一章中。这个格式用于普通的有线操作中。 trace 行将开始于四个可能字符中的一个。
表中列出的更多的无线记录信息没有在Abbreviation 栏中,因为信息直接加在了普通无线 trace 格式中。
Event事件 |
Abbreviation简写 |
Type类型 |
Value值 |
Normal Event 常规事件 |
r: Receive接收 d: Drop丢弃 e: Error错误 +: Enqueue入队 -: Dequeue出队 |
%g %d %d %s %d %s %d %d.%d %d.%d %d %d |
|
|
|
double |
Time 时间 |
|
|
int |
Source Node 源节点 |
|
|
int |
Destination Node 目的节点 |
|
|
string |
Packet Name 报文名 |
|
|
int |
Packet Size 报文大小 |
|
|
string |
Flags 标志位 |
|
|
int |
Flow ID 流标记 ID |
|
|
int |
Source Address 源地址 |
|
|
int |
Source Port 源端口 |
|
|
int |
Destination Address 目的地址 |
|
|
int |
Destination Port 目的端口 |
|
|
int |
Sequence Number 序列号 |
|
|
int |
Unique Packet ID 唯一报文标志 ID |
标志位具体如下表(如果标志没有设置的话将使用“ - ”)。每行从左到右都占一位。可从 ns/trace/trace.cc 中看到。
Value值 |
Meaning含义 |
C |
ECN-echo |
P |
pri_ (一般认为没用) |
- |
|
A |
Congestion Action |
E |
Congestion Experienced (CE) |
F |
Fast Start 快速启动 |
N |
ECN-capable |
SCTP-only |
|
根据报文的不同类型, trace 文件可能记录更多的信息:
Event事件 |
Type类型 |
Value值 |
TCP Trace |
%d 0x%x %d %d |
|
|
int |
Ack Number |
|
hexadecimal |
Flags 标志位 |
|
int |
Header Length 头长 |
|
int |
Socket Address Length Socket 地址长度 |
卫星Satellite Trace |
%.2f %.2f %.2f %.2f |
|
|
double |
Source Latitude 源纬度 |
|
double |
Source Longitude 源经度 |
|
double |
Destination Latitude 目的纬度 |
|
double |
Destination Longitude 目的经度 |
无线 Trace 格式
本节中将包含多种无线的 trace 格式:
旧的无线 trace 格式
这里的信息来自于"The ns Manual " " Mobile Networking in ns: Trace Support "的章节和"trace/cmu-trace.cc"文件。无线的 trace 文件开始于四个字符中的一个,随后是一种或者两种不同的格式,根据是否记录移动节点的 X 和 Y 坐标而不同。
Event 事件 |
Abbreviation 缩写 |
Type 类型 |
Value 值 |
Wireless Event 无线事件 |
s: Send发送 r: Receive接收 d: Drop丢弃 f: Forward转发 |
%.9f %d (%6.2f %6.2f) %3s %4s %d %s %d [%x %x %x %x] |
|
|
|
%.9f _%d_ %3s %4s %d %s %d [%x %x %x %x] |
|
|
|
double |
Time 时间 |
|
|
int |
Node ID 节点 ID |
|
|
double |
X Coordinate (If Logging Position) X 坐标 |
|
|
double |
Y Coordinate (If Logging Position) Y 坐标 |
|
|
string |
Trace Name Trace 名称 |
|
|
string |
Reason 原因 |
|
|
int |
Event Identifier 事件 ID |
|
|
string |
Packet Type 报文类型 |
|
|
int |
Packet Size 报文大小 |
|
|
hexadecimal |
Time To Send Data |
|
|
hexadecimal |
目的 MAC 地址 |
|
|
hexadecimal |
源 MAC 地址 |
|
|
hexadecimal |
类型 (ARP, IP) |
一些老版本的 NS2 在中括号中有五个十六进制值。其中第一个十六进制值是 MAC 帧控制信息,剩下的四个和上面描述的一样。
根据报文的不同类型, trace 文件可能记录更多的信息:
Event事件 |
Type类型 |
Value值 |
ARP Trace |
------- [%s %d/%d %d/%d] |
|
|
string |
请求或者响应 |
|
int |
源 MAC 地址 |
|
int |
源地址 |
|
int |
目的 MAC 地址 |
|
int |
目的地址 |
IP Trace |
------- [%d:%d %d:%d %d %d] |
|
|
int |
源 IP 地址 |
|
int |
源端口 |
|
int |
目的 IP 地址 |
|
int |
目的端口 |
|
int |
TTL |
|
int |
下一跳节点(如果没有为 0 ) |
DSR Trace |
%d [%d %d] [%d %d %d %d->%d] [%d %d %d %d- |
|
亦歌亦行 @ http://searun.iteye.com