EstiNet Network Simulator & Emulator 2014/06/03 602430017 尉遲仲涵.

Slides:



Advertisements
Similar presentations
Review of Topology and Access Techniques / Switching Concepts BSAD 141 Dave Novak Sources: Network+ Guide to Networks, Dean 2013.
Advertisements

INTRODUCTION TO SIMULATION WITH OMNET++ José Daniel García Sánchez ARCOS Group – University Carlos III of Madrid.
Chapter 3 Process Description and Control
Estinet open flow network simulator and emulator. IEEE Communications Magazine 51.9 (2013): Wang, Shie-Yuan, Chih-Liang Chou, and Chun-Ming Yang.
Transparent Checkpoint of Closed Distributed Systems in Emulab Anton Burtsev, Prashanth Radhakrishnan, Mike Hibler, and Jay Lepreau University of Utah,
1 實驗五:媒介存取協定模擬 教師: 助教:. 2 Outline  Background  Transmission Protocols  ALOHA  CSMA/CD  CSMA/CA  Network Devices  Hub  Switch  Access Point (AP)
Protocols and the TCP/IP Suite Chapter 4 (Stallings Book)
Chapter 1 and 2 Computer System and Operating System Overview
Student Projects in Computer Networking: Simulation versus Coding Leann M. Christianson Kevin A. Brown Cal State East Bay.
The new The new MONARC Simulation Framework Iosif Legrand  California Institute of Technology.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
Lecturer: Tamanna Haque Nipa
Network Simulation Internet Technologies and Applications.
A Brief Taxonomy of Firewalls
QualNet 2014/05/ 尉遲仲涵. Outline Directory Structure QualNet Basic Message & Event QualNet simulation architecture Protocol Model Programming.
Simulation and Emulation with NCTUns
OMNET++. Outline Introduction Overview The NED Language Simple Modules.
Chapter 3 Operating Systems Introduction to CS 1 st Semester, 2015 Sanghyun Park.
Research on cloud computing application in the peer-to-peer based video-on-demand systems Speaker : 吳靖緯 MA0G rd International Workshop.
Introduction to HP LoadRunner Getting Familiar with LoadRunner >>>>>>>>>>>>>>>>>>>>>>
Computer System Architectures Computer System Software
Hands-On Microsoft Windows Server 2003 Networking Chapter Three TCP/IP Architecture.
Redes Inalámbricas Máster Ingeniería de Computadores 2008/2009 Tema 7.- CASTADIVA PROJECT Performance Evaluation of a MANET architecture.
NetSim ZigBee Simulation Code Walkthrough in 10 steps
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
 Introduction to Operating System Introduction to Operating System  Types Of An Operating System Types Of An Operating System  Single User Single User.
