Copyright node This presentation is a subset of the one presented by:

Slides:



Advertisements
Similar presentations
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.
Advertisements

© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Addressing the Network – IPv4 Network Fundamentals – Chapter 6.
Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
- walkthrough of classic hidden terminal problem in WiFi-
PROTOCOLS AND ARCHITECTURE Lesson 2 NETS2150/2850.
1 Fall 2005 Internetworking: Concepts, Architecture and TCP/IP Layering Qutaibah Malluhi CSE Department Qatar University.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
William Stallings Data and Computer Communications 7 th Edition Chapter 2 Protocols and Architecture.
COE 342: Data & Computer Communications (T042) Dr. Marwan Abu-Amara Chapter 2: Protocols and Architecture.
 The Open Systems Interconnection model (OSI model) is a product of the Open Systems Interconnection effort at the International Organization for Standardization.
IP-UDP-RTP Computer Networking (In Chap 3, 4, 7) 건국대학교 인터넷미디어공학부 임 창 훈.
Gursharan Singh Tatla Transport Layer 16-May
TCP/IP Tools Lesson 5. Objectives Skills/ConceptsObjective Domain Description Objective Domain Number Using basic TCP/IP commands Understanding TCP/IP3.6.
Wireless scheduling analysis (With ns3) By Pradeep Prathik Saisundatr.
SUSE Linux Enterprise Server Administration (Course 3037) Chapter 7 Connect the SUSE Linux Enterprise Server to the Network.
Process-to-Process Delivery:
INTRODUCTION TO WEB DATABASE 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.
Wave Relay System and General Project Details. Wave Relay System Provides seamless multi-hop connectivity Operates at layer 2 of networking stack Seamless.
Introduction to NS2 -Network Simulator- -Prepared by Changyong Jung.
NETWORK SIMULATOR 3 Reporter: Chechieh Lin. O UTLINE Introduction NS3 vs. NS2 NS-3 Modules Key Abstractions A First ns-3 Script.
LWIP TCP/IP Stack 김백규.
1 Computer Networks DA Chapter 1-3 Introduction.
Software Framework for Teleoperated Vehicles Team Eye-Create ECE 4007 L01 Karishma Jiva Ali Benquassmi Safayet Ahmed Armaghan Mahmud Khin Lay Nwe.
Internet Addresses. Universal Identifiers Universal Communication Service - Communication system which allows any host to communicate with any other host.
William Stallings Data and Computer Communications 7 th Edition Data Communications and Networks Overview Protocols and Architecture.
Ns-3 Training Computer and Communication Network Lab Department of Electrical Engineering National Sun Yat-Sen University 5/13/2013.
Module 7: Fundamentals of Administering Windows Server 2008.
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
Parallel Interactive Computing with PyTrilinos and IPython Bill Spotz, SNL (Brian Granger, Tech-X Corporation) November 8, 2007 Trilinos Users Group Meeting.
Syzygy Design overview Distributed Scene Graph Master/slave application framework I/O Device Integration using Syzygy Scaling down: simulators and other.
Ns-3 tutorial Katto lab Tadashi Yamazaki 8 November 2012.
Geneva, Switzerland, 11 June 2012 Switching and routing in Future Network John Grant Nine Tiles
1 Version 3.1 Module 1 WANs and Routers. 2 Version 3.1 WANS WAN operates at the physical layer and the data link layer of the OSI reference model. Provide.
Lesson 5—Networking BASICS1 Networking BASICS Protocols and Network Software Unit 2 Lesson 5.
Application Block Diagram III. SOFTWARE PLATFORM Figure above shows a network protocol stack for a computer that connects to an Ethernet network and.
3.14 Work List IOC Core Channel Access. Changes to IOC Core Online add/delete of record instances Tool to support online add/delete OS independent layer.
COP 5611 Operating Systems Spring 2010 Dan C. Marinescu Office: HEC 439 B Office hours: M-Wd 2:00-3:00 PM.
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.
Design, Implementation and Tracing of Dynamic Backpressure Routing for ns-3 José Núñez-Martínez Research Engineer Centre Tecnològic de Telecomunicacions.
EXPOSING OVS STATISTICS FOR Q UANTUM USERS Tomer Shani Advanced Topics in Storage Systems Spring 2013.
Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.
1 CSE 5346 Spring Network Simulator Project.
Open project in Microsoft Visual Studio → build program in “Release” mode.
ITIS 1210 Introduction to Web-Based Information Systems Chapter 3. How TCP/IP Works.
Ch. 2 Protocol Architecture. 2.1 The Need for a Protocol Architecture Same set of layered functions need to exist in the two communicating systems. Key.
1 Objectives Identify the basic components of a network Describe the features of Internet Protocol version 4 (IPv4) and Internet Protocol version 6 (IPv6)
LonWorks Introduction Hwayoung Chae.
PORT CONNECTION STATUS CT Lab#4. TCP packet UDP packet Ports Background.
Introductions of SDN in NS-3
ns-3 Training 5/08/2017 Computer and Communication Network Lab
LESSON Networking Fundamentals Understand TCP/IP.
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Ns-3 tutorial ns-3 tutorial March 2008.
CS408/533 Computer Networks Text: William Stallings Data and Computer Communications, 6th edition Chapter 1 - Introduction.
Introduction to ns-2: “The” Network Simulator
Net 431: ADVANCED COMPUTER NETWORKS
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Session 1. ns-3 기초 신연철 Multimedia & Wireless Networking Laboratory, SNU
Process-to-Process Delivery:
CSCI {4,6}900: Ubiquitous Computing
ns-3 Waf build system ns-3 Annual Meeting June 2017
Ns-3 Tutorial Xin Li.
EEC4113 Data Communication & Multimedia System Chapter 1: Introduction by Muhazam Mustapha, July 2010.
Ns-3 Training: Packets ns-3 Annual meeting June 2016.
Computer Networks DA2402.
Process-to-Process Delivery: UDP, TCP
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Presentation transcript:

