目前,无线模拟的Trace支持使用cmu-trace对象,该对象有三种类型,分别为:CMUTrace/Drop、CMUTrace/Recv和CMUTrace/Send。在无线模拟时,分别用来记录代理、路由器、MAC层或接口队列产生的丢失、接收和发送分组的事件信息。
每条记录有20栏。
1 2 3 4 5-6 7 8 9 10 11 12 13 14-16 17-20
s 10.000000000 _0_ AGT --- 0 tcp 40 [0 0 0 0] ------- [0:0 2:0 32 0] [0 0] 0 0
r 10.000000000 _0_ RTR --- 0 tcp 40 [0 0 0 0] ------- [0:0 2:0 32 0] [0 0] 0 0
s 10.000000000 _0_ RTR --- 0 AODV 48 [0 0 0 0] ------- [0:255 -1:255 30 0] [0x2 1 1 [2 0] [0 4]] (REQUEST)
r 10.000988384 _4_ RTR --- 0 AODV 48 [0 ffffffff 0 800] ------- [0:255 -1:255 30 0] [0x2 1 1 [2 0] [0 4]] (REQUEST)
蓝色的部分是对这个无线Trace的标注,每条记录共有20栏,下面对各栏表示的意义进行说明:
(1)事件类型:
s:分组的发送事件;
r:分组的接收事件;
d:分组的丢弃事件;
f:分组的转发事件;
(2)事件产生的时间。
(3)处理该事件的节点ID。
(4)Trace种类:
RTR:路由器Trace;
AGT:代理Trace;
MAC:MAC层Trace;
(5:6)分隔符。
(7)分组ID。
(8)分组类型。
(9)分组大小(字节)。
[10:13]有关MAC层的详细信息
(10)发送节点在无线信道上发送该分组所期望的时间值,用16进制表示。
(11)接收节点的MAC地址。
(12)发送节点的MAC地址。
(13)MAC层封装的分组类型。 0x800:IP分组,0x806:ARP分组
(14:16)分隔符。
(17)分组发送的源IP地址。节点号.端口号
(18)分组发送的目的IP地址。节点号.端口号
(19)分组的TTL值。
(20)源节点到目的节点的跳数
NS会根据不同的协议,在原有记录后附加一些信息,如AODV协议会附加的信息为:
AODV Trace | [0x%x %d %d [%d %d] [%d %d]] (REQUEST) | |
hexadecimal | Type | |
int | Hop Count | |
int | Broadcast ID | |
int | Destination | |
int | Destination Sequence Number | |
int | Source | |
int | Source Sequence Number | |
[0x%x %d [%d %d] %f] (%s) | ||
hexadecimal | Type | |
int | Hop Count | |
int | Destination | |
int | Destination Sequence Number | |
double | Lifetime | |
string | Operation (REPLY, ERROR, HELLO) |
在使用使用命令 $ns_ trace-all
下面是新格式的例子:
s -t 20.051991092 -Hs 4 -Hd -2 -Ni 4 -Nx 430.85 -Ny 343.67 -Nz 0.00 -Ne -1.000000 -Nl AGT -Nw --- -Ma 0 -Md 0 -Ms 0 -Mt 0 -Is 4.2 -Id 6.0 -It cbr -Il 512 -If 0 -Ii 0 -Iv 32 -Pn cbr -Pi 0 -Pf 0 -Po 2
r -t 20.051991092 -Hs 4 -Hd -2 -Ni 4 -Nx 430.85 -Ny 343.67 -Nz 0.00 -Ne -1.000000 -Nl RTR -Nw --- -Ma 0 -Md 0 -Ms 0 -Mt 0 -Is 4.2 -Id 6.0 -It cbr -Il 512 -If 0 -Ii 0 -Iv 32 -Pn cbr -Pi 0 -Pf 0 -Po 2
s -t 20.051991092 -Hs 4 -Hd -2 -Ni 4 -Nx 430.85 -Ny 343.67 -Nz 0.00 -Ne -1.000000 -Nl RTR -Nw --- -Ma 0 -Md 0 -Ms 0 -Mt 0 -Is 4.255 -Id -1.255 -It AODV -Il 48 -If 0 -Ii 0 -Iv 30 -P aodv -Pt 0x2 -Ph 1 -Pb 1 -Pd 6 -Pds 0 -Ps 4 -Pss 4 -Pc REQUEST
Event | Abbreviation | Flag | Type | Value |
---|---|---|---|---|
Wireless Event | s: Send r: Receive d: Drop f: Forward |
-t | double | Time (* For Global Setting) |
-Ni | int | Node ID | ||
-Nx | double | Node X Coordinate | ||
-Ny | double | Node Y Coordinate | ||
-Nz | double | Node Z Coordinate | ||
-Ne | double | Node Energy Level | ||
-Nl | string | Network trace Level (AGT, RTR, MAC, etc.) | ||
-Nw | string | Drop Reason | ||
-Hs | int | Hop source node ID | ||
-Hd | int | Hop destination Node ID, -1, -2 | ||
-Ma | hexadecimal | Duration | ||
-Ms | hexadecimal | Source Ethernet Address | ||
-Md | hexadecimal | Destination Ethernet Address | ||
-Mt | hexadecimal | Ethernet Type | ||
-P | string | Packet Type (arp, dsr, imep, tora, etc.) | ||
-Pn | string | Packet Type (cbr, tcp) |
AODV Trace | -Pt | hexadecimal | Type |
-Ph | int | Hop Count | |
-Pb | int | Broadcast ID | |
-Pd | int | Destination | |
-Pds | int | Destination Sequence Number | |
-Ps | int | Source | |
-Pss | int | Source Sequence Number | |
-Pl | double | Lifetime | |
-Pc | string | Operation (REQUEST, REPLY, ERROR, HELLO) |
在无线Trace文件中常可以看到以M/N开头的记录,用于记录节点的运动和当前的能量:
Event | Abbreviation | Type | Value |
---|---|---|---|
Mobile Node Movement | M | %.5f %d (%.2f, %.2f, %.2f), (%.2f, %.2f), %.2f | |
double | Time | ||
int | Address (Node ID?) | ||
double | X Coordinate | ||
double | Y Coordinate | ||
double | Z Coordinate | ||
double | Destination X Coordinate | ||
double | Destination Y Coordinate | ||
double | Movement Speed | ||
Mobile Node Energy | N | -t %f -n %d -e %f | |
double | Time | ||
int | Address (Node ID?) | ||
double | Energy |
<1>分组投递率:应用层信宿接收到分组数与信源发送的分组数之比,反映了网络传输的可靠性,投递率越高,可靠性越大.
Packet Delivery Fraction = 目的节点收到的数据包的个数/源节点发送的数据包的个数.
<2>端到端的平均时延:批一个数据分组从源节点的IP层到目的节点的IP层所需要的平均时间.包括路由发现时延/队列中的等待时延/传输时延/MAC层重传时延,反映了路由的有效性.
Average End-End Delay = sum(接收到数据包的时间-发送包的时间)/发数据包的个数
<3>归一个的路由开销:每发送一个数据分组所需要的路由控制分组数.使用归一化路由开销即路由分组数更能说明协议的开销.
Normalized rooting load = 用于路由发现和路由维护控制包的个数/接收到的数据包的个数
<4>路由发现频率:每秒发起路由发现的次数.
Route discovery frequency = 路由发现次数/仿真时间
无线Trace的格式参考,以下链接:
http://nsnam.isi.edu/nsnam/index.php/NS-2_Trace_Formats#Old_Wireless_Trace_Formats
ref--http://blog.csdn.net/pengtwelve/article/details/6851789