NETWORK SIMULATOR 3 Reporter: Chechieh Lin. O UTLINE Introduction NS3 vs. NS2 NS-3 Modules Key Abstractions A First ns-3 Script.

Slides:



Advertisements
Similar presentations
CSE 105 Structured Programming Language (C)
Advertisements

Credit hours: 4 Contact hours: 50 (30 Theory, 20 Lab) Prerequisite: TB143 Introduction to Personal Computers.
INTRODUCTION TO SIMULATION WITH OMNET++ José Daniel García Sánchez ARCOS Group – University Carlos III of Madrid.
Programming Languages for End-User Personalization of Cyber-Physical Systems Presented by, Swathi Krishna Kilari.
Chris Riesbeck, Fall 2007 Dynamic Memory Allocation Today Dynamic memory allocation – mechanisms & policies Memory bugs.
CSCI 1412 Tutorial 1 Introduction to Hardware, Software Parminder Kang Home:
- walkthrough of classic hidden terminal problem in WiFi-
Network Coding Testbed Using Software-Defined Radio Abstract In current generation networks, network nodes operate by replicating and forwarding the packets.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
Copyright node This presentation is a subset of the one presented by:
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Introduction to Computers and Programming. Some definitions Algorithm: –A procedure for solving a problem –A sequence of discrete steps that defines such.
TinyOS Software Engineering Sensor Networks for the Masses.
1 ES 314 Advanced Programming Lec 3 Sept 8 Goals: complete discussion of pointers discuss 1-d array examples Selection sorting Insertion sorting 2-d arrays.
WSN Simulation Template for OMNeT++
C++ vs. Java: Similiarities & Differences Dr. Jeyakesavan Veerasamy Director of CS UTDesign program & CS Teaching Faculty University.
Starting Out with C++: Early Objects 5/e © 2006 Pearson Education. All Rights Reserved Starting Out with C++: Early Objects 5 th Edition Chapter 1 Introduction.
Wireless scheduling analysis (With ns3) By Pradeep Prathik Saisundatr.
DIRAC API DIRAC Project. Overview  DIRAC API  Why APIs are important?  Why advanced users prefer APIs?  How it is done?  What is local mode what.
B Multi-Layer Network Design Dr. Greg Bernstein Grotto Networking
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Alternate Version of STARTING OUT WITH C++ 4 th Edition Chapter 1 Introduction to Computers and Programming.
OMNET++. Outline Introduction Overview The NED Language Simple Modules.
CSC 125 Introduction to C++ Programming Chapter 1 Introduction to Computers and Programming.
Introducing Java.
Ch 1. Introduction Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2012.
BRITE integration with ns-3 Joshua Pelkey and Dr. George Riley Wns3 March 25, 2011.
NetSim ZigBee Simulation Code Walkthrough in 10 steps
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming 1.
Data Comm. & Networks Instructor: Ibrahim Tariq Lecture 3.
Chapter 1: Introduction to Computers and Programming.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
2008/2/191 Customizing a Geographical Routing Protocol for Wireless Sensor Networks Proceedings of the th International Conference on Information.
Introduction to Interprocess communication SE-2811 Dr. Mark L. Hornick 1.
Ns-3 Training Computer and Communication Network Lab Department of Electrical Engineering National Sun Yat-Sen University 5/13/2013.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
Introduction to Java CSIS 3701: Advanced Object Oriented Programming.
Programming Concept Chapter I Introduction to Java Programming.
Ns-3 tutorial Katto lab Tadashi Yamazaki 8 November 2012.
7/26/ Design and Implementation of a Simple Totally-Ordered Reliable Multicast Protocol in Java.
Programming for Beginners Martin Nelson Elizabeth FitzGerald Lecture 15: More-Advanced Concepts.
1 Cisco Unified Application Environment Developers Conference 2008© 2008 Cisco Systems, Inc. All rights reserved.Cisco Public Introduction to Etch Scott.
Parallel Programming on the SGI Origin2000 With thanks to Igor Zacharov / Benoit Marchand, SGI Taub Computer Center Technion Moshe Goldberg,
School of Computer Science & Information Technology G6DICP Introduction to Computer Programming Milena Radenkovic.
Templates Mark Hennessy Dept Computer Scicene NUI Maynooth C++ Workshop 18 th – 22 nd September 2006.
Towards Exascale File I/O Yutaka Ishikawa University of Tokyo, Japan 2009/05/21.
1 Introduction to NS-2 r Tutorial overview of NS m Create basic NS simulation r Walk-through a simple example m Model specification m Execution and trace.
Lecture 12: Reconfigurable Systems II October 20, 2004 ECE 697F Reconfigurable Computing Lecture 12 Reconfigurable Systems II: Exploring Programmable Systems.
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Edition Chapter 1 Introduction to Computers and Programming.
Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.
Reconfigurable Communication Interface Between FASTER and RTSim Dec0907.
1 Software Reliability in Wireless Sensor Networks (WSN) -Xiong Junjie
Brief Version of Starting Out with C++ Chapter 1 Introduction to Computers and Programming.
Polymorphism and Virtual Functions One name many shapes behaviour Unit - 07.
Kernel Modules – Introduction CSC/ECE 573, Sections 001 Fall, 2012.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
Operating Systems A Biswas, Dept. of Information Technology.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Lecture 1 Page 1 CS 111 Summer 2013 Important OS Properties For real operating systems built and used by real people Differs depending on who you are talking.
Introductions of SDN in NS-3
ns-3 Training 5/08/2017 Computer and Communication Network Lab
Spark Presentation.
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
Spyridon (Spyros) Mastorakis University of California, Los Angeles
Session 1. ns-3 기초 신연철 Multimedia & Wireless Networking Laboratory, SNU
What is an Operating System?
ns-3 Waf build system ns-3 Annual Meeting June 2017
Ns-3 Tutorial Xin Li.
Ns-3 Training Simulator core ns-3 training, June 2016.
Presentation transcript:

