Veins支持802.11p单播通信吗?
我检查了静脉框架中"Mac1609_4“类的源代码。引用代码的以下片段:
WaveShortMessage* wsm = dynamic_cast<WaveShortMessage*>(macPkt-> decapsulate());
long dest = macPkt->getDestAddr();
DBG_MAC << "Received frame name= " << macPkt->getName()
<< ", myState=" << " src=" << macPkt->getSrcAddr()
<< " dst=" << macPkt->getDestAddr() << " myAddr="
<< myMacAddress << std::endl;
if (macPkt->getDestAddr() == myMacAddress) {
DBG_MAC << "Received a data packet addressed to me." << std::endl;
statsReceivedPackets++;
sendUp(wsm);
}实现的MAC层似乎可以接收单播数据包,但我无法找到任何方法来发送在单播通信中所需的MAC层确认。有什么建议吗?
还有Christoph等人的出版。这种单播通信在802.11p中被认为是有害的。因为本文中提到的原因,Veins框架不支持单播通信,这是真的吗?
发布于 2016-03-03 09:35:18
静脉框架不支持单播传输。在出版物这里的第三节中,有报道说MAC层的静脉被扩展到支持单播传输,这意味着官方发布不包括此功能。
这篇论文是在2015年发表的,而最新的“血管4.3”是在上个月发布的。由于在最新版本的"Changelog“中没有提到单播传输,这意味着仍然不支持单播传输。
发布于 2019-01-28 18:42:22
最近,在veins 4.7中提供了一个实验实现。从IEEE网站的变更内容中可以看到:“向IEEE802.11p添加实验性单播支持”
要使用,只需在调用populateWSM方法时使用接收方的对象id更新每条消息(有关更多细节,请参见方法签名):
populateWSM(bsm, idReceiver);此外,需要将useAcks类的Mac1609_4参数设置为true。只需将此附加行放在omnetpp.ini文件上:
*.**.nic.mac1609_4.useAcks = true但是,需要注意的是,此实现不适用于信道切换。当尝试使用通道切换运行时,将引发以下错误消息:
错误:单播模型不支持信道切换模块(Mac1609_4)
诚挚的问候。
https://stackoverflow.com/questions/35749611
复制相似问题