2012-07-02 151 views
2

enter image description here NS 2.29中的senario有5个节点,每个节点有2个接口,期望节点0和节点4,节点0要发送数据包给节点4.我使用的协议是AODV和节点类型是无线使用AWK计算NS2中的吞吐量

我想计算

接收数据包/发送数据包

也吞吐量不同的模拟时间,我想用AWK语言所做的一切。

我不知道如何共享输出文件undrestand我说什么。

输出文件:

s -t 0.100000000 -Hs 0 -Hd -2 -Ni 0 -Nx 0.00 -Ny 500.00 -Nz 0.00 -Ne -1.000000 -Nl AGT -Nw --- -Ma 0 -Md 0 -Ms 0 -Mt 0 -Is 0.0 -Id 4.0 -It cbr -Il 1000 -If 1 -Ii 0 -Iv 32 -Pn cbr -Pi 0 -Pf 0 -Po 0 

r -t 0.100000000 -Hs 0 -Hd -2 -Ni 0 -Nx 0.00 -Ny 500.00 -Nz 0.00 -Ne -1.000000 -Nl RTR -Nw --- -Ma 0 -Md 0 -Ms 0 -Mt 0 -Is 0.0 -Id 4.0 -It cbr -Il 1000 -If 1 -Ii 0 -Iv 32 -Pn cbr -Pi 0 -Pf 0 -Po 0 

s 0.100000000 _0_ RTR --- 0 AODV 48 [0 0 0 0] ------- [0:255 -1:255 30 0] [0x2 1 1 [4 0] [0 4]] (REQUEST) 

s -t 0.100295000 -Hs 0 -Hd -2 -Ni 0 -Nx 0.00 -Ny 500.00 -Nz 0.00 -Ne -1.000000 -Nl MAC -Nw --- -Ma 0 -Md ffffffff -Ms 0 -Mt 800 -Is 0.255 -Id -1.255 -It AODV -Il 100 -If 0 -Ii 0 -Iv 30 -P aodv -Pt 0x2 -Ph 1 -Pb 1 -Pd 4 -Pds 0 -Ps 0 -Pss 4 -Pc REQUEST 

r -t 0.101095133 -Hs 1 -Hd -2 -Ni 1 -Nx 40.00 -Ny 500.00 -Nz 0.00 -Ne -1.000000 -Nl MAC -Nw --- -Ma 0 -Md ffffffff -Ms 0 -Mt 800 -Is 0.255 -Id -1.255 -It AODV -Il 48 -If 0 -Ii 0 -Iv 30 -P aodv -Pt 0x2 -Ph 1 -Pb 1 -Pd 4 -Pds 0 -Ps 0 -Pss 4 -Pc REQUEST 

r -t 0.101120133 -Hs 1 -Hd -2 -Ni 1 -Nx 40.00 -Ny 500.00 -Nz 0.00 -Ne -1.000000 -Nl RTR -Nw --- -Ma 0 -Md ffffffff -Ms 0 -Mt 800 -Is 0.255 -Id -1.255 -It AODV -Il 48 -If 0 -Ii 0 -Iv 30 -P aodv -Pt 0x2 -Ph 1 -Pb 1 -Pd 4 -Pds 0 -Ps 0 -Pss 4 -Pc REQUEST 

s 0.102001360 _1_ RTR --- 0 AODV 48 [0 ffffffff 0 800] ------- [1:255 -1:255 29 0] [0x2 2 1 [4 0] [0 4]] (REQUEST) 

s -t 0.102476360 -Hs 1 -Hd -2 -Ni 1 -Nx 40.00 -Ny 500.00 -Nz 0.00 -Ne -1.000000 -Nl MAC -Nw --- -Ma 0 -Md ffffffff -Ms 1 -Mt 800 -Is 1.255 -Id -1.255 -It AODV -Il 100 -If 0 -Ii 0 -Iv 29 -P aodv -Pt 0x2 -Ph 2 -Pb 1 -Pd 4 -Pds 0 -Ps 0 -Pss 4 -Pc REQUEST 

r -t 0.103276493 -Hs 0 -Hd -2 -Ni 0 -Nx 0.00 -Ny 500.00 -Nz 0.00 -Ne -1.000000 -Nl MAC -Nw --- -Ma 0 -Md ffffffff -Ms 1 -Mt 800 -Is 1.255 -Id -1.255 -It AODV -Il 48 -If 0 -Ii 0 -Iv 29 -P aodv -Pt 0x2 -Ph 2 -Pb 1 -Pd 4 -Pds 0 -Ps 0 -Pss 4 -Pc REQUEST 

r -t 0.103301493 -Hs 0 -Hd -2 -Ni 0 -Nx 0.00 -Ny 500.00 -Nz 0.00 -Ne -1.000000 -Nl RTR -Nw --- -Ma 0 -Md ffffffff -Ms 1 -Mt 800 -Is 1.255 -Id -1.255 -It AODV -Il 48 -If 0 -Ii 0 -Iv 29 -P aodv -Pt 0x2 -Ph 2 -Pb 1 -Pd 4 -Pds 0 -Ps 0 -Pss 4 -Pc REQUEST 

