我将Omnet ++仿真内核嵌入到我的应用程序中,我正在使用inet框架进行仿真。我遇到的问题是,我需要在女巫时间估计一个数据包将要到达目的地。在Omnet ++中获取数据包的ETA
所以更具体:有两个EtherHost,命名为H0和H1(inet.node.ethernet.EtherHost)和一个以太命名开关(inet.node.ethernet.EtherSwitch),三个连接这样的:
H0 < - “ç< - >切换< - ”ç< - > H1
C表示DatarateChannel与数据率= 100Mbps的和延迟=可达0.1us。当H0中的EtherAppCli发送EtherAppReq到H1时,我需要在传送所述分组期间在EterAppReq分组上获得ETA。
我的第一个想法是总是得到EtherAppReq的封装包,这是在EtherLLC和EtherMAC模块中添加的,但这并不像我想的那么简单..我需要将所有封装函数层总是得到一个指向封装包的指针,还是我错了?
或者还有另一种方法来获得数据包的中间传输的ETA?
编辑:对于我的目的,我只需要在下一模块的到达时间,因此,如果该数据包是H0的MAC模块中我需要在MAC层的到达时间的开关(所以没有多模块酒花)。就像你有一个cMessage一样,你可以在消息上调用getArrivalTime(),并且如果我没有弄错,可以估计到达时间。
非常感谢您的帮助提前!
感谢您的回答!我编辑了我原来的问题,我只需要到达下一个模块的到达时间,而不是整个行程的ETA。对不起,没有指定。 – phyratokar