HOWTO Use CORE to test ns-3 protocols

From Nsnam
Revision as of 22:45, 12 August 2014 by Tomh (Talk | contribs) (start a CORE HOWTO)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Main Page - Current Development - Developer FAQ - Tools - Related Projects - Project Ideas - Summer Projects

Installation - Troubleshooting - User FAQ - HOWTOs - Samples - Models - Education - Contributed Code - Papers

The Common Open Research Emulator (CORE) is a framework for managing Linux LXC containers, aimed at network experimentation. CORE can be used to manage virtual machines that can be used to interact with ns-3 nodes. Specifically, ns-3 can be run in emulation mode from within one of the containers. This HOWTO walks through the configuration of one such example, by starting a CORE emulation, reconfiguring a network device in one of the containers, and then running an ns-3 program from within the container.

The main use cases described here are how to use CORE to perform interoperability testing of ns-3 protocol implementations with Linux implementations. There are some other possible use cases involving the use of ns-3 as an underlying wireless model for CORE.

Background

This section mainly points at existing documentation for CORE and ns-3. We recommend reading at least the first two chapters of the CORE manual and trying to install and run CORE independently of ns-3.

If you have not done so, we recommend going over HOWTO make ns-3 interact with the real world to review emulation options, as well as the manual chapter on the FdNetDevice.

This HOWTO is focused on Linux, a prerequisite for ns-3 FdNetDevice and CORE.

Firewall configuration

Most Linux distributions have default firewall policies that, when enabled, make it difficult to use CORE and ns-3 in emulation. These rules can be observed by running the following command:

 sudo iptables -L

It is recommended to either delete the rules or stop the firewall service while running experiments as described below. However, do not forget to re-enable them when you are done, and be aware of the hacking that you may expose yourself to if running in a public network (which is not advised for this HOWTO).

For example, a graceful way to perform this operation in Ubuntu is:

 sudo ufw disable

and then when you are done experimenting:

 sudo ufw enable

If you are good at firewall config, you may instead prefer to punch holes in the existing policy configuration to enable your experiments. This is clearly safer than deleting all rules, but a tutorial on that is beyond the scope of this HOWTO.

Testing your CORE installation



Tomh 15:45, 12 August 2014 (UTC)