• DocumentCode
    3367284
  • Title

    Open Network Emulator: A Parallel Direct Code Execution Network Simulator

  • Author

    Duggirala, Vedavyas ; Varadarajan, Srinidhi

  • Author_Institution
    Dept. of Comput. Sci., Virginia Tech, Blacksburg, VA, USA
  • fYear
    2012
  • fDate
    15-19 July 2012
  • Firstpage
    101
  • Lastpage
    110
  • Abstract
    In this paper, we present the Open Network Emulator (ONE) a network simulator that combines the controllability and scalability of simulation with the direct code execution properties of emulation and experimental test beds. ONE has two novel features. First is a compiler framework that automatically transforms existing network application/protocols written in imperative languages such as C and C++ into composable modules, which can then be combined to create arbitrarily complex network stacks. This compiler framework obviates the need for heavyweight virtualization and enables ONE to execute multiple virtual hosts, each with its own application and network protocol stack, within a single process. The second novel feature of ONE is a new time model called Relativistic Time that combines the controllability of virtual time with the fidelity of real-time. To implement ONE, we ported the complete TCP/IP stack from within the Linux kernel (including the sockets interface, TCP, UDP IPv4 and v6, ICMP, IGMP, traffic shaping, net filters, routing and ARP) and well-known configuration and packet tracing applications such as ifconfig and tcpdump. Existing network applications can be compiled and instantiated within ONE without requiring any source code change. We validated the fidelity of ONE by comparing the packet arrival times of multiple traffic generators on a real network against the arrival times with ONE emulation. Our preliminary performance evaluation of ONE on an 8 core system shows that ONE is highly efficient and can run over 450 virtual hosts connected over point-to-point gigabit links, while still retaining linear behavior.
  • Keywords
    Linux; discrete event simulation; operating system kernels; program compilers; source coding; transport protocols; virtual machines; virtualisation; Linux kernel; ONE; TCP/IP stack; arbitrarily complex network stack; compiler; controllability; imperative languages; network protocol stack; network simulator; open network emulator; packet tracing application; parallel direct code execution; point-to-point gigabit links; relativistic time model; scalability; source code; traffic generators; virtual host; virtualization; Aerospace electronics; IP networks; Instruction sets; Instruments; Protocols; Real time systems; Weaving; Network Emulation; Network Simulation; Parallel Discrete Event Simulation; Time dilation;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Principles of Advanced and Distributed Simulation (PADS), 2012 ACM/IEEE/SCS 26th Workshop on
  • Conference_Location
    Zhangjiajie
  • ISSN
    1087-4097
  • Print_ISBN
    978-1-4673-1797-9
  • Type

    conf

  • DOI
    10.1109/PADS.2012.29
  • Filename
    6305896