Vous êtes sur la page 1sur 18

Network Simulation

• One tool to simulation network protocols


for the Internet is the network simulator
(NS)
• The simulation environment needs to be set-
up carefully to produce meaningful results
• The simulation set-up is called ‘simulation
scenario’
Simulation Scenarios
• In general, a simulation scenario consists of
three different main components (or
dimensions)
– Routed Topology
– Connections, Traffic and Agents/end-host
protocols
– External events and Failures
Routed Topology
• Defines the number of nodes and their
connectivity
• Defines the links connecting the nodes, their
bandwidth, delay, queuing discipline and
other characteristics
• Defines the routing protocols running in the
nodes in terms of unicast and multicast
routing
• Can use topology generators (e.g., GT-ITM)
Connections, Traffic and Agents
• Agents are end-host protocols, such as TCP,
ftp, Telnet, UDP.. etc.
• Traffic source can be: (uses a traffic model)
– constant bit rate (CBR) at rate R
– with distribution (Poisson or Pareto)
– trace driven
• Connection definition includes spatial
distribution of connections (TCP
sender/receiver, or group members)
External events and Failures
• External events include the temporal
distribution of connections:
– start and end of TCP connections
– join/leave patterns for multicast group members
• Failures include link failures, packet loss
patterns and congestion patterns and may
follow a failure model or distribution
• Events may also include movement patterns
of mobile hosts
The network simulator (NS)
• It is a packet-level discrete-event simulator
• The simulation engine is written in C++ and
mainly handles the event-queue and per
packet processing (such as TCP and
forwarding caches)
• Most protocols (such as unicast/multicsat)
routing protocols are implemented in Otcl
(Object Tcl)
• Check the vint project catarina.usc.edu/vint,
and follow the on-line step-by-step tutorial
Getting Started
• Download the ns from:
– http://www.isi.edu/nsnam/ns
– Tcl/tk, otcl, tclcl, ns
• Install ns in your system
– Binary release is provided for windows 9x/NT
– NS-allinone package is strongly recommended
• Download nam if visualization is needed
– http://www.isi.edu/nsnam/nam
– Included in ns-allinone package
• Get help from ns-users@isi.edu
– check the mailing lists on the ns web page
What is ns
Event ns-2
Scheduler

Component
Network
tclcl
otcl
tcl8.0
• otcl: Object-oriented support
• tclcl: C++ and otcl linkage
• Discrete event scheduler
• Data network (the Internet) components
Internals
• Discrete Event Scheduler
• Network Topology
• Routing
• Transport
• Application
• Packet Flow
Discrete Event Scheduler

time_, uid_, next_, handler_


head_ ->
head_ ->
handler_ -> handle()

insert time_, uid_, next_, handler_


Network Topology - Node
n0 n1

Port
Classifier
Unicast Multicast dmux_

Addr Node Node classifier_


Classifier
Node entry Node entry
dmux_
entry_ entry_ Multicast
classifier_ Classifier

multiclassifier_
Network Topology - Link
n0 n1

n1
head_ entry_
enqT_ queue_ deqT_ link_ ttl_

drophead_ drpT_
Routing
n0 n1

Port
Classifier
Addr
Classifier
Node entry n1
0 dmux_ head_ entry_
enqT_ queue_ deqT_ link_ ttl_
entry_ 1
classifier_ drophead_ drpT_
Routing (cont.)
n0 n1

Port Port
Classifier Classifier
Addr Addr
Classifier Classifier
0 dmux_ 1 dmux_
Link n0-n1
entry_ 1 entry_ 0
classifier_ classifier_

Link n1-n0
Transport
n0 n1

Port Port
Classifier dst_=1.0 Classifier dst_=0.0
Addr Agent/TCP Addr Agent/TCPSink
Classifier 0 agents_
Classifier 0 agents_
0 dmux_ 1 dmux_
Link n0-n1
entry_ 1 entry_ 0
classifier_ classifier_

Link n1-n0
Application
n0 n1

Port Application/FTP Port


Classifier dst_=1.0 Classifier dst_=0.0
Addr Agent/TCP Addr Agent/TCPSink
Classifier 0 agents_
Classifier 0 agents_
0 dmux_ 1 dmux_
Link n0-n1
entry_ 1 entry_ 0
classifier_ classifier_

Link n1-n0
Packet Flow
n0 n1

Port Application/FTP Port


Classifier dst_=1.0 Classifier dst_=0.0
Addr Agent/TCP Addr Agent/TCPSink
Classifier 0 Classifier 0
0 1
Link n0-n1
entry_ 1 entry_ 0

Link n1-n0
• NS\VINT web pages\tutorial:
– http://catarina.usc.edu/vint
– http://www.isi.edu/nsnam/vint
– http://www.isi.edu/nsnam/ns/tutorial/index.html

Vous aimerez peut-être aussi