本文档是对 http://nsnam.isi.edu/nsnam/index.php/NS-2_Trace_Formats > 的翻译。
译注:本文描述的无线格Trace格式已经有些陈旧,现在一般都是用新的无线Trace文件格式。
本文档介绍了 NS2 网络仿真器的多种 Trace 格式。这里的版本是基于 NS2 2.1b9a 的。已经尽了最大的努力来保证文档的正确性,但是需要注意的是这里并不完全,可能还包含有错误。如果你发现有任何的错误或者省略,请修改此页面来解决这个问题。
多种不同的 Trace 文件都含有一个字符或者缩写开始用来表明此行 Trace 的类型,后接着固定或者可变的 Trace 格式。下面的表格列出了固定和可变的 Trace 文件格式的不同:
- 对于固定的 Trace 格式,表格中列出了所有Event表头下触发 Trace 的事件和Abbreviation 表头下触发 Trace 的事件。具体的格式列在了后面的两列中,每种元素的类型和值列在了“类型”和“值”的下面。有些事件有着多种 Trace 格式。
- 对于可变的 Trace 格式,表格中列出了所有Event表头下触发 Trace 的事件和Abbreviation 表头下触发 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 格式
- 新的无线 Trace 格式
- AODV Trace 格式
- DSDV Trace 格式
- DSR Trace 格式
- TORA 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