NS-3 Advanced Tutorial: Visualization and Data Collection



Similar documents
FlowMonitor a network monitoring framework for the Network Simulator 3 (NS-3)

ns-3 development overview ns-3 GENI Eng. Conf., Nov

Mobility in ns-3. Contenidos SIMULACIÓN DE PROTOCOLOS DE ENRUTAMIENTO PARA REDES MÓVILES AD-HOC MEDIANTE HERRRAMIENTA DE SIMULACIÓN NS-3

ns-3 Tutorial (Part IV) Wireless & Tracing System and Visualizing Results

FlowMonitor - a network monitoring framework for the Network Simulator 3 (NS-3)

Traffic Prediction in Wireless Mesh Networks Using Process Mining Algorithms

EINTE LAB EXERCISES LAB EXERCISE #5 - SIP PROTOCOL

The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications

NfSen Plugin Supporting The Virtual Network Monitoring

Lab Module 3 Network Protocol Analysis with Wireshark

Optimization of AODV routing protocol in mobile ad-hoc network by introducing features of the protocol LBAR

OPNET Network Simulator

Internet Firewall CSIS Packet Filtering. Internet Firewall. Examples. Spring 2011 CSIS net15 1. Routers can implement packet filtering

Analyzing 6LoWPAN/ZigBeeIP networks with the Perytons Protocol Analyzer May, 2012

A Comparison Study of Qos Using Different Routing Algorithms In Mobile Ad Hoc Networks

NNMi120 Network Node Manager i Software 9.x Essentials

Netflow Collection with AlienVault Alienvault 2013

Data Visualization. Scientific Principles, Design Choices and Implementation in LabKey. Cory Nathe Software Engineer, LabKey

Do You See What I See (DYSWIS)

Analyzing large flow data sets using. visualization tools. modern open-source data search and. FloCon Max Putas

J-Flow on J Series Services Routers and Branch SRX Series Services Gateways

Data Center Real User Monitoring

Introduction to Synoptic

Technical Support Information

Assignment #3 Routing and Network Analysis. CIS3210 Computer Networks. University of Guelph

