Ns-3 Tutorial Xin Li.

Slides:



Advertisements
Similar presentations
INTRODUCTION TO SIMULATION WITH OMNET++ José Daniel García Sánchez ARCOS Group – University Carlos III of Madrid.
Advertisements

1 The ns-2 Network Simulator H Plan: –Discuss discrete-event network simulation –Discuss ns-2 simulator in particular –Demonstration and examples: u Download,
1 NS-2 Tutorial COMP R2 University of Manitoba March 4, 2009.
Wireless Communication : LAB 3
Introduction to Network Simulator NS-2 Part I
Network Simulation One tool to simulation network protocols for the Internet is the network simulator (NS) The simulation environment needs to be set-
An Introduction to NS-2 * Gayatri Swamynathan CS 276 TA *some slides are from a presentation by Haobo Yu & Nader Salehi, USC/ISI.
NS-2 Shahin Shayandeh December 2004 Session 2. Ns programming  Create the event scheduler  Turn on tracing  Create network  Setup routing  Insert.
Ns-2 tutorial Karthik Sadasivam Banuprasad Samudrala CSCI 5931 Network Security Instructor : Dr. T. Andrew Yang.
5-Jul-141 S.Pushpalatha, Associate Professor, PSNACET.
Chapter 17 Networking Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
- walkthrough of classic hidden terminal problem in WiFi-
Leveraging IP for Sensor Network Deployment Simon Duquennoy, Niklas Wirstrom, Nicolas Tsiftes, Adam Dunkels Swedish Institute of Computer Science Presenter.
Katz, Stoica F04 EECS 122 Introduction to Computer Networks (Fall 2003) Network simulator 2 (ns-2) Department of Electrical Engineering and Computer Sciences.
Performance Comparison of Routing Protocols for Ad Hoc Networks PATTERN ENDIF Ferrara.
Copyright node This presentation is a subset of the one presented by:
1 Modified Schedule Day 2 Network AniMator (nam) Examples simple.tcl mcast.tcl Day 3 Wireless (ad-hoc)
Network Simulation Internet Technologies and Applications.
Simulation and Emulation with NCTUns
NdnSIM Tutorial.
Wireless Networking and Systems CSE 590 ns2 tutorial.
Wave Relay System and General Project Details. Wave Relay System Provides seamless multi-hop connectivity Operates at layer 2 of networking stack Seamless.
Redes Inalámbricas Máster Ingeniería de Computadores 2008/2009 Tema 7.- CASTADIVA PROJECT Performance Evaluation of a MANET architecture.
The Georgia Tech Network Simulator (GTNetS) ECE6110 August 25, 2008 George F. Riley.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public Packet Tracer Overview Session 1 Speaker Name 20PT Packet Tracer: Overview Session.
1 Introduction to Networking Dr. Mahdi Nasereddin PPU.
NETWORK SIMULATOR 3 Reporter: Chechieh Lin. O UTLINE Introduction NS3 vs. NS2 NS-3 Modules Key Abstractions A First ns-3 Script.
Ns-3 Training Computer and Communication Network Lab Department of Electrical Engineering National Sun Yat-Sen University 5/13/2013.
Project Idea #1 Project: Simulation in NS Learn how to use NS-2 Examine 2-3 papers that do benchmark studies Implement a simulation of the Drexel TAARP.
Sharing Information across Congestion Windows CSE222A Project Presentation March 15, 2005 Apurva Sharma.
Ns-3 tutorial Katto lab Tadashi Yamazaki 8 November 2012.
NETWORK HARDWARE AND SOFTWARE MR ROSS UNIT 3 IT APPLICATIONS.
Chapter 6 Data Communications. Network Collection of computers Communicate with one another over transmission line Major types of network topologies What.
Network Emulation for the Study and Validation of Traffic Models, Congestion and Flow Control in TCP/IP Networks Cheryl Pope Lecturer Department of Computer.
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.
Atrium Router Project Proposal Subhas Mondal, Manoj Nair, Subhash Singh.
Introductions of SDN in NS-3
Software and Communication Driver, for Multimedia analyzing tools on the CEVA-X Platform. June 2007 Arik Caspi Eyal Gabay.
6. The Open Network Lab Overview and getting started
(Modified from Polly Huang’s and last year’s original)
Chapter Objectives In this chapter, you will learn:
ns-3 Training 5/08/2017 Computer and Communication Network Lab
CompTIA Security+ Study Guide (SY0-401)
Introduction and Overview of Network and Telecommunications
Computer Networks.
Introduction An introduction to the software and organization of the Internet Lab.
Slides taken from: Computer Networking by Kurose and Ross
An IP-based multimedia traffic generator
Simulators for Sensor Networks
Introduction to ns-2: “The” Network Simulator
Real Life Networking Examples
Logo here Module 3 Microsoft Azure Web App. Logo here Module Overview Introduction to App Service Overview of Web Apps Hosting Web Applications in Azure.
Introduction to ZBOSS Embedded Systems Software Training Center
Chapter 4: Routing Concepts
Spyridon (Spyros) Mastorakis University of California, Los Angeles
ns-3 Training ns-3 Annual Meeting June 2017
CompTIA Security+ Study Guide (SY0-401)
Introduction An introduction to the software and organization of the Internet Lab.
Computer Simulation of Networks
Session 1. ns-3 기초 신연철 Multimedia & Wireless Networking Laboratory, SNU
Software Defined Networking (SDN)
Karthik Sadasivam Banuprasad Samudrala
ns-3 Waf build system ns-3 Annual Meeting June 2017
Ns-3 Training Session 4: Monday 3:30pm ns-3 Annual Meeting May 2014.
The OSI 7 Layer Model Ben, Stuart, Charles.
Connecting to the Network
Ns-3 Training Debugging support ns-3 training, June 2016.
ns-3 training Tom Henderson ns-3 annual meeting 2019
Ns-3 Training ns-3 Objects ns-3 training, June 2016.
Presentation transcript:

