Introductions of SDN in NS-3

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,
ns-3 Introduction Tom Henderson (University of Washington) July 2014
2006 NSF CRI-PI Meeting1 ns-3 Project Plan Tom Henderson and Sumit Roy, University of Washington Sally Floyd, ICSI Center for Internet Research George.
Wireless Communication : LAB 3
An Introduction to NS-2 * Gayatri Swamynathan CS 276 TA *some slides are from a presentation by Haobo Yu & Nader Salehi, USC/ISI.
An Overview of Software-Defined Network Presenter: Xitao Wen.
An XML Front-End for ns-3 George Riley and Josh Pelkey Georgia Institute of Technology.
- walkthrough of classic hidden terminal problem in WiFi-
CCU EE&CTR1 Software Architecture Overview Nick Wang & Ting-Chao Hou National Chung Cheng University Control Plane-Platform Development Kit.
Ns-3 Introduction Tom Henderson (University of Washington) July 2014 Modified by Sara Mehar (university of burgundy) April 2015.
1 實驗五:媒介存取協定模擬 教師: 助教:. 2 Outline  Background  Transmission Protocols  ALOHA  CSMA/CD  CSMA/CA  Network Devices  Hub  Switch  Access Point (AP)
Copyright node This presentation is a subset of the one presented by:
An Overview of Software-Defined Network
Jennifer Rexford Princeton University MW 11:00am-12:20pm SDN Software Stack COS 597E: Software Defined Networking.
An Overview of Software-Defined Network Presenter: Xitao Wen.
Wireless scheduling analysis (With ns3) By Pradeep Prathik Saisundatr.
EstiNet Network Simulator & Emulator 2014/06/ 尉遲仲涵.
QualNet 2014/05/ 尉遲仲涵. Outline Directory Structure QualNet Basic Message & Event QualNet simulation architecture Protocol Model Programming.
2006 NSF CRI-PI Meeting1 ns-3 Project Plan Tom Henderson and Sumit Roy, University of Washington Sally Floyd, ICSI Center for Internet Research George.
Wns2 Workshop1 NS-3 Project Goals Tom Henderson and Sumit Roy, University of Washington Sally Floyd, ICSI Center for Internet Research George Riley, Georgia.
Redes Inalámbricas Máster Ingeniería de Computadores 2008/2009 Tema 7.- CASTADIVA PROJECT Performance Evaluation of a MANET architecture.
Introduction to NS2 -Network Simulator- -Prepared by Changyong Jung.
Objectives Configure routing in Windows Server 2008 Configure Routing and Remote Access Services in Windows Server 2008 Network Address Translation 1.
Ns-3 Training Computer and Communication Network Lab Department of Electrical Engineering National Sun Yat-Sen University 5/13/2013.
Modeling the Border Gateway Protocol Xenofontas Dimitropoulos George Riley Georgia Institute of Technology.
1 ns-3 Premier Egemen Çetinkaya Department of Electrical Engineering & Computer Science The University of Kansas
Ns-3 tutorial Katto lab Tadashi Yamazaki 8 November 2012.
Sponsored by the National Science Foundation Using OpenFlow and Orbit to Achieve Mobility in a Heterogeneous Wireless Network Ryan Izard
Lecture 12: Reconfigurable Systems II October 20, 2004 ECE 697F Reconfigurable Computing Lecture 12 Reconfigurable Systems II: Exploring Programmable Systems.
11 CLUSTERING AND AVAILABILITY Chapter 11. Chapter 11: CLUSTERING AND AVAILABILITY2 OVERVIEW  Describe the clustering capabilities of Microsoft Windows.
EXPOSING OVS STATISTICS FOR Q UANTUM USERS Tomer Shani Advanced Topics in Storage Systems Spring 2013.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 Based upon slides from Jay Lepreau, Utah Emulab Introduction Shiv Kalyanaraman
1 | © 2015 Infinera Open SDN in Metro P-OTS Networks Sten Nordell CTO Metro Business Group
Session 1: Monday May 11 ns-3 Annual meeting May ns-3 Training.
Software Defined Networking and OpenFlow Geddings Barrineau Ryan Izard.
1 Scalability and Accuracy in a Large-Scale Network Emulator Nov. 12, 2003 Byung-Gon Chun.
Atrium Router Project Proposal Subhas Mondal, Manoj Nair, Subhash Singh.
InterVLAN Routing 1. InterVLAN Routing 2. Multilayer Switching.
SDN controllers App Network elements has two components: OpenFlow client, forwarding hardware with flow tables. The SDN controller must implement the network.
Prepared by: Ameer Sameer Hamood University of Babylon - Iraq
ns-3 Training 5/08/2017 Computer and Communication Network Lab
Software defined networking: Experimental research on QoS
Heitor Moraes, Marcos Vieira, Italo Cunha, Dorgival Guedes
Implementing Network Access Protection
Simulators for Sensor Networks
CASE STUDY 1: Linux and Android
Mobicom ‘99 Per Johansson, Tony Larsson, Nicklas Hedman
NS2 (and possible directions for mobile routing simulation) Kevin Fall
Spyridon (Spyros) Mastorakis University of California, Los Angeles
Ns-3 Training Session 1: Monday 8:30am ns-3 Annual Meeting May 2014.
ns-3 Training ns-3 Annual Meeting June 2017
Chapter 5: Switch Configuration
Indigo Doyoung Lee Dept. of CSE, POSTECH
Session 1. ns-3 기초 신연철 Multimedia & Wireless Networking Laboratory, SNU
Software Defined Networking (SDN)
Ns-3 Training Emulation.
Chapter 2: The Linux System Part 1
ns-3 Waf build system ns-3 Annual Meeting June 2017
Development & Evaluation of Network Test-beds
Resources and Schedule
NS-3 Consortium Annual Meeting
IEEE MEDIA INDEPENDENT HANDOVER DCN:
Ns-3 Tutorial Xin Li.
ns-3 Training Visualization ns-3 Annual Meeting June 2016
IEEE MEDIA INDEPENDENT HANDOVER DCN:
Ns-3 Training Emulation support ns-3 training, June 2016.
NetFPGA - an open network development platform
Ns-3 Training Simulator core ns-3 training, June 2016.
Presentation transcript:

