SlideShare a Scribd company logo
NS3
Tech Talk
in1010 - Redes de Computadores 2015.1 rodrigodma@gprt.ufpe.br
NS3
● Open source simulator for networking
research and education
● Core is written entirely in C++
● User code (protocols and scenarios)
○ C++
○ Python wrappers
● Library-based usage
○ http://www.nsnam.org/getting_started.html
NS3
● extensive parameterization system
● embedded tracing system
● standards outputs
○ txt logs
○ PCAPs
NS3
● Discrete event simulator
○ Simulation time moves discretely from event to event
○ Schedule events to occur at specific simulation times
○ A simulation scheduler orders the event execution
○ Simulator execute events one by one
○ Simulation stops at specific time or when events end
NS3
● NS3 vs NS2
○ not a extension
○ does not have an OTcl API
NS3
● Nodes
○ Contains Applications, Stacks and NetDevices
● NetDevices
○ represents the technology used to communication
● Channels
○ NetDevices are strongly bound to Channels of a
matching type
NS3
NS3
NS3
● Internet Stacks
○ Provides IPv4/IPv6 models
● Routing
○ implement the routing protocol class, like
Ipv4RoutingProtocol
NS3
NS3
● Applications
○ a list of application is stored in the Node
○ applications are like processes
○ make use of a sockets-like API
■ Application::Start() may call ns3::
Socket::SendMsg() in a lower layer
NS3
NS3
● Mobility
○ could set the mobility, position, direction and velocity
NS3
NS3
NS3
NS3
● everything is object
○ similar objects can be grouped in containers
○ every object can have attributes
NS3
● Waf build system
○ is a python-based framework for configuring,
compiling and installing applications.
○ similar to other tools such as Autotools, CMake, Ant
○ http://code.google.com/p/waf/
NS3
● waf key commands
○ configure
■ ./waf -d [optimized|debug] configure
○ make
■ ./waf
○ run programs
■ ./waf --run simple-point-to-point
○ run visualizer
■ ./waf --run <program_name> --vis
NS3
● Pyviz Visualizer
NS3
● Writing scripts
○ Create nodes
○ Create netDevices with MAC and PHY
○ Attach netDevices to nodes and set interconnections
○ install protocol stack in nodes
○ set network address for interfaces
○ setup routing
○ install applications in nodes
○ set application start and stop time
○ set simulation start time
○ run simulation
NS3
● Debugging
○ Assertions: NS_ASSERT(expression)
■ aborts the program if expression evaluates to
false
■ unconditional breakpoints: NS_BREAKPOINT();
○ GDB commands
NS3
● Logging
NS_LOG_ERROR — Log error messages;
NS_LOG_WARN — Log warning messages;
NS_LOG_DEBUG — Log relatively rare, ad-hoc debugging messages;
NS_LOG_INFO — Log informational messages about program progress;
NS_LOG_FUNCTION — Log a message describing each function called;
NS_LOG_LOGIC – Log messages describing logical flow within a function;
NS_LOG_ALL — Log everything.
NS_LOG_UNCOND – Log the associated message unconditionally.
NS3
● Future Read
○ ns-3 overview
■ http://www.nsnam.org/docs/ns-3-overview.ppt
■ http://www.nsnam.org/docs/ns-3-overview.pdf
○ ns-3 Tutorial
■ http://www.nsnam.org/docs/release/3.13/tutorial/ns-3-
tutorial.pdf
○ ns-3 Manual
■ http://www.nsnam.org/docs/release/3.13/manual/ns-3-
manual.pdf
Q&A
Rodrigo Melo (@rodrigodma)
http://www.slideshare.net/rodrigodma/ns3-tech-talk

More Related Content

PDF
Network Simulation NS3
PPTX
PDF
Building Topology in NS3
PDF
1 session installation
PDF
Tutorial ns 3-tutorial-slides
PDF
NS3 Overview
PDF
ns-3 Tutorial
PPTX
Ground to ns3 - Basic wireless topology implementation
Network Simulation NS3
Building Topology in NS3
1 session installation
Tutorial ns 3-tutorial-slides
NS3 Overview
ns-3 Tutorial
Ground to ns3 - Basic wireless topology implementation

What's hot (20)

