11-Network Simulator

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Network Simulator Tools

„ ns2 network simulator - http://www.isi.edu/nsnam/ns/


Ns is a discrete event simulator targeted at networking
research. Ns provides substantial support for simulation of
TCP, routing, and multicast protocols over wired and
Network Simulator wireless (local and satellite) networks.
„ Scalable Networks - http://www.scalable-networks.com
Network simulator designed from the outset for maximum
speed and scalability, with real-time simulation as an
achievable goal.
„ x-sim - http://www.cs.arizona.edu/xkernel/
The x-kernel protocol framework can be used as a
complete simulation environment for TCP/IP networks.

Dr. W Yao, Brunel University EE5302 Network Design and Management 2


EE5302 Network Design and Management 1

Network Simulator Tools Network Simulator Tools


„ SSFNet - http://www.ssfnet.org/ „ OMNeT++ - http://www.hit.bme.hu/phd/vargaa/omnetpp.htm
SSF (Scalable Simulation Framework) is a public-domain OMNeT++ is an open-source, component-based simulation
standard for discrete-event simulation of large, complex package built on C++ foundations. It offers a C++
systems in Java and C++. Several SSF implementations simulation class library and GUI support (graphical network
and a large number of open-source protocol models and editing, animation).
other components exist. „ JavaSim - http://www.javasim.org/
„ BRITE - http://www.cs.bu.edu/brite/ JavaSim is a component-based, compositional simulation
Tool for generation of realistic internet topologies, with environment.
export to several network simulators (currently ns2, „ Shumock Enterprises - http://www.shumock.com
JavaSim, and SSFNet). real-time simulation on the Windows NT platform
„ Parsec - http://may.cs.ucla.edu/projects/parsec/ „ REAL - http://www.cs.cornell.edu/skeshav/real/overview.html
a C-based simulation language for sequential and parallel a modular network simulator featuring a java GUI
execution of discrete-event simulation models
Dr. W Yao, Brunel University EE5302 Network Design and Management 3 Dr. W Yao, Brunel University EE5302 Network Design and Management 4
Network Simulator Tools Network Simulator Tools
„ Akaroa - „ NIST ATM/HFC Network Simulator -
http://www.cosc.canterbury.ac.nz/research/RG/net_sim/sim http://www.hsnt.nist.gov/misc/hsnt/prd_atm-sim.html
ulation_group/akaroa/ „ cnet - http://www.cs.uwa.edu.au/pls/cnet/
Akaroa is a package for supporting the Multiple A network simulator with a GUI and targeted at
Replications In Parallel (MRIP) simulation technique to undergraduate teaching. Enables experimentation with
harness the computing power of a network of inexpensive various data-link layer, network layer, routing and transport
workstations. Integration exists with the Ptolemy Classic, layer networking protocols.
ns2 and OMNeT++ simulators.
„ OPNET Modeler - http://www.mil3.com/products/modeler/
OPNET Modeler is a commercial tool for modeling and
simulation of communications networks, devices, and
protocols. It features graphical editors and animation.

Dr. W Yao, Brunel University EE5302 Network Design and Management 5 Dr. W Yao, Brunel University EE5302 Network Design and Management 6

“ns-2”, the Network Simulator Goals


„ Simple model „ Support networking research and education
„ a discrete event simulator „ protocol design, traffic studies, etc.
„ Focused on modeling network protocols „ protocol comparison
„ wired, wireless, satellite „ Provide a collaborative environment
„ TCP, UDP, multicast, unicast „ freely distributed, open source
„ web, telnet, ftp „ Share code, protocols, models, etc.
„ ad hoc routing, sensor networks „ allow easy comparison of similar protocols
„ infrastructure: stats, tracing, error models, etc. „ increase confidence in results
„ More people look at models in more situations
„ Experts develop models
„ Multiple levels of detail in one simulator

Dr. W Yao, Brunel University EE5302 Network Design and Management 7 Dr. W Yao, Brunel University EE5302 Network Design and Management 8
History ns Components
„ Began as REAL in 1989 „ ns: the simulator itself
„ ns by Floyd and McCanne at LBL „ nam: the Network Animator
„ ns-2 by McCanne and the VINT project (LBL, PARC, UCB, „ visualize ns (or other) output
USC/ISI) „ GUI input simple ns scenarios
„ Currently maintained at USC/ISI, with input from Floyd et „ pre-processing:
al. „ traffic and topology generators
„ post-processing:
„ simple trace analysis, often in Awk, Perl, or Tcl

Dr. W Yao, Brunel University EE5302 Network Design and Management 9 Dr. W Yao, Brunel University EE5302 Network Design and Management 10

ns Models Discrete Event Simulation


