Unicast Communication in Veins

喜夏-厌秋 提交于 2020-12-30 03:01:51

问题


Does Veins support 802.11p unicast communication?

I checked the source code of the class "Mac1609_4" in Veins framework. Referring to the following snippet of the code:

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);
}

It seems that the implemented MAC layer can receive unicast packet but I couldn't find any method for sending MAC layer acknowledgements that are required in unicast communication. Any suggestions please?

There is also a publication by Christoph Sommer et al. that unicast communication is considered harmful in 802.11p. Is it true that because of the reasons mentioned in the paper, Veins framework doesn't support unicast communication?


回答1:


Recently, in veins 4.7 an experimental implementation is provided. As can be seen on the changelog content in veins website: "Add experimental unicast support to IEEE 802.11p"

To use, you just need to update every message with the object id of the receiver on the call of populateWSM method (see the method signature for more details):

populateWSM(bsm, idReceiver);

Additionally, you need to set the useAcks parameter of Mac1609_4 class to true. Just put this additional line on the omnetpp.ini file:

*.**.nic.mac1609_4.useAcks = true

However is important to note that this implementation does not work with channel switching. When trying to run with channel switching the following error message is thrown:

Error: Unicast model does not support channel switching -- in module (Mac1609_4)

Best Regards.




回答2:


Veins framework does not support unicast transmissions. In Section IIIC of the publication here it has been reported that MAC layer of Veins was extended to support unicast transmissions, this means the official release does not include this functionality.

The paper was published in 2015 while the latest release of Veins 4.3 came last month. Since there is nothing mentioned about unicast transmissions in the "Changelog" of the latest release, it implies that unicast transmissions are still not supported.



来源:https://stackoverflow.com/questions/35749611/unicast-communication-in-veins

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!