Remote Access Chapter 4. Learning Objectives Understand implications of IEEE 802.1x and how it is used Understand VPN technology and its uses for securing.
Protocols and the TCP/IP Suite
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign.
Hour 7 The Application Layer 1. What Is the Application Layer? The Application layer is the top layer in TCP/IP's protocol suite Some of the components.
1.4 Open source implement. Open source implement Open vs. Closed Software Architecture in Linux Systems Linux Kernel Clients and Daemon Servers Interface.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 7 OS System Structure.
DBAS: A Deployable Bandwidth Aggregation System Karim Habak†, Moustafa Youssef†, and Khaled A. Harras‡ †Egypt-Japan University of Sc. and Tech. (E-JUST)
NETWORK COMPONENTS Assignment #3. Hub A hub is used in a wired network to connect Ethernet cables from a number of devices together. The hub allows each.
A Comparative Study of Signaling Protocols for Data Management and Synchronization # Department of Computer Engineering, Kocaeli University.
Fast NetServ Data Path: OpenFlow integration Emanuele Maccherani Visitor PhD Student DIEI - University of Perugia, Italy IRT - Columbia University, USA.
A Cyclic-Executive-Based QoS Guarantee over USB Chih-Yuan Huang,Li-Pin Chang, and Tei-Wei Kuo Department of Computer Science and Information Engineering.
Simulation of the OLSRv2 Protocol First Report Presentation.
Threads G.Anuradha (Reference : William Stallings)
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Management of the LHCb DAQ Network Guoming Liu * †, Niko Neufeld * * CERN, Switzerland † University of Ferrara, Italy.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Lecture 5: Threads process as a unit of scheduling and a unit of resource allocation processes vs. threads what to program with threads why use threads.
1 Computer Systems II Introduction to Processes. 2 First Two Major Computer System Evolution Steps Led to the idea of multiprogramming (multiple concurrent.
1 Wide Area Network Emulation on the Millennium Bhaskaran Raman Yan Chen Weidong Cui Randy Katz {bhaskar, yanchen, wdc, Millennium.
Department of Computer Science and Software Engineering
Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.
1.4 Open source implement. Open source implement Open vs. Closed Software Architecture in Linux Systems Linux Kernel Clients and Daemon Servers Interface.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
Activity 1 5 minutes to discuss and feedback on the following:
CLIENT SERVER COMPUTING. We have 2 types of n/w architectures – client server and peer to peer. In P2P, each system has equal capabilities and responsibilities.
Active-HDL Server Farm Course 11. All materials updated on: September 30, 2004 Outline 1.Introduction 2.Advantages 3.Requirements 4.Installation 5.Architecture.
Client-server communication Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
Enabling Grids for E-sciencE Claudio Cherubino INFN DGAS (Distributed Grid Accounting System)
Interaction and Animation on Geolocalization Based Network Topology by Engin Arslan.
Protocols and the TCP/IP Suite
Network Simulators.
3.2 Virtualisation.
Spyridon (Spyros) Mastorakis University of California, Los Angeles
Computer Simulation of Networks
Software models - Software Architecture Design Patterns
Performance Evaluation of Computer Networks
Investigation into the strengths and weaknesses of freeware network simulation tools for education purposes Academic Question : Which is the most stabiles.
Performance Evaluation of Computer Networks
Presentation transcript:

EstiNet Network Simulator & Emulator 2014/06/ 尉遲仲涵

 A simulator is a software program that can simulate the operations of a real-life system (the speed can be slower or quicker than the real clock).  In a simulation, each device in a real-life system is modeled and simulated as a software object.  The operations of these objects and their interactions are simulated during a simulation.  The functions and performances of a real-life system thus can be studied under various simulated conditions.  The cost of the simulation approach is much cheaper than the experimental approach. What is a Simulation/Simulator?

 Much lower cost than the experiment approach  No need to buy a lot of (expensive) equipments, link bandwidth, manpower, time to do experiments.  More flexible than the experiment approach  Many conditions/configurations/scenarios/parameters can be easily varied.  Can explore many design alternatives to find the best design  Provide repeatable and clean testing, debugging, and performance evaluation environment  Safer, cleaner, and many other advantages Advantages of Simulation

 Facilitate network protocol development, design, testing, debugging, and performance evaluation  E.g., WIMAX, LTE MAC protocols, Wireless Vehicular Networks (IEEE 802.llp/1&09) protocol, cloud computing, IPTV, SIP, etc.  Save network planning cost without costly try-and-errors in the real world  Resource provisioning and engineering (network topology, number of links, purchased bandwidth, backup routes, etc.)  Optimize communication/network IC designs  Nowadays, advanced Cs begin to use network-like protocol layers to communicate with each other (e.g., PCI-express, USB 3.0, Infinite Band, etc.) Benefits of Network Simulation

 An emulator is a software program that simulates the operations of a real-life system in real time.  It can be connected to real-life devices during an emulation.  The packets exchanged among real-life devices are forced to pass through the emulator.  The emulator can purposely delay/drop/reorder or reduce available bandwidth for these packets to simulate various reallife network conditions.  The functions and performances of these real-life devices thus can be tested and evaluated under various network conditions. What is an Emulation/Emulator?

 Only Estinet Network Emulator can let the packets of a reallife flow traverse through a complex simulated network and compete with simulated traffics that are generated by real-life applications and TCP/IP protocols.

Architecture

The fully integrated GUI environment enables a user to edit a network topology, configure the protocol modules of a network node, set the parameter values of a protocol module, specify mobile nodes’ moving paths, plot performance curves, playback animations of logged packet transfers, etc. GUI Operating Environment

The NCTUns simulation engine is a user-level program that functions like a small operating system. Through a defined API, it provides basic simulation services to protocol modules (to be described later). Such services include virtual clock maintenance,timer management, event scheduling, variable registrations,etc. The simulation engine needs to be compiled with various protocol modules to form a single user-level program called ‘simulation server.’ A simulation server takes a simulation job description file suite as input, runs the simulation, and generates data and packet transfer log files. When a simulation server is running, it utilizes a lot of kernel resources. Therefore, we do not allow other simulation servers to run at the same time on the same machine. Simulation Engine

NCTUns supports various protocol modules. A protocol module implements a layer of a protocol stack(e.g., the ARP protocol or a FIFO queue). A protocol module is composed of a set of functions. It needs to be compiled with the simulation engine to create a simulation server. Inside the simulation server, multiple protocol modules can be chained to form a protocol stack.The NCTUns simulation job dispatcher is a userlevel program that supports concurrent simulations on multiple simulation machines. The job dispatcher should be executed and remain alive to manage multiple simulation machines. The job dispatcher coordinates a large number of GUI users and a large number of simulation machines. When a user submits a simulation job to the job dispatcher, the dispatcher will select an available simulation machine to execute this job. If no machine is available, the submitted job can be queued and managed by the dispatcher as a background job. Various scheduling policies can be used to schedule their service order. Protocol Module and Job Dispatcher

The NCTUns coordinator is a user-level program executed on every machine where a simulation server resides. The coordinator informs the job dispatcher whether this machine is currently busy in running a simulation or not. When executed, it first registers itself with the dispatcher to join in the dispatcher’s simulation machine farm. When its status (idle or busy) changes, the dispatcher is notified of this new status. Based on the machine status information, the dispatcher chooses an available machine from its machine farm to service a job. When the coordinator receives a job from the dispatcher, it forks (executes) a simulation server to simulate the specified network and protocols. The forked simulation server process will kill itself when its simulation is finished. Coordinator

NCTUns modifies the kernel of the simulation machine so that a simulation server can correctly run on it. During a simulation, the timers of TCP connections in a simulated network should be triggered in the simulation time rather than in the real time. The same processing should also be applied to the time-related services requested by the application programs that are run on simulated nodes. For example, when the kernel receives the sleep(5) system call issued by an application program process, it should suspend the execution of the process for 5 s in simulation time rather than in real time. Kernel Modification

The NCTUns protocol daemons run at the user level to perform specific jobs. For example, the real-world ‘routed’ (using the RIP routing protocol) or ‘gated’ (using the OSPF routing protocol) daemons run with NCTUns to set up the routing tables in a simulated network. The NCTUns real-world application programs run at the user level to either generate network traffic, configure network, or monitor network traffic, etc. For example, the tcpdump program can run on a simulated network to capture packets flowing over a link and the traceroute program can run on a simulated network to find out the routing path traversed by a packet. User-Level Daemon and Real-World Application Program