180 likes | 257 Views
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.
E N D
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 Scheduler ns-2 tclcl Network Component 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_
n0 n1 Port Classifier Multicast Node dmux_ Addr Classifier classifier_ Node entry Node entry dmux_ entry_ entry_ Multicast Classifier classifier_ multiclassifier_ Network Topology - Node Unicast Node
n0 n1 n1 entry_ head_ enqT_ queue_ deqT_ link_ ttl_ drophead_ drpT_ Network Topology - Link
n0 n1 Port Classifier Addr Classifier n1 entry_ Node entry 0 head_ dmux_ enqT_ queue_ deqT_ link_ ttl_ 1 entry_ classifier_ drophead_ drpT_ Routing
n0 n1 Port Classifier Port Classifier Addr Classifier Addr Classifier 0 1 dmux_ dmux_ 1 0 entry_ entry_ classifier_ classifier_ Link n1-n0 Routing (cont.) Link n0-n1
dst_=0.0 dst_=1.0 Agent/TCPSink Agent/TCP agents_ 1 0 1 0 Transport n0 n1 Port Classifier Port Classifier Addr Classifier Addr Classifier 0 0 agents_ dmux_ dmux_ Link n0-n1 entry_ entry_ classifier_ classifier_ Link n1-n0
Application/FTP dst_=0.0 dst_=1.0 0 1 1 0 Application n0 n1 Port Classifier Port Classifier Addr Classifier Addr Classifier Agent/TCPSink Agent/TCP 0 0 agents_ agents_ dmux_ dmux_ Link n0-n1 entry_ entry_ classifier_ classifier_ Link n1-n0
dst_=0.0 dst_=1.0 0 1 1 0 Packet Flow n0 n1 Port Classifier Application/FTP Port Classifier Addr Classifier Addr Classifier Agent/TCPSink Agent/TCP 0 0 Link n0-n1 entry_ entry_ 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