问题描述
众所周知,AdhocHost 是从 WirelessHost 扩展而来的,WirelessHost 具有三种门类型:
Name | Direction | Size
--------------------------------------------------------
radioIn [ ] | input | numWlanInterfaces
pppg [ ] | inout | numPppInterfaces
ethg [ ] | inout | numEthInterfaces
奇怪的是,RadioIn 门的方向是输入的类型,而不是inout,或者Inet 开发人员应该有一个RadioOut 门来发送无线电信号。 当一个节点想要发送数据时,该节点如何通过无线电接口发送数据? 发送数据时通过WirelessHost组件传递数据包的过程是什么? 另外,接收数据时通过WirelessHost组件传递数据包的过程是什么? 提前致谢
解决方法
- OMNeT++ 中的无线电通信通常使用
sendDirect()
建模。该方法不需要发送方和接收方之间的输出门或通道。接收器必须只有一个输入门。
参考: OMNeT++ Simulation Manual - Direct Message Sending
- 简而言之:当 WirelessHost 中的应用程序想要向其他主机发送一些数据时,它会创建一个数据包,将其发送到传输层(TCP 或 UDP),然后将数据包发送到网络层(可以在其中选择路由) ),然后将数据包发送到无线电接口。无线电接口计算传播条件并将数据包发送到所有或选定的接收器(取决于假设的传播模型)。