PPTX
NS3 Simulation Research Guidance
PDF
PPTX
Introduction to ns3
PPTX
Spring sim 2010-riley
PDF
WiMAX implementation in ns3
PPTX
NetCat - the suiss army knife of network
PDF
Linux Network Filtering
PDF
Introduction to ns2
PDF
Skydive 31 janv. 2016
PDF
Exploiting parallelism opportunities in non-parallel architectures to improve...
PPTX
Link Capacity Estimation in SDN-based End-hosts
PDF
Tempesta FW: a FrameWork and FireWall for HTTP DDoS mitigation and Web Applic...
PPTX
Tc basics
PPTX
Network emulator
PDF
BKK16-203 Irq prediction or how to better estimate idle time
PDF
Memory Forensics in AWS
PPT
Network Simulator Tutorial
PDF
Incident Response Automation @ Netflix Q12019
PPTX
Introduction to Exploitation
PPTX
Enumeration
NS3 Simulation Research Guidance
Introduction to ns3
Spring sim 2010-riley
WiMAX implementation in ns3
NetCat - the suiss army knife of network
Linux Network Filtering
Introduction to ns2
Skydive 31 janv. 2016
Exploiting parallelism opportunities in non-parallel architectures to improve...
Link Capacity Estimation in SDN-based End-hosts
Tempesta FW: a FrameWork and FireWall for HTTP DDoS mitigation and Web Applic...
Tc basics
Network emulator
BKK16-203 Irq prediction or how to better estimate idle time
Memory Forensics in AWS
Network Simulator Tutorial
Incident Response Automation @ Netflix Q12019
Introduction to Exploitation
Enumeration
Ad

Similar to NS3 Tech Talk (20)

PDF
Paper9250 implementation of an i pv6 stack for ns-3
PPTX
Plenzogan technology
DOCX
PDF
DCCN 2016 - Tutorial 2 - 4G for SmartGrid ecosystem
PPTX
ACMSE2022-Tutorial-Slides.pptx
PPTX
Network Simulator overview and its working
PDF
presentation on NS3 by rahul hada (Session 2)
PDF
Nsby examples
PPT
Ns fundamentals 1
PPTX
A to NS2 Simulator architecture and it basic functions
PDF
Simulations on Computer Network An Improved Study in the Simulator Methodolog...
PDF
Performance comparision 1307.4129
PDF
DCCN 2016 - Tutorial 1 - Communication with LAN/WLAN
PDF
Simulators for Wireless Sensor Networks (OMNeT++)
PPT
Venkat ns2
PDF
Ns2pre
DOCX
Network simulator
PPTX
NS3-Projects-for-Master-Thesis-Students
PPT
Tut hemant ns2
Paper9250 implementation of an i pv6 stack for ns-3
Plenzogan technology
DCCN 2016 - Tutorial 2 - 4G for SmartGrid ecosystem
ACMSE2022-Tutorial-Slides.pptx
Network Simulator overview and its working
presentation on NS3 by rahul hada (Session 2)
Nsby examples
Ns fundamentals 1
A to NS2 Simulator architecture and it basic functions
Simulations on Computer Network An Improved Study in the Simulator Methodolog...
Performance comparision 1307.4129
DCCN 2016 - Tutorial 1 - Communication with LAN/WLAN
Simulators for Wireless Sensor Networks (OMNeT++)
Venkat ns2
Ns2pre
Network simulator
NS3-Projects-for-Master-Thesis-Students
Tut hemant ns2
Ad

Recently uploaded (20)

