向多台主机发送相同的消息(在以太网 LAN 中广播)
Send the same message to several hosts (Broadcast in Ethernet LAN)
几个月来我一直在尝试了解 Omnet++ 的工作原理,但我遇到了一个问题。
我正在使用 INET 框架,更具体地说是使用 Networks NED 文件 (examples/ethernet/lans/networks.ned)。
在给定的模拟中,我想同时为所有相邻主机发送相同的数据包。但我不知道我该怎么做。我只知道如何指定唯一的目的地址。
有人知道吗?
感谢您的回答
我想到了两种可能的方式来实现广播:
- 您正在使用的模块提供的广播功能
- OMNeT++ 手册中给出的广播
对于第一个,如果我假设你是在模拟一个网络,在真实网络中通常会有一个广播IP。也许这是在您使用的模块中实现的。例如,255.255.255.255
可能是您网络的 broadcast IP。您将必须知道 LAN 的 IP 地址范围,并通过分析模型以某种方式从那里推断出广播 IP。
第二个选项是使用 broadcasting from the OMNeT++ user manual 的描述。广播被硬编码为 module/node 的行为,不包括 IP 等概念
我的解决方案:
只需要指定**.hostA.cli.destAddress = "FF:FF:FF:FF:FF:FF"
.
我想不通如果模型中配置了 MAC 广播地址会怎么样。
感谢 user4786271 的帮助,您离解决方案不远了。
几个月来我一直在尝试了解 Omnet++ 的工作原理,但我遇到了一个问题。
我正在使用 INET 框架,更具体地说是使用 Networks NED 文件 (examples/ethernet/lans/networks.ned)。
在给定的模拟中,我想同时为所有相邻主机发送相同的数据包。但我不知道我该怎么做。我只知道如何指定唯一的目的地址。
有人知道吗?
感谢您的回答
我想到了两种可能的方式来实现广播:
- 您正在使用的模块提供的广播功能
- OMNeT++ 手册中给出的广播
对于第一个,如果我假设你是在模拟一个网络,在真实网络中通常会有一个广播IP。也许这是在您使用的模块中实现的。例如,255.255.255.255
可能是您网络的 broadcast IP。您将必须知道 LAN 的 IP 地址范围,并通过分析模型以某种方式从那里推断出广播 IP。
第二个选项是使用 broadcasting from the OMNeT++ user manual 的描述。广播被硬编码为 module/node 的行为,不包括 IP 等概念
我的解决方案:
只需要指定**.hostA.cli.destAddress = "FF:FF:FF:FF:FF:FF"
.
我想不通如果模型中配置了 MAC 广播地址会怎么样。
感谢 user4786271 的帮助,您离解决方案不远了。