问题标签 [inet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
omnet++ - 外部接口如何在 OMNETPP/INET 中工作?
在过去的几天里,我一直在尝试构建和运行一个非常简单的网络,但无济于事(我尝试构建的大部分网络都是从 extServer 示例中借用的)。无论我在 IP 地址、路由等方面的配置如何,我似乎都无法使其工作。
我见过很多人为此苦苦挣扎,但没有在任何地方找到任何解决方案。INET 的 Emulation 文件夹中的自述文件更令人困惑而不是有用。因此,我希望您能帮助我完成以下简单的网络工作,并希望它(帖子)也能成为其他人的教程。
我想建立的网络(再简单不过了):
我的设置:
软件:
- 启用 PCAP 的 OMNET++ 4.6。
- INET 集成头(包括我喜欢的几个功能)。
- 启用 PCAP 的 OMNET++ 4.6。
操作系统:
VirtualBox 中的 Xubuntu 作为托管 OMNET++ 的访客。使用 Virtualbox 的原因是我的 Host Win 7 机器拒绝运行任何外部接口示例,并出现错误“cSocketRTScheduler: could't set socketopt for raw socket.”。我稍微修改了源代码并使用了 WSAGetLastError 函数,该函数将问题解决为“请求的地址在其上下文中无效。”。
回到 VirtualBox :) Xubuntu 有一个网络接口设置为仅主机网络,IP 地址为 10.0.0.1 和网络掩码 255.255.255.0 。
omnetpp.ini 中的标准主机设置:
标准主机使用与 extServer 示例相同的 server.mrt。
router.mrt 如下:
任何关于如何使这个网络工作的想法都非常受欢迎,因为如果它工作,我想稍后扩展它。此外,如果有任何建议采用分步方式,我将不胜感激。
先感谢您。
c++ - 如何在 OMNeT++ 中模拟期间更改网络配置?
我想在模拟运行期间修改 OMNeT++ 中元素的.ini文件的一些参数,例如节点的传输速率,例如当节点接收到一些控制消息时。
我发现信息说有可能以某种方式循环配置为:some_variable = ${几个值},但.ini文件中没有条件子句,也无法将任何来自C++函数的数据传递给这些文件(至于我很关心)。
我使用 INET,但也许其他一些模型的用户已经为这样的问题而烦恼。
omnet++ - omnet - Inet - 哪个因素决定节点的传输顺序
我有一个关于传输顺序的一般性问题。在 INET ->exapmles->manetrouting->dynamicNodeCreation 中,它如何决定哪个节点应该发起信标传输。以及如何选择下一个节点进行传输。
我试图通过 tic-toc 示例,其中初始化函数中的 getIndex() 用于选择传输节点(例如 txc10.cc)。但我还没有在 INET 示例中弄清楚这样的功能。
有没有一种方法,我可以选择相应的节点进行信标传输作为我的信标占用图矢量?
有没有一种方法,我可以选择信标传输的相应节点作为我的信标占用图矢量。
我请求你原谅我对这个问题的不全面。
c++ - 运行时在 Omnet (INET) 中创建或显示节点
我需要在运行时创建一个节点,其参数与其他节点相似。为此,我在 ned 文件中创建了一个动态节点:-
为了在 C++ 文件中实现这个节点,我添加了这个代码:-
但我无法正确构建它。我想我需要这方面的任何例子。谁能帮我指出一个在 INETMANET 的 mixim 或任何其他 oment 框架中的示例,该功能已经实现。谢谢你的帮助。
我也想静态地创建一个节点,它会在稍后的时间点出现在模拟中。是否有可能,是否有任何关于 INET 或其他 OMNET 框架中节点的运行时外观和消失的示例。
c++ - 错误 - 无法访问显示字符串以在 Omnet 中创建新节点
我正在尝试在运行时在 Omnet 的模块中创建一个节点。我可以使用此代码创建它并且它工作正常。
但是,此模块不会在模拟输出(坐标和显示)的所需位置生成。我相信此处创建的显示字符串未附加到模块,因此我尝试这样做:-
但是这样我在运行时遇到了以下错误:-还无法访问显示字符串:参数尚未设置。我知道问题出在mod->getDisplayString().set(dispstr);
所以还有其他方法可以分配参数还是我做一些小错误。感谢您的帮助。
c++ - 使用 omnet++ 覆盖函数
如何覆盖 omnet++ 中包含的类中的函数?
当我尝试像在 c++ 中那样覆盖该函数时,我得到一个重新定义错误。
重新定义“handleMessage(cMessage *msg)”
这是当前代码:
omnet++ - 实现两种 TCP 拥塞控制算法
首先,如果这不是这个问题的正确论坛,我深表歉意。我正在尝试在 OMNeT/INET 中为我的论文实现两个 tcp 拥塞控制算法。
第一个是 TCP-FIT,我在http://www.tcpengines.com/wp-content/uploads/2013/11/tcp-whitepaper.pdf找到了它的伪代码。另一个是 TCP-Illinois,我在http://lxr.free-electrons.com/source/net/ipv4/tcp_illinois.c找到了一个 linux 实现。
我无法理解如何在这两种机制中实现一些变量和方法,如果您能帮助我弄清楚它们,我将不胜感激。也欢迎对变量类型提供一些帮助。
简而言之,对于 TCP-FIT:
- epoch_start和update_epoch(我知道 epoch 可以和 RTT 同义)
- 阿尔法(值)
- n - 它是什么?
- RTT_cnt 计算是否正确(在 receivedDataAck() 下)?
- tcpFitUpdateN() 函数是否正确?
- 我实现了伪代码吗?
对于 TCP-伊利诺伊州:
- snd_cwnd_cnt——我认为这只是一个有多少数据包被确认的计数器。
- snd_cwnd_clamp -- 拥塞窗口的上限,我想我是对的。
- end_seq - 似乎需要,但我不明白if (after(ack, ca->end_seq)) {...}中的“ack”参数,它来自函数tcp_illinois_cong_avoid(struct sock *sk, u32 确认,u32 确认){...}
- tp->snd_nxt -- 是否等同于 OMNeT++ state->snd_nxt?
- sum_rtt和max_rtt——我计算这些值对吗?
据我了解,在阅读了 linux 实现中提供的论文后,TCP-Illinois 的运行方式与 TCP-NewReno 相同,但 AIMD 部分除外。我敢打赌,这意味着我可以保持 TCP-NewReno 的大部分代码完好无损,除了 TCP-SACK 部分和 AIMD。
我也很感激任何关于实现的提示,当然还有关于代码正确性的任何评论。我当前和几乎完整的实现可以在 github 上找到,地址为https://github.com/SpyrosMArtel/TCP-Fit-Illinois。
如果您需要更多详细信息或说明,请随时打扰我。
先感谢您。
c++ - 如何在 omnet++ 中使用 AODV 协议实现重放攻击?
我需要一段 C++ 代码来模拟带有恶意节点的 AODV 网络,该节点进行重放攻击。我需要将它嵌入到我的 OMNet++ 项目中。
我试图在 OMNet++ 中更改示例项目中的原始代码,但我又回到了起点。
找到帮助会很棒。
我不能包含一个字符相当长的示例代码,如果您需要查看我的试验直到现在,请告诉我在哪里可以分享我的项目。
omnet++ - 如何在 omnet++(inet) 中将 IPv4Address 转换为 char?
如何在 omnet++(inet) 中转换IPv4Address
为?char
我想使用emit(),我需要将ipv4Address 转换为emit() 可用的类型之一。