ns-3 中的 Isis2 和 bridge tap

Isis2 in ns-3 and bridge tap

所以我需要在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(当然),然后只需为 NS3 创建一个 Windows VM。所以这意味着需要学习 Windows,但不需要学习 C#。

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

那么是的,我会使用一个虚拟机,其中包含 Mono 所需的二进制文件(Mono 是从 DLL 加载的,因此它们需要在正确的虚拟文件系统位置可用)和你的 Isis2 测试程序和 运行 在 NS3 中。我还没有尝试过,但看不出有任何不起作用的原因。

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