因此,我需要在 ns-3 中模拟 Isis2 。 (我还要稍加修改Isis2,用一些C / C++代码包装它,因为我至少需要一个准实时的关键任务行为)

由于我离实现任何目标都不远,因此很想知道这是否是合适的行为方式。我需要在偶发的wifi(临时)行为期间专门监视共识的性能。

为Isis2的每个实例虚拟化一台计算机,然后使用Tap Bridge(建模并分析ns-3通道中的通信量,是否有意义?
(我还将记录每个实例上的事件;将各种数据组成一个统一的表示形式)

最佳答案

您需要从构建Isis2应用程序开始,而这必须使用C / CLI或C++ / CLI完成。 C++ / CLI将更容易,因为与Isis2类型系统的匹配更加紧密。但是,当我键入这些单词时,我试图记住Mono是否真正支持C++ / CLI。如果没有用于C++ / CLI的Mono编译器,则可能被迫使用C#或IronPython。基本上,您必须使用编译器将支持的内容。

您将在单声道平台上构建此库,并对其进行测试,并可以在任何Linux系统上进行测试。一旦工作,您将在NS / 3上进行试验。请注意,如果您在Windows上工作,则可以使用C++ / CLI(当然),然后可以为Windows NS3制作Windows VM。因此,这意味着在Windows上工作,但无需学习C#。

这是因为Isis2是用于组通信,多播,文件复制和共享,DHT等的库,要访问任何特定功能,您需要应用程序来“驱动”它。如果您遵循视频教程和用户手册中的建议,不会有性能问题。即使是实时使用,该系统的行为也可能既足够快又足够稳定。

然后,是的,我将使用一台具有Mono所需二进制文件的虚拟机(Mono是从DLL加载的,因此它们必须在正确的虚拟文件系统位置可用)和Isis2测试程序,然后在NS3中运行该程序。我没有尝试过,但是没有任何理由不起作用。

请记住,超时和重传的默认计时器设置非常慢,并且已调整为在数据中心内的Amazon AWS上运行。因此,一旦完成这项工作,但在模拟wifi设置之前,您可能需要尝试对系统进行调整,以使其在该设置下具有更高的响应速度。我认为ISIS_DEFAULTTIMEOUT对您来说可能太长了,而RTDELAY设置对您来说也可能太长了。 Amazon AWS是一个独特的环境,在具有不同目标的Wifi设置中,使Isis2在AWS中保持稳定的原因可能不是理想的……但是所有这些参数都可以通过仅在环境中设置所需的值来进行调整,这可以完成在bash中启动测试程序,或者使用bash“导出”命令。

09-08 11:31