Trace Analysis(1) REPORTER:wu sanbin 2010. 5. 13
Ns-2 1 Ns-2常用工具以及结果分析
Ns-2 summary 1.1.NS- 2 Trace Formats 1.2. Gawk summary 1.3. Gnuplot 1.4. nam show 1.5. AODVanalysis AND frcmp analysis
Ns-2 NS-2 Trace Formats Normal trace formats Wireless trace formats 1 NS-2 Trace Formats Normal trace formats Wireless trace formats Old wireless trace formats New wireless trace formats
Ns-2 Trace 简介 NS2中trace的原理其实很简单,就是有包经过的时 候发到trace模块中一份,或者干脆从trace穿过,然后 1 Trace 简介 NS2中trace的原理其实很简单,就是有包经过的时 候发到trace模块中一份,或者干脆从trace穿过,然后 trace读取包的信息,用sprintf打印包的详细信息。 Trace过程、函数均在: ~ns/trace.{cc,h}、~ns/tcl/lib/ns-trace.tcl、~ns.queue- monitor {cc,h}、~ns/tcl/lib/ns-link.tcl、~ns/packet.h 、~ns.flowmon.cc,以及~ns/classifier-hash.cc中找到
Ns-2 Trace 简介 1 多种不同的 Trace 文件都含有一个字符或者缩写开始用来表明此行 对于固定的 Trace 格式,表格中列出了所有Event表头下触发 Tra ce 的事件和Abbreviation 表头下触发 Trace 的事件.具体的格式列在 了后面的两列中,每种元素的类型和值列在了“类型”和“值”的下面.有 些事件有着多种 Trace 格式。 对于可变的 Trace 格式,表格中列出了所有Event表头下触发 Trace 的事件和Abbreviation 表头下触发 Trace 的事件.最后的三列中列出 了所有可能的标志、类型和其值,并位于相应的表头下面。
Ns-2 1 NS2中trace的原理
Ns-2 Trace 简介 Ns-2如何来收集数据? 模拟实验中通常收集方法、跟踪和输出数据: 跟踪数据 模拟过程中将数据直接输出 1 Trace 简介 Ns-2如何来收集数据? 模拟实验中通常收集方法、跟踪和输出数据: 跟踪数据 模拟过程中将数据直接输出 存放到一个后期处理的文件中备以分析
Ns-2 Normal trace formats 1 This information comes from The ns Manual "Trace andMonitoring Support: Trace File Format" chapter. From node to pkt type size src addr Dst Seq num Pkt id flags Event time fid
Ns-2 Normal trace formats 1 + 0.1 1 2 cbr 1000 …… 2 1.0 3.1 0 0 r 0.102 1 2 cbr 1000 …… 2 1.0 3.1 0 0 事件发生的时间 封包的标记标注 事件发生的地点 封包属于哪一个数据流 封包的类型 封包的大小 封包的来源端和目的端 封包的序列号 封包的ID号 每一笔记录的开始都是封包事件发生的原因,若是”r”则表示 封包被某个节点所接收;若是”+”表示进入队列
Ns-2 1 + 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 ………………………………………………
Ns-2 1 Depending on the packet type, the trace may log additional information:
Ns-2 This section covers the various wireless trace format: 1 Wireless Trace Formats This section covers the various wireless trace format: Old Wireless Trace Formats This information comes from The ns Manual "Mobile Networking in ns: Trace Support" chapter, and the "trace/cmu-trace.cc" file. two different trace formats, depending on whether the trace logs the X and Y coordinates of the mobile node.
Ns-2 1 Old Wireless Trace Formats
Ns-2 Old Wireless Trace Formats 1 分析:表示由某一节点接受到的TCP数据分组的ID是6,分组的UID r 160.093884945 _6_ RTR --- 5 gpsr 1492 [a2 4 6 800] ----[65536:016777984:0 31 16777984] 分析:表示由某一节点接受到的TCP数据分组的ID是6,分组的UID 是5,同时该分组携有一个大小为1492的cmn hdr。mac资料展示了 一个IP分组,这个正在接受的节点的mac ID 为4。发送节点的mac ID 是6,同时,在无线信道上发送这个数据分组的期望时间是a2。 另外,还有关于IP源和目的地址的IP trace信息。源节点地址(使 用一个3层地址8/8/8)在端口0处被译为0.1.0的地址串,同理,目 的地址在端口0的地址串是1.0.3。TTL值是31,并且目的地是从源节 点的一跳节点。
Ns-2 1 Old Wireless Trace Formats 看一个实例:gpsr trace
Ns-2 Old Wireless Trace Formats (1) 事件类型: action s:分组的发送事件; r:分组的接收事件; 1 2 3 4 5 6 7 8 [9/10/11/12] 13 [ 14 - 15 16 17] s 3.000000000 _0_ RTR --- 0 gpsr 48 [0 0 0 0] ------- [0:255 -1:255 30 0] s 10.00000000 _0_ AGT --- 2 tcp 40 [0 0 0 0] ------- [ 0:0 1:0 32 0] r 10.00000000 _0_ RTR --- 2 tcp 40 [0 0 0 0] ------- [0:0 1:0 32 0] s 12.50000000 _0_ RTR --- 0 gpsr 48 [0 0 0 0] ------- [0:255 -1:255 30 0] (1) 事件类型: action s:分组的发送事件; r:分组的接收事件; d:分组的丢弃事件; f:分组的转发事件; m:移动节点 (2) 事件产生的时间。time
Ns-2 Old Wireless Trace Formats (3)处理该事件的节点ID。 node_Id 1 Old Wireless Trace Formats 1 2 3 4 5 6 7 8 [9/10/11/12] 13 [ 14 - 15 16 17] s 3.000000000 _0_ RTR --- 0 gpsr 48 [0 0 0 0] ------- [0:255 -1:255 30 0] s 10.00000000 _0_ AGT --- 2 tcp 40 [0 0 0 0] ------- [ 0:0 1:0 32 0] r 10.00000000 _0_ RTR --- 2 tcp 40 [0 0 0 0] ------- [0:0 1:0 32 0] s 12.50000000 _0_ RTR --- 0 gpsr 48 [0 0 0 0] ------- [0:255 -1:255 30 0] (3)处理该事件的节点ID。 node_Id (4)Trace种类: trace_layers RTR:路由器Trace; AGT:代理Trace; MAC:MAC层Trace; (5)分隔符。flags1 如果发生丢包,出现ARP (6)分组ID。packet_Id (7)分组类型。packet_type
Ns-2 Old Wireless Trace Formats 1 (8)分组大小(字节)。packet_Size 1 2 3 4 5 6 7 8 [9/10/11/12] 13 [ 14 - 15 16 17] s 3.000000000 _0_ RTR --- 0 gpsr 48 [0 0 0 0] ------- [0:255 -1:255 30 0] s 10.00000000 _0_ AGT --- 2 tcp 40 [0 0 0 0] ------- [ 0:0 1:0 32 0] r 10.00000000 _0_ RTR --- 2 tcp 40 [0 0 0 0] ------- [0:0 1:0 32 0] s 12.50000000 _0_ RTR --- 0 gpsr 48 [0 0 0 0] ------- [0:255 -1:255 30 0] (8)分组大小(字节)。packet_Size [9:12]有关MAC层的详细信息 (9)发送节点在无线信道上发送该分组所期望的时间值, 用16进制表示。 Expect_Time (10)接收节点的MAC地址。 mac_Dst (11)发送节点的MAC地址。mac_Source (12)MAC层封装的分组类型。 0x800:IP分组,0x806: ARP分组 mac_packet_type
Ns-2 Old Wireless Trace Formats 1 (13):分隔符 flags2 [14:17]详细信息 1 2 3 4 5 6 7 8 [9/10/11/12] 13 [ 14 - 15 16 17] s 3.000000000 _0_ RTR --- 0 gpsr 48 [0 0 0 0] ------- [0:255 -1:255 30 0] s 10.00000000 _0_ AGT --- 2 tcp 40 [0 0 0 0] ------- [ 0:0 1:0 32 0] r 10.00000000 _0_ RTR --- 2 tcp 40 [0 0 0 0] ------- [0:0 1:0 32 0] s 12.50000000 _0_ RTR --- 0 gpsr 48 [0 0 0 0] ------- [0:255 -1:255 30 0] (13):分隔符 flags2 [14:17]详细信息 (14)分组发送的源IP地址。节点号.端口号 包括: 源节点IP : .端口号 source_Node_Id (15)分组发送的目的IP地址。节点号.端口号 包括: 目的地IP (-1代表广播) : 端口号 dst_Node_Id (16)分组的TTL值。ip header ttl ttl (17)该节点的下跳节点。ip of next hop (0 means node 0 or broadcast)] hop
Ns-2 Old Wireless Trace Formats 1 action=$1; time=$2; node_Id=$3; trace_layers=$4; flags1=$5; packet_Id=$6; packet_type=$7; packet_Size=$8; Expect_Time=$9; mac_Dst=$10; #发送节点的MAC地址 mac_Source=$11; #接收节点的MAC地址 mac_packet_type=$12 #MAC层封装的分组类型 0x800:IP分组, 0x806:ARP分组 flags2=$13; source_Node_Id=$14; #分组发送的源IP地址。节点号.端口号 dst_Node_Id=$15; #分组发送的目的IP地址。节点号.端口号 ttl=$16; #分组的TTL值 hop=$17; #源节点到目的节点的跳数
Ns-2 Old Wireless Trace Formats 1 s 76.000000000 _98_ AGT --- 1812 cbr 32 [0 0 0 0] ------- [98:0 0:0 32 0] as Application 0 (port number) on node 98 sent a CBR packet whose ID is 1812 and size is 32 bytes, at time 76.0 second, to application 0 on node 0 with TTL is 32 hops. The next hop is not decided yet. r 0.010176954 _9_ RTR --- 1 gpsr 29 [0 ffffffff 8 800] ------- [8:255 -1:255 32 0] in the same way, as The routing agent on node 9 received a GPSR broad- cast (mac address 0xff, and ip address is -1, either of them means broadcast) routing packet whose ID is 1 and size is 29 bytes, at time 0.010176954 seco- nd, from node 8 (both mac and ip addresses are 8), port 255 (routing agent).
Ns-2 Old Wireless Trace Formats 对与无线trace 还有以下几种常见格式: 1 Old Wireless Trace Formats 对与无线trace 还有以下几种常见格式: M 0.00000 1 (59.86, 62.55, 0.00), (0.00, 0.00), 0.00 表示1号节点在0.00000s时候以速度0.00m/s,由初始位置 (59.86, 62.55, 0.00)移动到(0.00, 0.00,0.00)的位置 r 40.012692866 _10_ RTR --- 63 cbr 81 [13a a 0 800] ------- [0:0 49:0 31 10] [0] 1 0 动作时间节点被trace的对象 --- 全局packet标志报文名称 报文size [mac传送时间 源mac地址 目标mac地址 mac类型] ------ [源ip:源端口 目标ip:目标端口 ttl 下一跳ip地址] [rtp报文编号] 这个报文已被转发的次数报文最优的转发次数
Ns-2 New Wireless Trace Formats 1 This information comes from The ns Manual "Mobile Networking in ns: Revised format for wireless traces" chapter, and the "trace/cmu-trace.cc" file. 在融合无线跟踪中,使用cmu-trace对象,使用NS2跟踪,一个新的改进的跟踪方法已经提出,这个改进的跟踪方法支持对原先跟踪的方法向后兼容,并且可以使用下面的命令: $ ns use-newtrace 这个命令可在通过用trace命令$ ns trace-all<trace-fd>之前调用
Ns-2 1
Ns-2 s -t 0.267662078 -Hs 0 -Hd -1 -Ni 0 -Nx 5.00 -Ny 2.00 –Nz 0.00 -Ne -1.000000 -Nl RTR -Nw --- -Ma 0 -Md 0 -Ms 0 –Mt 0 -Is 0.255 -Id -1.255 -It message -Il 32 -If 0 -Ii 0 -Iv 32
Ns-2 主要参考文献 1 ns-学习 trace 分析 AODV trace文件字段意义及分析脚本_m_xiangshan的空间_百度空间 AWK.rar finalthroughput.awk NS2 Trace文件格式解析 - 亦歌亦行 - JavaEye技术网站 NS2 的常用网站 - keranvy学习空间 - CSDN博客 NS版块可下载资源综合(updated 2007.12.12) - NS - 网络仿真软件 - 百思论坛 some-ns2-trace-awk ns2 the analysis of the script for the network simulation, throug hput, del L 如何从trace文件分析网络性能-传输延迟(delay)、丢包率(drop)、延时抖动 (Jitter)和网络的吞吐量 如何在aodv.cc中获取数据包的大小和丢包率? - NS - 网络仿真软件 - 百思论坛 无线网络模拟 trace 旧格式_月来阁_百度空间 awk 问答 - shell编程 - zghover
谢谢