NETWORK SIMULATOR 3 Reporter: Chechieh Lin

O UTLINE Introduction NS3 vs. NS2 NS-3 Modules Key Abstractions A First ns-3 Script

I NTRODUCTION NS-3 is a new simulator, written from scratch Programming languages: C++, Python Manage: Mercurial Compile: Waf Project started around mid 2006

ns-3 tutorial March WAF KEY CONCEPTS For those familiar with autotools: configure ->./waf -d [optimized|debug] configure make ->./waf make test ->./waf check (run unit tests) ‏ Can run programs through a special waf shell./waf --run simple-point-to-point

NS3 VS. NS2(1)

NS3 VS. NS2(2)

NS-3 M ODULES

R ANDOM V ARIABLES Currently implemented distributions Uniform: values uniformly distributed in an interval Constant: value is always the same (not really random) Exponential: exponential distribution (poisson process)... Example import pylab import ns3 rng = ns3.NormalVariable(10.0, 5.0) x = [rng.GetValue() for t in range(100000)] pylab.hist(x, 100) pylab.show()

S MART P OINTERS Reduce bugs caused by the misuse of pointers while retaining efficiency Memory Leak

C ALLBACK Allow one piece of code to call a function without any specific inter-module dependency Example int (*pfi)(int arg) = 0 int MyFunction (int arg) {} pfi = MyFunction int result = (*pfi) (1234) int result = pfi (1234)

T RACING ns-3 provides a simple mechanism for logging and providing some control over output via Log Components only get the information which from core system required without having to change and recompile the core system.

P ACKET Packet objects used vertically in NS-3 to represent: Units of information sent and received by applications Information chunks of what will become a real packet Basic Usage Create empty packet Ptr packet = Create (); Create packet with 10 ”dummy” bytes Ptr packet = Create (10); Create packet with user data Ptr packet = Create (”hello”, 5); Copy a packet Ptr packet2 = packet1->Copy ()

S IMULATOR Time is not manipulated directly: the Time class Time class supports high precision 128 bit time values(nanosecond precision) Example Time t1 = Seconds (10); Time t2 = t1 + MilliSeconds (100); std::cout << t2.GetSeconds () << std::endl; // t2 = 10.1 Time now = Simulator::Now (); void MyCallback (T1 param1, T2 param2) {...}[...] Simulator::Schedule (Seconds (3), MyCallback, param1, param2);

K EY A BSTRACTIONS Node basic computing device abstraction Application acquires and uses the resources controlled run on ns-3 Nodes to drive simulations Channel provides methods for managing communication subnetwork objects and connecting nodes Net Device provides methods for managing connections to Node and Channel objects Topology Helpers combine many distinct operations into an easy to use model for your convenience

Application T HE BASIC MODEL Application Protocol stack Node NetDevice Application Protocol stack Node NetDevice Sockets-like API Channel Packet(s) ‏

A F IRST NS -3 S CRIPT