ns-3中的Isis2和桥接抽头



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

由于我还远没有实施这些措施,所以很想知道这是否是一种合适的行为方式。我需要特别监控在零星的wifi(ad hoc)行为期间达成共识的性能。

为Isis2的每个实例虚拟化一台机器,然后使用抽头桥(建模并分析ns-3通道中的流量),这有意义吗?(我还将记录每个实例上的事件;将各种数据组成一个统一的表示)

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

您将在mono平台上构建这个和库,并且应该对其进行测试,这可以在任何Linux系统上进行。一旦你让它发挥作用,这就是你将在NS/3上进行的实验。请注意,如果您在Windows上工作,您将能够使用C++/CLI(当然),然后可以为NS3制作一个Windows虚拟机。因此,这意味着在Windows上工作,但不需要学习C#。

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

然后是的,我会用一个带有Mono所需二进制文件的虚拟机(Mono是从DLL加载的,所以它们需要在正确的虚拟文件系统位置可用)和您的Isis2测试程序,并在NS3中运行它。我还没有尝试过,但看不出有什么理由不起作用。

请记住,超时和重传的默认计时器设置非常慢,并且针对在数据中心内的亚马逊AWS上运行进行了调整。因此,一旦你做到了这一点,但在模拟你的wifi设置之前,你可能想尝试调整系统,使其在该设置下更具响应性。我认为ISIS_DEFAULTTIMEOUT对您来说可能太长,RTDELAY设置对您来说也可能太长。亚马逊AWS是一个特殊的环境,在目标截然不同的Wifi环境中,Isis2在AWS中的稳定可能并不理想。。。但是,所有这些参数都可以通过在Environment中设置所需的值来调整,这可以在启动测试程序的行上的bash中完成,也可以使用bash"Export"命令。

最新更新