Introductions of SDN in NS-3 张庆安 19/5/2016

Motivations for ns-3 project Develop an extensible simulation environment for networking research 1) a tool aligned with the experimentation needs of modern networking research 2) a tool that elevates the technical rigor of network simulation practice 3) an open-source project that encourages community contribution, peer review, and long-term maintenance and validation of the software

Network performance evaluation options ns-3 enables researchers to more easily move between simulations, test beds, and experiments ns-3 core Direct Code Execution Emulation modes Test and evaluation options Pure simulation Simulation cradles Virtual/Physical test beds Field experiments Live networks Increasing realism Increasing complexity

ns history 1990 2000 2010 1988: REAL (Keshav) regular releases 1990s: ns-1 1996: ns-2 1997-2000: DARPA VINT 2001-04: DARPA SAMAN, NSF CONSER 2006: NSF CISE CRI Awards Inputs: yans, GTNetS, ns-2 ns-3 core development (2006-08) June 2008: ns-3.1 May 2015: ns-3.23

Relationship to ns-2 ns-3 is a new simulator, without backward compatibility Similarities to ns-2: C++ software core GNU GPLv2 licensing ported ns-2 models: random variables, error models, OLSR, Calendar Queue scheduler Differences: Python scripting (or C++ programs) replaces OTcl most of the core rewritten new animators, configuration tools, etc. are in work ns-2 is no longer actively maintained/supported

Acknowledgment of support

Software overview

ns-3 main website Project home: https://www.nsnam.org

Software overview ns-3 is written in C++, with bindings available for Python simulation programs are C++ executables or Python programs ~350,000 lines of C++ (estimate based on cloc source code analysis) ns-3 is a GNU GPLv2-licensed project ns-3 is mainly supported for Linux, OS X, and FreeBSD Windows Visual Studio port available ns-3 is not backwards-compatible with ns-2

Discrete-event simulation basics Simulation time moves in discrete jumps from event to event C++ functions schedule events to occur at specific simulation times A simulation scheduler orders the event execution Simulation::Run() executes a single-threaded event list Simulation stops at specific time or when events end

Simulator and Schedulers The Simulator class holds a scheduler, and provides the API to schedule events, start, stop, and cleanup memory Several scheduler data structures (calendar, heap, list, map) are possible "RealTime" simulation implementation aligns the simulation time to wall-clock time two policies (hard and soft limit) available when the simulation and real time diverge

Nodes and Devices ns-3

Node basics A Node is a shell of a computer to which applications, stacks, and NICs are added Application Application Application “DTN” ns-3

NetDevices and Channels NetDevices are strongly bound to Channels of a matching type ns-3 Spectrum models relax this assumption Nodes are architected for multiple interfaces WifiChannel WifiNetDevice ns-3