s 0.105531867 _1_ RTR --- 0 AODV 48 [0 ffffffff 0 800] ------- [1:255 -1:255 29 0] [0x2 2 1 [4 0] [0 4]] (REQUEST) 

s -t 0.105786867 -Hs 1 -Hd -2 -Ni 1 -Nx 40.00 -Ny 500.00 -Nz 0.00 -Ne -1.000000 -Nl MAC -Nw --- -Ma 0 -Md ffffffff -Ms 2 -Mt 800 -Is 1.255 -Id -1.255 -It AODV -Il 100 -If 0 -Ii 0 -Iv 29 -P aodv -Pt 0x2 -Ph 2 -Pb 1 -Pd 4 -Pds 0 -Ps 0 -Pss 4 -Pc REQUEST 

r -t 0.106587000 -Hs 2 -Hd -2 -Ni 2 -Nx 80.00 -Ny 500.00 -Nz 0.00 -Ne -1.000000 -Nl MAC -Nw --- -Ma 0 -Md ffffffff -Ms 2 -Mt 800 -Is 1.255 -Id -1.255 -It AODV -Il 48 -If 0 -Ii 0 -Iv 29 -P aodv -Pt 0x2 -Ph 2 -Pb 1 -Pd 4 -Pds 0 -Ps 0 -Pss 4 -Pc REQUEST 

r -t 0.106612000 -Hs 2 -Hd -2 -Ni 2 -Nx 80.00 -Ny 500.00 -Nz 0.00 -Ne -1.000000 -Nl RTR -Nw --- -Ma 0 -Md ffffffff -Ms 2 -Mt 800 -Is 1.255 -Id -1.255 -It AODV -Il 48 -If 0 -Ii 0 -Iv 29 -P aodv -Pt 0x2 -Ph 2 -Pb 1 -Pd 4 -Pds 0 -Ps 0 -Pss 4 -Pc REQUEST 

s 0.109702791 _2_ RTR --- 0 AODV 48 [0 ffffffff 2 800] ------- [2:255 -1:255 28 0] [0x2 3 1 [4 0] [0 4]] (REQUEST) 

s -t 0.110077791 -Hs 2 -Hd -2 -Ni 2 -Nx 80.00 -Ny 500.00 -Nz 0.00 -Ne -1.000000 -Nl MAC -Nw --- -Ma 0 -Md ffffffff -Ms 4 -Mt 800 -Is 2.255 -Id -1.255 -It AODV -Il 100 -If 0 -Ii 0 -Iv 28 -P aodv -Pt 0x2 -Ph 3 -Pb 1 -Pd 4 -Pds 0 -Ps 0 -Pss 4 -Pc REQUEST 

....

要继续

任何人都可以解释我是如何做到这一点? 任何答案都将非常有用。 感谢

+1

如果你指定了你的问题,你会有更多的机会得到很好的答案。例如你有什么样的输入,你期待什么输出/结果,更好地指定问题,例如你有什么尝试,你卡在哪里.. – Kent

+0

感谢您的评论,我不知道如何计算awk中的throghput。我的输入是来自NS2的跟踪文件。 – starrr

+1

是[this](http://nsnam.isi.edu/nsnam/index.php/Main_Page)“NS2”?请提供一些示例数据及其解释,并说明数据如何处理为“吞吐量”。更有可能的是,这里的某个人可以帮助那些了解AWK但不知道NS2的人,而不是找到知道NS2的人,这可以通过2231 [tag:awk]问题和83 [标签:ns2 ]问题。此外,如果您表明自己已经付出了一些努力来解决自己的问题并提出具体问题,而不是广泛的一般问题,那么人们会更愿意提供帮助。 –

回答

5

比方说,你有包括时间戳和数量与时间戳结束的时间间隔内发送的字节以下两条数据线:

s 1341227109 10010 
r 1341227111 19115 
s 1341227118 12345 
r 1341227122 16773 

这个片段将在计算吞吐量两个事件之间的时间间隔:

awk '! sprev && $1 == "s" {sprev = $2; next} $1 == "s" {sinterval = $2 - sprev; sthroughput = $2/sinterval; print sthroughput, "sent bytes/second"}' inputfile 

为接收到的数据添加类似的块。如果需要,您可以使用阵列分别跟踪节点到节点的通信。

要处理的问题:

  • 你想输出吞吐量每个间隔?可能不会。仅仅使用第一个和最后一个事件足够好吗?你想做一些移动计算,采取一些事件或更大的时间段?
  • 是否有不同类型的事件需要分开计算?
  • 是否有数据在设置中被忽略或使用?

在我看来,处理NS2数据的更自然的选择可能是TCL,因为它似乎在软件包中使用,并且可能有API可供您利用。但是,AWK非常适合处理表格数据。

+0

感谢您的评论。我编辑问题并希望更好地解释问题。 – starrr