[Ns-developers] emulation use cases
tomh at tomh.org
Wed Jan 14 21:46:22 PST 2009
Craig is working on Tap device support for emulation, and some questions
have arisen about use cases and requirements to support, so I thought
I'd raise the issue on the list for any input people might have.
Presently, we have an emulation mode documented here:
it runs the simulator in real-time and allows nodes in a simulation to
emit packets that are bridged onto a physical device on the host
machine. ns-3 packets are therefore emitted onto real links. The ns-3
device must be hand-configured with mac address and does not presently
support DHCP configuration of the address.
I've suggested that the next priority would be to invert the picture, to
allow real hosts to emit packets onto ns-3 links. The main use case I
have in mind is to allow users to interconnect virtual machines such as
OpenVZ containers over ns-3 links (mainly, WiFi is of immediate
interest). It would also be possible to use the simulator as a "black
box" such as a "simulator in the loop" testbed between real nodes or
To accomplish this, what is needed is to create tap devices on the ns-3
host machine, and bridge these tap devices to some new kind of ns-3
NetDevice that reads and writes from the tap device. Essentially, this
new ns-3 NetDevice would be receiving fully formed layer-2 frames and
bridging them onto our existing ns-3 NetDevice types.
In this model, the ns-3 node that does this bridging would be kind of
like a ghost node, possibly with an Internet stack (maybe not). It may
be the case that a simulation/emulation would involve a mix of ns-3
nodes and these special ghost nodes that exist for the purpose only of
hosting the virtual machine; in such a case, I would envision that
IP-level and above configuration of the mixed environment would have to
be done separately.
I think that a framework to try to configure all of this from a bird's
eye view of both simulation and emulation portions is possible, but
would be a later phase of the effort (possibly a GSOC project).
Are there other suggestions for the above type of use case, or other use
cases for emulation that people would like to see prioritized?
More information about the Ns-developers