The basic ns-3 architecture Application Application Application Application Sockets-like API Protocol stack Protocol stack Packet(s)‏ Node Node NetDevice NetDevice NetDevice Channel NetDevice Channel ns-3

Current models flow-monitor BRITE topology- read utilities stats config- store netanim visualizer bridge csma emu point-to- point spectrum tap-bridge virtual- net-device wifi lte wimax devices uan mesh lr-wpan nix-vector- routing aodv dsdv olsr click protocols openflow Node class NetDevice ABC Address types (Ipv4, MAC, etc.) Queues Socket ABC Ipv4 ABCs Packet sockets applications internet (IPv4/v6) propagation mobility mpi energy Packets Packet Tags Packet Headers Pcap/ascii file writing Smart pointers Dynamic types Attributes Callbacks Tracing Logging Random Variables Events Scheduler Time arithmetic network core 16

The ns-3 build tool, called 'waf', can be used to run programs ns-3 programs ns-3 programs are C++ executables that link the needed shared libraries or Python programs that import the needed modules The ns-3 build tool, called 'waf', can be used to run programs waf will place headers, object files, libraries, and executables in a 'build' directory

Structure of an ns-3 program int main (int argc, char *argv[]) { // Set default attribute values // Parse command-line arguments // Configure the topology; nodes, channels, devices, mobility // Add (Internet) stack to nodes // Configure IP addressing and routing // Add and configure applications // Configure tracing // Run simulation } ns-3

Visualization

Pyviz screenshot (Graphviz layout)

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

NetAnim "NetAnim" by George Riley and John Abraham pyviz

SDN Overview 作为网络核心的路由器,承载功能不断扩展,如分组过滤、区分服务、多播、服务质量(QoS)、流量工程等,路由器最初定义的“哑的、简单的”数据转发单元已经变得臃肿不堪.

Top Five Ethernet Switch Vendors

SDS, SDDC, SDCar… Software Defined X, SDX 频带、空中接口协议和功能可通过软件下载和更新来升级,而不用完全更换硬件。 用普通话说就是软件独立于硬件,让硬件标准化,软件平台化,信息中心化。 SDS, SDDC, SDCar…

SDN (Software Defined Network) SDN originates from OpenFlow OpenFlow is a fish in the sea of SDN SDN is an architecture, ideology. 当前各种SDN的标准化组织

From device supplier programmable turn to user programmable Three Targets by SDN From device supplier programmable turn to user programmable From device programmable turn to network programmable Integrated network with IT applications

OpenFlow User Controller Switch Applications Control software Openflow Protocol OpenFlow仅仅是SDN中控制器控制转发面设备的协议而已,控制器本身的架构、网络拓扑算法、运行环境、编程工具,以及和上层应用的集成技术都是SDN的一部分,并且是架构上更为核心的部分。 Controller Switch

OpenFlow

SDN in NS-3 Circuit/Packet Hybrid Data Center Network Simulator Topology aware Circuit Schedule Algorithms Routing … RYU Controller RYU由日本NTT公司负责设计研发的一款开源SDN控制器,同POX一样,也是完全由Python语言实现,使用者可以在Python语言的基础上实现自己的应用,采用Apache License开源协议标准,目前支持协议OpenFlow1.0、1.2、1.3,同时支持在OpenStack上的部署应用。提供逻辑上的集中化管理,通过提供API使网络管理更加方便。 POX是由斯坦福使用Python语言开发的基于OpenFlow的一种控制器,是NOX的兄弟,它具有能将交换机送上来的协议包交给指定软件模块的功能。 Data Plane Circuit/Packet Hybrid Data Center Network Simulator

Realize and simulate the delay of different circuits’ switch Data Plane Realize and simulate the delay of different circuits’ switch Layer2P2MPChannel Class m_delay传输延时 m_reconfigureDalay 链路切换延时 m_src源节点, m_dst目的端网卡集合 如果m_mask包含多个数据,则表示有多个网卡接收该channel发送的数据,即表示物理层的组播

Control Plane Support Openflow 1.0 set_topology() get_topology() update_topology() set_flowtable() get_flowstatus() 为应用提供编程接口

Application Plane Topology Aware Route Computing Traffic Demand Estimation Circuit Schedule Algorithms Reconfigure Circuit/Flow Table

NS3 is discrete-event simulator and written by C++ SDN≠Openflow Summary NS3≠NS2 NS3 is discrete-event simulator and written by C++ SDN≠Openflow Architecture of Openflow Application plane Control plane Data plane Hybrid Data Center Network Simulator

Questions?