1 / 17

Software Forum CORE and EMANE Overview

Software Forum CORE and EMANE Overview. 1/30/2018. Introduction. CORE and EMANE are emulation tools geared towards network modeling Creates an emulation session of multiple network nodes Run custom protocols for development and testing

egonzalez
Download Presentation

Software Forum CORE and EMANE Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software ForumCORE and EMANE Overview 1/30/2018

  2. Introduction CORE and EMANE are emulation tools geared towards network modeling Creates an emulation session of multiple network nodes Run custom protocols for development and testing Evaluate effects of distance between nodes, node mobility, loss of connectivity

  3. What are CORE and EMANE? • CORE – Common Open Research Emulator • Emulate multiple nodes on a single host • All nodes share same OS, network stack and resources are isolated • Uses Linux containers (LXC) and Ethernet bridging • Emulates network layers 3 and above (network, transport, session, application) • EMANE – Extendable Mobile Ad-hoc Network Emulator • Emulate network layers 1 and 2 (physical and datalink) • Framework of radio models configured with XML files • Both free, open source tools that can run on many popular Linux distributions

  4. Motivation • CORE allows to you run actual software within the emulation environment • Most networking simulators are discrete event simulators • Based on performance models • Simulation does not run in real (clock) time – can be quicker than real time since just stepping through a series of generated events • Useful for developing networking protocols, routing algorithms • CORE uses virtualization and the Linux network stack • User protocols and applications do not need to be modified • No interface or wrapper software required • Generate real protocol data units in approximately real time

  5. Advantages/Disadvantages Advantages Disadvantages Of course inaccuracies in lower layer models Consumes system resources, not suitable for high performance networking Not flight-like system (hardware, driver development, RTOS, etc.) • Can emulate many nodes on single or distributed host • Easy to script node mobility • Easier to administer than lots of physical or full virtual machines • Much cheaper than physical nodes and saves on lab space • Can connect emulated network to real physical network

  6. CORE Features • GUI environment • Drag and drop nodes • Open Linux terminal by clicking on node • View data rate, addresses, processes via widgets • Node mobility • Location based on pixel coordinates • NS2 scripts • EMANE location events • Node connectivity • Simple netem based • EMANE model based • Python API • Connect emulated network to physical network • Developed by NRL and Boeing

  7. EMANE Features • XML based radio models • RF pipe, 802.11abg, bypass • Run inside containers • Location based on GPS longitude and latitude or Cartesian coordinated • Determine when packets should be dropped based on calculation from radio parameters and location or precomputed path loss • Generate location and path loss events via EMANE Event Log script or Python API • Interface to Scripted Display Tools (sdt3d) • Developed by NRL and Adjacent Link

  8. How Does It Work? • The CORE GUI or configuration files (CORE’s .imn or NRL’s XML Scenario Plan schema) can be used to define nodes and topology • CORE uses Linux network namespace containers, FreeBSD jails, or Xen hypervisor for building the virtual machines • Store node file system, session configuration and log files in /tmp/pycore.nnnnn • Network namespaces(LXC) provides resource isolation • A radio model in EMANE is represented as a NEM (Network Emulation Module) • MAC/link-layer module and physical-layer module • OTA (over-the-air) manager delivers packets between NEMs using multicast channel • Physical Ethernet interfaces (raw transport using libpcap) or virtual interfaces (TUN/TAP devices) deliver packets from OTA manager to NEM • Programs read/write to /dev/net/tun but instead of being hardware, it’s another user program

  9. CORE/EMANE Architecture

  10. CORE/EMANE Interface • The interface between CORE and EMANE is a TAP device • CORE builds the virtual node using Linux network namespaces • Installs the TAP device into the namespace • Instantiates one EMANE process in the namespace. • The EMANE process binds a user space socket to the TAP device for sending and receiving data from CORE. • CORE uses a control network to allow the virtual nodes to communicate with their host environment • Each virtual node will have a ctrl0 interface • An Ethernet bridge to the host system • Seen as b.ctrlnet.nnnn interface on the host • Send/receive EMANE events from python scripts

  11. CORE Control Network

  12. EMANE Events • emaneeventservice application reads an EMANE Event Log file format (.eel file) to generate events • Runs on host machine outside of emulation • Sends events to EMANE through the control port • Configured with eventservice.xml file • Generates location or path loss events • Events are broadcast, event message will determine what node the event is addressed to • Example location event: • 0.0 nem:1 location gps 40.031075,-74.523518,3.000000 • EMANE can also receive events from python API and NRL network modeling XML files

  13. EMANE Shell • emanesh (EMANE Shell) interface • View NEM statistics • Send events • Update configuration parameters

  14. Scripted Display Tools (sdt3d) In addition to CORE GUI, CORE and EMANE can drive sdt3d display for visualization Uses NASA World Wind JAVA SDK Show node placement on 3D globe based on GPS coordinates Show node link and unlink events CORE can send network topology and events through TCP port NRL’s NMF (Network Modelling Framework) XML files and scripts can be used to map between sdt configuration and EMANE configuration Developed by NRL’s Protean research group

  15. Sdt3d/World Wind Java SDK • Interactive, zoomable interface • Lots of terrain and other layers available from NASA World Wind • Customizable sprites for nodes

  16. NASA DTN Dev Kit • Development Kit ISO is an Ubuntu VM • ION 3.5.0 and CORE installed • Lots of example scenarios running ION • How to develop user defined services • Developed by Mitre Corp.

  17. References • CORE downloads and tutorials: https://www.nrl.navy.mil/itd/ncs/products/core https://github.com/coreemu/core http://coreemu.blogspot.com/ • EMANE downloads and tutorials: https://www.nrl.navy.mil/itd/ncs/products/emane https://github.com/adjacentlink • Scripted Display Tools - https://www.nrl.navy.mil/itd/ncs/products/sdt • DTN Dev Kit - http://ipnsig.org/2017/04/14/mitre-publishes-updated-dtn-development-kit/ • Papers • B. Adamson and D. Claypool, “Mobile Network Emulation –Experiences and Challenges”, 2013 IEEE Military Communications Conference • J. Ahrenholz, Tom Goff and B. Adamson, “Integration of the CORE and EMANE Network Emulators”, 2011 IEEE Military Communications Conference • J. Ahrenholz, “Comparison of CORE Network Emulation Platforms”, 2010 IEEE Military Communications Conference • L. Veytser, B. Cheng and R. Charland, “Integrating Radio-to-Router Protocols into EMANE”, 2012 IEEE Military Communications Conference • J. Ahrenholz, C. Danilov, T. Henderson and J. Kim, “CORE: A Real-Time Network Emulator”, 2008, IEEE Military Communications Conference • R. Muzaffar, “Routing and Video Streaming in Drone Networks”, PhD Dissertation July 2017, Queen Mary University of London

More Related