Networking 使用AWK计算NS2中的吞吐量

Networking 使用AWK计算NS2中的吞吐量,networking,network-programming,awk,ns2,throughput,Networking,Network Programming,Awk,Ns2,Throughput,NS 2.29中我的senario有5个节点,每个节点有2个接口,期望节点0和节点4,节点0希望向节点4发送数据包。我使用的协议是AODV,节点类型是无线的 我想计算一下 接收包/发送包 还有不同模拟时间的吞吐量,我想用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 --

NS 2.29中我的senario有5个节点,每个节点有2个接口,期望节点0和节点4,节点0希望向节点4发送数据包。我使用的协议是AODV,节点类型是无线的

我想计算一下

接收包/发送包

还有不同模拟时间的吞吐量,我想用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 

待续

谁能解释一下我该怎么做? 任何答案都会很有帮助。
谢谢

假设您有以下两条数据线,它们由时间戳和以该时间戳结束的时间间隔内发送的字节数组成:

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非常适合处理表格数据。

如果您稍微指定一点您的问题,您将有更多机会得到好的答案。e、 你有什么输入,你期望什么输出/结果,最好同时说明问题,例如,你尝试了什么,你在哪里卡住了..谢谢你的评论,我不知道如何计算awk中的吞吐量。我的输入是NS2的跟踪文件。是“NS2”吗?请提供一些示例数据并对其进行解释,并说明如何将数据处理为“吞吐量”。这里有人更可能帮助您了解AWK但不了解NS2,而不是找到了解NS2的人,事实证明,有2231个问题,只有83个问题。此外,如果你表现出你在解决自己的问题上付出了一些努力,并提出了具体的问题,而不是笼统的问题,人们会更愿意提供帮助。我缩短了数据,因为数据太多了。请解释重要字段的含义(不需要解释可以忽略的字段)。我已经给出的答案是,原则上,您将需要使用的技术。请试着把它应用到你正在做的事情上。我对它进行了编辑,所以它可能会更有帮助。谢谢你的评论。我编辑了这个问题,希望能更好地解释这个问题。