我们目前正在考虑ns3是否满足我们的要求,我们正在寻找一种方便的工具来运行真实网络中的分布式设备(各种可能的连接)并捕获网络性能数据(如嗅探器)。我意识到ns3的主要目的是在一台机器上模拟网络拓扑,但它的emu模块看起来很有前途,流量监控器可以节省我们在数据捕获上的工作量。
在以下链接
http://www.nsnam.org/wiki/HOWTO_make_ns-3_interact_with_the_real_world
声明NS-3 EMU可用于注入与真实网络交互的模拟节点,并给出3种测试平台。然而第一个解决方案,虚拟机vmware测试平台仍然在局域网内进行 - 在混杂模式下,虚拟机网卡正在监听所有LAN广播,以便emu-udp-echo服务器和客户端可以相互找到。
我的问题是,emu-udp-echo服务器/客户端是否可能在不同的物理系统中运行,来自广域网中的不同位置?
e.g。在不同的城市或不同的网络提供商,给出其他ns-3节点运行的硬件的IP地址?如果有可能,我如何指定节点的“真实”IP地址和端口,而不是分配虚拟ipv4地址?
非常感谢。
答案 0 :(得分:1)
是的,虽然文档描述了如何使用虚拟机执行此操作,但这通常可以在真实硬件上完成。自编写HOWTO以来,已经有额外的工作来提供帮助程序来运行此类实验,包括在PlanetLab测试台机器上运行。本文档描述了添加到ns-3.17版本的通用文件描述符NetDevice:http://www.nsnam.org/docs/release/3.19/models/html/fd-net-device.html。可以在文件fd-emu-udp-echo.cc中找到与HOWTO中描述的类似的示例。
在实际网络上使用仿真模式时,必须仔细配置MAC地址和IP地址。首先,设备必须能够进入混杂模式。其次,MAC地址需要与NIC的硬件地址不同。如果您打算在具有现有IP地址的活动NIC上运行(用于其他Internet流量),则需要为右侧链接子网内的ns-3提供另一个IP地址。如果您希望将NIC专用于ns-3,请不要将IP地址分配给主机NIC,只需将其分配给ns-3配置即可。
PlanetLab示例还显示了另一种使用Tap设备向PlanetLab测试平台节点发送数据的配置。其中一些配置特定于PlanetLab的工作方式,但使用桥接到ns-3设备的Tap设备也可以促进仿真。