我有一个简单的观点指向NS-3中的UDP WiFi模拟,它将数据输出到跟踪文件。它提供了大量有用的数据,但没有信息为每个数据包提供唯一的ID。当我打开pcap文件时,我在wireshark中找不到任何东西。
我已将模拟结果输出到两个节点的ascii跟踪文件和pcap文件,但我找不到任何数据包标识符。我可以看到数据包的序列号,但就是这样。
我是NS-3的新手,所以我不确定如何提供这些信息。
以下是跟踪文件的一些输出。
2.00082 / NodeList / 0 / DeviceList / 0 / $ ns3 :: WifiNetDevice / Phy / State / Tx ns3 :: WifiMacHeader(DATA ToDS = 0,FromDS = 0,MoreFrag = 0,Retry = 0,MoreData = 0持续时间/ ID = 0usDA = ff:ff:ff:ff:ff:ff,SA = 00:00:00:00:00:01,BSSID = 00:00:00:00:00:01,FragNumber = 0, SeqNumber = 0)ns3 :: LlcSnapHeader(类型0x806)ns3 :: ArpHeader(请求源mac:00-06-00:00:00:00:00:01源ipv4:10.1.1.1 dest ipv4:10.1.1.2)ns3 :: WifiMacTrailer()
任何建议都表示赞赏。
感谢。
答案 0 :(得分:1)
如果您可能还没有意识到这一点,请让我首先指出看似显而易见的事情:“实际网络中没有唯一的数据包ID”,因为pcap跟踪旨在包含在真实网络中转储真实数据包,您将无法在ns-3生成的pcap跟踪中找到唯一的数据包ID。
现在,ns-3确实包含Packet :: GetId方法可用的每数据包唯一ID,您可以轻松更改生成ascii转储的函数的源代码,以便在src / wifi /中添加助手/ yans-wifi-helper.cc。 Grep为“Ascii”。
现在,如果你想知道为什么它默认不这样做,因为它非常有用,我真的不记得了,但是:
可能有一些与ns2跟踪格式相关的东西启发了这种ascii格式。与现有工具的兼容性可能是一个问题
添加数据包ID违背了ns-3匹配真实网络的理念