PPTX
Transform Your Business with a Software ERP System
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
history of c programming in notes for students .pptx
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PPTX
Online Work Permit System for Fast Permit Processing
PDF
How Creative Agencies Leverage Project Management Software.pdf
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
System and Network Administraation Chapter 3
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
L1 - Introduction to python Backend.pptx
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Digital Strategies for Manufacturing Companies
PDF
medical staffing services at VALiNTRY
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPT
Introduction Database Management System for Course Database
Transform Your Business with a Software ERP System
CHAPTER 2 - PM Management and IT Context
2025 Textile ERP Trends: SAP, Odoo & Oracle
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
history of c programming in notes for students .pptx
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Understanding Forklifts - TECH EHS Solution
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Online Work Permit System for Fast Permit Processing
How Creative Agencies Leverage Project Management Software.pdf
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
Wondershare Filmora 15 Crack With Activation Key [2025
System and Network Administraation Chapter 3
Which alternative to Crystal Reports is best for small or large businesses.pdf
L1 - Introduction to python Backend.pptx
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Digital Strategies for Manufacturing Companies
medical staffing services at VALiNTRY
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Introduction Database Management System for Course Database

NS3 Tech Talk

  • 1. NS3 Tech Talk in1010 - Redes de Computadores 2015.1 rodrigodma@gprt.ufpe.br
  • 2. NS3 ● Open source simulator for networking research and education ● Core is written entirely in C++ ● User code (protocols and scenarios) ○ C++ ○ Python wrappers ● Library-based usage ○ http://www.nsnam.org/getting_started.html
  • 3. NS3 ● extensive parameterization system ● embedded tracing system ● standards outputs ○ txt logs ○ PCAPs
  • 4. NS3 ● Discrete event simulator ○ Simulation time moves discretely from event to event ○ Schedule events to occur at specific simulation times ○ A simulation scheduler orders the event execution ○ Simulator execute events one by one ○ Simulation stops at specific time or when events end
  • 5. NS3 ● NS3 vs NS2 ○ not a extension ○ does not have an OTcl API
  • 6. NS3 ● Nodes ○ Contains Applications, Stacks and NetDevices ● NetDevices ○ represents the technology used to communication ● Channels ○ NetDevices are strongly bound to Channels of a matching type
  • 7. NS3
  • 8. NS3
  • 9. NS3 ● Internet Stacks ○ Provides IPv4/IPv6 models ● Routing ○ implement the routing protocol class, like Ipv4RoutingProtocol
  • 10. NS3
  • 11. NS3 ● Applications ○ a list of application is stored in the Node ○ applications are like processes ○ make use of a sockets-like API ■ Application::Start() may call ns3:: Socket::SendMsg() in a lower layer
  • 12. NS3
  • 13. NS3 ● Mobility ○ could set the mobility, position, direction and velocity
  • 14. NS3
  • 15. NS3
  • 16. NS3
  • 17. NS3 ● everything is object ○ similar objects can be grouped in containers ○ every object can have attributes
  • 18. NS3 ● Waf build system ○ is a python-based framework for configuring, compiling and installing applications. ○ similar to other tools such as Autotools, CMake, Ant ○ http://code.google.com/p/waf/
  • 19. NS3 ● waf key commands ○ configure ■ ./waf -d [optimized|debug] configure ○ make ■ ./waf ○ run programs ■ ./waf --run simple-point-to-point ○ run visualizer ■ ./waf --run <program_name> --vis
  • 21. NS3 ● Writing scripts ○ Create nodes ○ Create netDevices with MAC and PHY ○ Attach netDevices to nodes and set interconnections ○ install protocol stack in nodes ○ set network address for interfaces ○ setup routing ○ install applications in nodes ○ set application start and stop time ○ set simulation start time ○ run simulation
  • 22. NS3 ● Debugging ○ Assertions: NS_ASSERT(expression) ■ aborts the program if expression evaluates to false ■ unconditional breakpoints: NS_BREAKPOINT(); ○ GDB commands
  • 23. NS3 ● Logging NS_LOG_ERROR — Log error messages; NS_LOG_WARN — Log warning messages; NS_LOG_DEBUG — Log relatively rare, ad-hoc debugging messages; NS_LOG_INFO — Log informational messages about program progress; NS_LOG_FUNCTION — Log a message describing each function called; NS_LOG_LOGIC – Log messages describing logical flow within a function; NS_LOG_ALL — Log everything. NS_LOG_UNCOND – Log the associated message unconditionally.
  • 24. NS3 ● Future Read ○ ns-3 overview ■ http://www.nsnam.org/docs/ns-3-overview.ppt ■ http://www.nsnam.org/docs/ns-3-overview.pdf ○ ns-3 Tutorial ■ http://www.nsnam.org/docs/release/3.13/tutorial/ns-3- tutorial.pdf ○ ns-3 Manual ■ http://www.nsnam.org/docs/release/3.13/manual/ns-3- manual.pdf