Ns-3 Tutorial Xin Li

Introduction

What is ns-3? Network Simulator Version 3 Software simulated models Discrete-event simulator Written in C++/Python binding Focus on packet level Wired/Wireless

Why ns-3? Simulation V.S. Testbed Reproducibility Ease of deployment Investigate non-existed systems Scalability Ns-3 V.S. other simulation tools Community-oriented Free and open-source Ease of debugging

Setup

Installation Instructions https://www.nsnam.org/wiki/Installation Supported systems Linux MacOS FreeBSD Windows Linux through virtual machine

Development Environment IDE Eclipse QT Creator NetBeans Text editor + command line

Models

The Basic NS-3 Data Flow Model Application Protocol stack Node NetDevice Sockets-like API Channel Packet(s)‏

NS-3 Models: Node & App Nodes End-Systems, Routers, Hubs, NATs Applications Bulk TCP transfer TCP/UDP “On-Off” application Web browsing Peer-to-peer file transfers Video streaming Chat

NS-3 Models: Protocol Stack TCP-UDP-IPV4-IPV6 Routing Protocols BGP – OSPF – EIGRP – OLSR – DSR – AODV Multicast Protocols PIM-SM/DM - DVMRP

NS-3 Models: Net Device & Channel Net Devices & Channels bound WifiNetDevice WifiChannel

NS-3 Models: Net Device & Channel Network Interfaces Wired/Wireless Layer 2 protocols 802.3, 802.11 Channel Ethernet (10/100/1000Mb) Point-to-Point Wireless Mobility Models Random Walk – Specific Waypoint - Swarming

Usage

NS-3 Modules API: https://www.nsnam.org/doxygen/

NS-3 Build 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

Network Simulation Flowchat Create topology Nodes, Links, Queues, Routing, etc. Create data demand on network Web browsers, FTP transfers Run simulation Analyze results

Smart Pointers ns-3 objects are memory managed by a reference counting smart pointer implementation Easier memory management Treat a smart pointer like a regular pointer

Attributes Changing objects' characteristics Member Function Config System

Random Variables Currently implemented distributions Uniform, Poisson Process, etc. Usage

Callbacks Allow one piece of code to call a function without any specific inter- module dependency Example:

Timing and Schedule Time is not manipulated directly: the Time class Example:

Logging ns-3 provides a selectable, multi-level approach to message logging Logging can be disabled completely enabled on a component-by-component basis enabled globally

Logging Seven levels of log messages of increasing verbosity: NS_LOG_ERROR NS_LOG_WARN NS_LOG_DEBUG NS_LOG_INFO NS_LOG_FUNCTION NS_LOG_LOGIC NS_LOG_ALL Each level can be requested singly or cumulatively

Logging Example: Enable outside code:

Tracing Tracing Changes Producer Consumer Pattern

Tracing Helper Connecting source and sink

Visualization Live visualization with PyViz

Useful Resources NS-3 Wiki Page https://www.nsnam.org/wiki/Main_Page NS-3 Tutorial https://www.nsnam.org/docs/tutorial/html/ NS-3 API Document https://www.nsnam.org/docs/release/3.17/doxygen/index.html