Copyright node This presentation is a subset of the one presented by:

NS-3 URLs

3 ns-3 relationship to ns-2 ns-3 is not an extension of ns-2 does not have an OTcl API –C++ wrapped by Python synthesis of yans, ns-2, GTNetS simulators, and new software –example ns-2 models so far: random variables, error models, OLSR guts of simulator are completely replaced new visualizers are in works

4 ns-3 features open source licensing (GNU GPLv2) and development model Python scripts or C++ programs alignment with real systems (sockets, device driver interfaces)‏ alignment with input/output standards (pcap traces, ns-2 mobility scripts)‏ testbed integration is a priority modular, documented core

5 ns-3 models Project focus has been on the software core, to date

Features

7 Fundamentals Key objects in the simulator are Nodes, Packets, and Channels Nodes contain Applications, “stacks”, and NetDevices

8 Application The basic model Application Protocol stack Node NetDevice Application Protocol stack Node NetDevice Sockets-like API Channel Packet(s)‏

9 Node basics A Node is a husk of a computer to which applications, stacks, and NICs are added Application “DTN”

10 NetDevices and Channels NetDevices are strongly bound to Channels of a matching type Nodes are architected for multiple interfaces WifiNetDevice WifiChannel

11 Node basics Two key abstractions are maintained: 1) applications use an (asynchronous, for now) sockets API 2) the boundary between IP and layer 2 mimics the boundary at the device- independent sublayer in Linux i.e., Linux Packet Sockets

12 ns-3 Packets each network packet contains a byte buffer, a list of tags, and metadata –buffer: bit-by-bit (serialized) representation of headers and trailers –tags: set of arbitrary, user-provided data structures (e.g., per-packet cross-layer messages, or flow identifiers)‏ –metadata: describes types of headers and and trailers that have been serialized optional-- disabled by default

13 example: UDP header class UdpHeader : public Header { public: void SetDestination (uint16_t port);... void Serialize (Buffer::Iterator start) const; uint32_t Deserialize (Buffer::Iterator start); private: uint16_t m_sourcePort; uint16_t m_destinationPort; uint16_t m_payloadSize; uint16_t m_initialChecksum; }

14 example: UDP header void UdpHeader::Serialize (Buffer::Iterator start) const { Buffer::Iterator i = start; i.WriteHtonU16 (m_sourcePort); i.WriteHtonU16 (m_destinationPort); i.WriteHtonU16 (m_payloadSize + GetSerializedSize ()); i.WriteU16 (0); if (m_calcChecksum)‏ { uint16_t checksum = Ipv4ChecksumCalculate (...); i.WriteU16 (checksum); }

Internet Stack

Mobility model

Routing

Software Organization vieweing

Objects

Containers

Attributes

TCP Model

IPv4 model

IPv4 Address configuration

Application and Socket

Applications and Sockets

Emulation

29 Doxygen documentation Most of the ns-3 API is documented with Doxygen – Pause presentation to browse Doxygen

30 the waf build system Waf is a Python-based framework for configuring, compiling and installing applications. –It is a replacement for other tools such as Autotools, Scons, CMake or Ant – Pause presentation to build with waf

31 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; e.g. –./waf --run simple-point-to-point –(this gets the library paths right for you)‏

32 Tracing overview Simulator provides a set of pre-configured trace sources –Users may edit the core to add their own Users provide trace sinks and attach to the trace source –Simulator core provides a few examples for common cases Multiple trace sources can connect to a trace sink

33 Tracing model Tracing is a structured form of simulation output –tracing format should be relatively static across simulator releases Example (from ns-2): cbr cbr r cbr r ack tcp Needs vary widely

34 ns-3 tracing model (revisit)‏ Fundamental #1: decouple trace sources from trace sinks Fundamental #2: prefer standard trace outputs for built-in traces Trace source Trace sink unchanging configurable by user

35 Multiple levels of tracing Highest-level: Use built-in trace sources and sinks and hook a trace file to them Mid-level: Customize trace source/sink behavior using the tracing namespace Low-level: Add trace sources to the tracing namespace –Or expose trace source explicitly

36 Highest-level of tracing Highest-level: Use built-in trace sources and sinks and hook a trace file to them // Also configure some tcpdump traces; each interface will be traced // The output files will be named // simple-point-to-point.pcap- - // and can be read by the "tcpdump -r" command (use "-tt" option to // display timestamps correctly)‏ PcapTrace pcaptrace ("simple-point-to-point.pcap"); pcaptrace.TraceAllIp ();

37 Mid-level of tracing Mid-level: Customize trace source/sink behavior using the tracing namespace void PcapTrace::TraceAllIp (void)‏ { NodeList::Connect ("/nodes/*/ipv4/(tx|rx)", MakeCallback (&PcapTrace::LogIp, this)); } Regular expression editing Hook in a different trace sink

38 Lowest-level of tracing Low-level: Add trace sources to the tracing namespace Config::Connect ("/NodeList/.../Source", MakeCallback (&ConfigTest::ChangeNotification, this));

Statistics

Debugging