Figure 1. perfsonar architecture. 1 This work was supported by the EC IST-EMANICS Network of Excellence (#26854).

Network forensics 101 Network monitoring with Netflow, nfsen + nfdump

Certified The Grinder Testing Professional VS-1165

Network Connect Performance Logs on MAC OS

Lab Conducting a Network Capture with Wireshark

Detecting Threats in Network Security by Analyzing Network Packets using Wireshark

LIST OF FIGURES. Figure No. Caption Page No.

A Survey Study on Monitoring Service for Grid

Exercises on ns-2. Chadi BARAKAT. INRIA, PLANETE research group 2004, route des Lucioles Sophia Antipolis, France

THE UNIVERSITY OF AUCKLAND

modeling Network Traffic

PANDORA FMS NETWORK DEVICES MONITORING

A QUICK OVERVIEW OF THE OMNeT++ IDE

Network Connect & Junos Pulse Performance Logs on Windows

11.1. Performance Monitoring

ns-2 Tutorial Exercise

Large-Scale TCP Packet Flow Analysis for Common Protocols Using Apache Hadoop

Scalable Extraction, Aggregation, and Response to Network Intelligence

Computer Technology Department, De La Salle University, 2401 Taft Ave., Manila

Improved metrics collection and correlation for the CERN cloud storage test framework

How To Gather Log Files On A Pulse Secure Server On A Pc Or Ipad (For A Free Download) On A Network Or Ipa (For Free) On An Ipa Or Ipv (For An Ubuntu) On Your Pc

Road-Based Routing Protocol for Vanet Using Sumo and Move

PANDORA FMS NETWORK DEVICE MONITORING

HONE: Correlating Host activities to Network communications to produce insight

A Survey: High Speed TCP Variants in Wireless Networks

Security Scheme for Distributed DoS in Mobile Ad Hoc Networks

DNS (Domain Name System) is the system & protocol that translates domain names to IP addresses.

OPNET - Network Simulator

Reinhard Stadler Customer Support Consultant HP Services April Analyzing data and displaying results

Cisco NetFlow Generation Appliance (NGA) 3140

Analog Monitoring Tool AMT 0.3b User Manual

How To Test The Bandwidth Meter For Hyperv On Windows V (Windows) On A Hyperv Server (Windows V2) On An Uniden V2 (Amd64) Or V2A (Windows 2

A Wireless Mesh Network NS-3 Simulation Model: Implementation and Performance Comparison With a Real Test-Bed

Performance Evaluation of AODV, OLSR Routing Protocol in VOIP Over Ad Hoc

Emerald. Network Collector Version 4.0. Emerald Management Suite IEA Software, Inc.

A Plan for the Continued Development of the DNS Statistics Collector

Authors Mário Serafim Nunes IST / INESC-ID Lisbon, Portugal mario.nunes@inesc-id.pt

SonicWALL Global Management System Reporting Guide Standard Edition

Step by Step Procedural Comparison of DSR, AODV and DSDV Routing protocol

Telematics. 14th Tutorial - Proxies, Firewalls, P2P

1 M.Tech, 2 HOD. Computer Engineering Department, Govt. Engineering College, Ajmer, Rajasthan, India

TECHNICAL NOTE. Technical Note P/N REV 03. EMC NetWorker Simplifying firewall port requirements with NSR tunnel Release 8.

Mapping Tool for Networks Using OSPF and LLTD Protocols

EKT 332/4 COMPUTER NETWORK

Wireshark Tutorial. Figure 1: Packet sniffer structure

Centralizing Windows Events with Event Forwarding

6. INTRODUCTION TO THE LABORATORY: SOFTWARE TOOLS

Edge Configuration Series Reporting Overview

Administration Guide. . All right reserved. For more information about Specops Inventory and other Specops products, visit

Computer Networking LAB 2 HTTP

Network Security Demonstration - Snort based IDS Integration -

Deploying Cisco Basic Wireless LANs WDBWL v1.1; 3 days, Instructor-led

visual packet analysis

Basic and most important functions

SolarWinds. Understanding SolarWinds Charts and Graphs Technical Reference

FileNet System Manager Dashboard Help

Experimentation driven traffic monitoring and engineering research

Developing Windows Azure and Web Services

ITL Lab 5 - Performance Measurements and SNMP Monitoring 1. Purpose

Using Fuzzy Logic Control to Provide Intelligent Traffic Management Service for High-Speed Networks ABSTRACT:

Lab VI Capturing and monitoring the network traffic

MONITORING PERFORMANCE IN WINDOWS 7

Requirements for Simulation and Modeling Tools. Sally Floyd NSF Workshop August 2005

Introduction to Passive Network Traffic Monitoring

Research on Errors of Utilized Bandwidth Measured by NetFlow

Cisco IOS Flexible NetFlow Command Reference

Using the Push Notifications Extension Part 1: Certificates and Setup

Ciphermail Gateway PDF Encryption Setup Guide

Introducing the Adafruit Bluefruit LE Sniffer

What s new in TIBCO Spotfire 6.5

Implementation of Data Link Layer Protocols for a Network Simulator

S3 Monitor Design and Implementation Plans

Firewall Defaults, Public Server Rule, and Secondary WAN IP Address

Packet Capture. Document Scope. SonicOS Enhanced Packet Capture

Transcription:

NS-3 Advanced Tutorial: Visualization and Data Collection Tom Henderson (University of Washington and Boeing Research & Technology) L. Felipe Perrone (Bucknell University) NS-3 Consortium Meeting 1

Outline Getting visualization and raw data from ns-3 Tracing and packet traces Gnuplot and Matplotlib Flow Monitor PyViz NetAnim Statistics Data Collection Framework NS-3 Consortium Meeting 2

Tracing requirements Tracing is a structured form of simulation output Example (from ns-2): + 1.84375 0 2 cbr 210 ------- 0 0.0 3.1 225 610-1.84375 0 2 cbr 210 ------- 0 0.0 3.1 225 610 r 1.84471 2 1 cbr 210 ------- 1 3.0 1.0 195 600 r 1.84566 2 0 ack 40 ------- 2 3.2 0.1 82 602 + 1.84566 0 2 tcp 1000 ------- 2 0.1 3.2 102 611 Problem: Tracing needs vary widely would like to change tracing output without editing the core would like to support multiple outputs NS-3 Consortium Meeting 3

Tracing in ns-3 ns-3 configures multiple 'TraceSource' objects (TracedValue, TracedCallback) Multiple types of 'TraceSink' objects can be hooked to these sources A special configuration namespace helps to manage access to trace sources TracedValue TraceSource Config::Connect ("/path/to/traced/value", callback1); Config::Connect ("/path/to/trace/source", callback2); TraceSource unattached

NetDevice trace hooks Example: CsmaNetDevice CsmaNetDevice::Send () NetDevice:: ReceiveCallback queue MacTx MacDrop MacTxBackoff Sniffer PromiscSniffer MacRx PhyTxBegin PhyTxDrop PhyTxEnd CsmaNetDevice:: TransmitStart() PhyRxEnd PhyRxDrop CsmaNetDevice:: Receive() CsmaChannel

Enabling tracing in your code examples/tutorial/third.cc Device helpers provide common API for enabling pcap traces Global pcap tracing Per-device pcap tracing

External pcap tools wireshark graph analysis Shawn Ostermann's tcptrace tool

Outline Getting visualization and raw data from ns-3 Packet traces Gnuplot and Matplotlib Flow Monitor PyViz NetAnim Statistics Data Collection Framework NS-3 Consortium Meeting 8

Gnuplot src/tools/gnuplot.{cc,h} C++ wrapper around gnuplot classes: Gnuplot GnuplotDataset Gnuplot2dDataset, Gnuplot2dFunction Gnuplot3dDataset, Gnuplot3dFunction

Enabling gnuplot for your code examples/wireless/wifi-clear-channel-cmu.cc produce a plot file that will generate an EPS figure one dataset per mode Add data to dataset Add dataset to plot

Matplotlib Matplotlib or other Python plotting programs can be used example: src/core/examples/sample-rng-plot.py NS-3 Consortium Meeting 11

Outline Getting visualization and raw data from ns-3 Packet traces Gnuplot and Matplotlib Flow Monitor PyViz NetAnim Statistics Data Collection Framework NS-3 Consortium Meeting 12

FlowMonitor Network monitoring framework found in src/flow-monitor/ Goals: detect all flows passing through network stores metrics for analysis such as bitrates, duration, delays, packet sizes, packet loss ratios G. Carneiro, P. Fortuna, M. Ricardo, "FlowMonitor-- a network monitoring framework for the Network Simulator ns-3," Proceedings of NSTools 2009.

FlowMonitor architecture Basic classes FlowMonitor FlowProbe FlowClassifier FlowMonitorHelper Ipv4 only Figure credit: G. Carneiro, P. Fortuna, M. Ricardo, "FlowMonitor-- a network monitoring framework for the Network Simulator ns-3," Proceedings of NSTools 2009.

FlowMonitor statistics Statistics gathered

FlowMonitor configuration example/wireless/wifi-hidden-terminal.cc

FlowMonitor output This program exports statistics to stdout Other examples integrate with PyViz

Outline Getting visualization and raw data from ns-3 Packet traces Gnuplot and Matplotlib Flow Monitor PyViz NetAnim Statistics Data Collection Framework NS-3 Consortium Meeting 18

PyViz overview Developed by Gustavo Carneiro Live simulation visualizer (no trace files) Useful for debugging mobility model behavior where are packets being dropped? Built-in interactive Python console to debug the state of running objects Works with Python and C++ programs

Pyviz screenshot (Graphviz layout) NS-3 Consortium Meeting

Pyviz and FlowMonitor src/flow-monitor/examples/wifi-olsr-flowmon.py

Enabling PyViz in your simulations Make sure PyViz is enabled in the build If program supports CommandLine parsing, pass the option --SimulatorImplementationType= ns3::visualsimulatorimpl Alternatively, pass the "--vis" option

Outline Getting visualization and raw data from ns-3 Packet traces Gnuplot and Matplotlib Flow Monitor PyViz NetAnim Statistics Data Collection Framework NS-3 Consortium Meeting 23

NetAnim "NetAnim" by George Riley and John Abraham pyviz NS-3 Consortium Meeting 24

NetAnim key features Animate packets over wired-links and wirelesslinks limited support for LTE traces Packet timeline with regex filter on packet metadata. Node position statistics with node trajectory plotting (path of a mobile node). Print brief packet-meta data on packets

NetAnim 3.104 overview Forthcoming release More details in packet animation Smoother mobility Plotting the routing path from a source node to a destination IP address Print routing tables at various times Flow monitor output parsing Packet timelines IP/MAC display Change color during animation Designer

Outline Getting visualization and raw data from ns-3 Packet traces Gnuplot and Matplotlib Flow Monitor PyViz NetAnim Statistics Data Collection Framework NS-3 Consortium Meeting 27

Statistics Statistics module contributed by Joe Kopena early in the project src/stats directory Initial implementation of an experiment controller

Statistics module features Metadata experiment: name of experiment strategy: description of what is being tested runid: allows user to identify the trial Data output in either 'omnetpp' or 'sqlite' format Provides a basic statistical data calculator example "wifi-example-sim" (packet loss vs distance for default wifi settings)

Outline Getting visualization and raw data from ns-3 Packet traces Gnuplot and Matplotlib Flow Monitor PyViz NetAnim Statistics Data Collection Framework NS-3 Consortium Meeting 30

Data Collection Framework under review for future ns-3 inclusion part of the SAFE project development led by Bucknell University integrates with visualization module integrates with steady-state detector

Data Collection Framework ns-3 data published as trace source Probe: wrap trace source Collector: data reduction Aggregator: marshal data database controls to enable/ disable named within configuration namespace examples: averaging, time series, etc. can be chained together gnuplot postgresql other... files Static method for instrumenting code (Stat::Put() of ns2measure) Leverages prototype developed by Pavel Boyko and Kirill Andreev Leverages ns2measure project (CNG at University of Pisa)

Data Collection Framework example 'manet-safe.cc' example in ns-3-dcf repository Trace source: "/NodeList/*/ApplicationList/0/$ns3::PacketSink/Rx" Probe packet sink receptions between time 120-150 seconds Set periodicity to 0.5 seconds Plot packet count, total packet byte count (during interval) and mean packet byte count (within interval)

Data Collection Framework PacketSink trace source Probe Collector Aggregator filter trace source data within time window compute statistics on packet and byte counts gnuplot postgresql SAFE other... Introduce helper to manage configuration complexity

Gnuplot data collection example src/data-collection/examples/manet-safe.cc

Gnuplot data collection example (2) src/data-collection/examples/manet-safe.cc

Under construction: steady-state collector Built upon steady-state detector classes Receives samples Applies steady-state detection algorithm One pass-through trace source (all samples) One filtered trace source (post-transient sample) MSER-5 and possibly other methods

Under construction: in-browser visualization Time series support: nearly completed Selection buttons for metrics collected

Under construction: from browser to file Plot is built interactively, through browser, and converted to static file (PDF)

Next priority for in-browser visualization Estimation support: in early design Selection buttons for data series Confidence intervals Figure source: Broch et al. A Performance Comparison of Multi-Hop Wireless Ad Hoc Routing Protocols

Later priority for in-browser visualization Distribution support: in early discussion Selection buttons for data series Figure source: Broch et al. A Performance Comparison of Multi-Hop Wireless Ad Hoc Routing Protocols