首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >静脉单播通信

静脉单播通信
EN

Stack Overflow用户
提问于 2016-03-02 14:12:35
回答 2查看 678关注 0票数 2

Veins支持802.11p单播通信吗?

我检查了静脉框架中"Mac1609_4“类的源代码。引用代码的以下片段:

代码语言:javascript
复制
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框架不支持单播通信,这是真的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-03 09:35:18

静脉框架不支持单播传输。在出版物这里的第三节中,有报道说MAC层的静脉被扩展到支持单播传输,这意味着官方发布不包括此功能。

这篇论文是在2015年发表的,而最新的“血管4.3”是在上个月发布的。由于在最新版本的"Changelog“中没有提到单播传输,这意味着仍然不支持单播传输。

票数 1
EN

Stack Overflow用户

发布于 2019-01-28 18:42:22

最近,在veins 4.7中提供了一个实验实现。从IEEE网站的变更内容中可以看到:“向IEEE802.11p添加实验性单播支持”

要使用,只需在调用populateWSM方法时使用接收方的对象id更新每条消息(有关更多细节,请参见方法签名):

代码语言:javascript
复制
populateWSM(bsm, idReceiver);

此外,需要将useAcks类的Mac1609_4参数设置为true。只需将此附加行放在omnetpp.ini文件上:

代码语言:javascript
复制
*.**.nic.mac1609_4.useAcks = true

但是,需要注意的是,此实现不适用于信道切换。当尝试使用通道切换运行时,将引发以下错误消息:

错误:单播模型不支持信道切换模块(Mac1609_4)

诚挚的问候。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35749611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档