„ Traffic models and applications „ DES model world as events
„ web, FTP, telnet, constant-bit rate, Real Audio „ simulator has list of events
„ Transport protocols „ process: take next one, run it, until done
„ unicast: TCP (Reno, Vegas, etc.), UDP „ each event happens in an instant of virtual (simulated) time, but
takes an arbitrary amount of real time
„ multicast: SRM
„ Routing and queueing „ ns uses simple model
„ single thread of control
„ wired routing, ad hoc routing and directed diffusion
„ => no locking or race conditions to worry about (very easy)
„ queueing protocols: RED, drop-tail, etc.
„ Physical media
„ wired (point-to-point, LANs), wireless (multiple propagation models),
satellite

Dr. W Yao, Brunel University EE5302 Network Design and Management 11 Dr. W Yao, Brunel University EE5302 Network Design and Management 12
Discrete Event Examples Installation and Documentation
„ http://www.isi.edu/nsnam/ns/
„ download ns-allinone
„ includes Tcl, OTcl, TclCL, ns, nam, etc.
„ mailing list: ns-users@isi.edu
„ documentation (see url above)
„ Marc Gries tutorial
„ ns manual

Dr. W Yao, Brunel University EE5302 Network Design and Management 13 Dr. W Yao, Brunel University EE5302 Network Design and Management 14

Creating Event Scheduler Creating Network


„ Create scheduler „ Nodes
„ set ns [new Simulator] „ set n0 [$ns node]
„ Schedule event „ set n1 [$ns node]
„ $ns at <time> <event> „ Links & Queuing
„ <event>: any legitimate ns/tcl commands „ $ns duplex-link $n0 $n1 <bandwidth> <delay> <queue_type>
„ Start scheduler „ <queue_type>: DropTail, RED, CBQ, FQ, SFQ, DRR
„ $ns run

Dr. W Yao, Brunel University EE5302 Network Design and Management 15 Dr. W Yao, Brunel University EE5302 Network Design and Management 16
Computing Routes Traffic
„ Unicast „ simple two layers: transport and application
„ $ns rtproto <type> „ transports:
„ <type>: Static, Session, DV, cost, multi-path „ TCP, UDP, etc.
„ Multicast „ applications: (agents)
„ $ns multicast „ ftp, telnet, etc.
„ right after [new Simulator]

„ $ns mrtproto <type>


„ <type>: CtrMcast, DM, ST, BST

Dr. W Yao, Brunel University EE5302 Network Design and Management 17 Dr. W Yao, Brunel University EE5302 Network Design and Management 18

Creating Connection: UDP Creating Connection: TCP


„ source and sink „ source and sink
„ set usrc [new Agent/UDP] „ set tsrc [new Agent/TCP]
„ set udst [new Agent/NULL] „ set tdst [new Agent/TCPSink]
„ connect them to nodes, then each other „ connect to nodes and each other
„ $ns attach-agent $n0 $usrc „ $ns attach-agent $n0 $tsrc
„ $ns attach-agent $n1 $udst „ $ns attach-agent $n1 $tdst
„ $ns connect $usrc $udst „ $ns connect $tsrc $tdst

Dr. W Yao, Brunel University EE5302 Network Design and Management 19 Dr. W Yao, Brunel University EE5302 Network Design and Management 20
Creating Traffic: On Top of TCP Creating Traffic: On Top of UDP
„ FTP „ CBR
„ set ftp [new Application/FTP] „ set src [new Application/Traffic/CBR]
„ $ftp attach-agent $tsrc „ Exponential or Pareto on-off
„ $ns at <time> "$ftp start" „ set src [new Application/Traffic/Exponential]
„ Telnet set „ set src [new Application/Traffic/Pareto]
„ telnet [new Application/Telnet]
„ $telnet attach-agent $tsrc

Dr. W Yao, Brunel University EE5302 Network Design and Management 21 Dr. W Yao, Brunel University EE5302 Network Design and Management 22

Creating Traffic: Trace Driven End-to-End Argument: File Transfer


„ Trace driven „ Even if network guaranteed reliable delivery
„ set tfile [new Tracefile] „ Need to provide end-to-end checks
„ $tfile filename <file> „ e.g., network card may malfunction
„ set src [new Application/Traffic/Trace] „ If network is highly unreliable
„ $src attach-tracefile $tfile „ Adding some level of reliability helps performance, not correctness
„ <file>: „ Don’t try to achieve perfect reliability!
„ Binary format
„ inter-packet time (msec) and packet size (byte)

Dr. W Yao, Brunel University EE5302 Network Design and Management 23 Dr. W Yao, Brunel University EE5302 Network Design and Management 24

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy