Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ns-2 tutorial Karthik Sadasivam Banuprasad Samudrala CSCI 5931 Network Security Instructor : Dr. T. Andrew Yang.

Similar presentations


Presentation on theme: "Ns-2 tutorial Karthik Sadasivam Banuprasad Samudrala CSCI 5931 Network Security Instructor : Dr. T. Andrew Yang."— Presentation transcript:

1 ns-2 tutorial Karthik Sadasivam Banuprasad Samudrala CSCI 5931 Network Security Instructor : Dr. T. Andrew Yang

2 Introduction Ns-2 is a discrete event simulator targeted at network research focused on modeling network protocols wired, wireless, satellite TCP, UDP, multicast, unicast web, telnet, ftp ad hoc routing, sensor networks infrastructure: stats, tracing, error models, etc

3 Goals of ns support networking research and education protocol design, traffic studies, etc. protocol comparison provide a collaborative environment freely distributed, open source share code, protocols, models, etc. allow easy comparision of similar protocols increase confidence in results models provide useful results in several situations multiple levels of detail in one simulator

4 ns status platforms: basically all Unix and Windows size: about 200k loc each C++ and Tcl, 350 page manual user-base: >1k institutions, >10k users releases about every 6 months, plus daily snapshots

5 Components of ns ns, the simulator itself nam, the Network AniMator visualize ns (or other) output GUI input simple ns scenarios pre-processing: traffic and topology generators post-processing: simple trace analysis, often in Awk, Perl, or Tcl

6 ns Software Structure: C++ and Otcl Uses two languages C++ for packet-processing fast to run, detailed, complete control OTcl for control simulation setup, configuration, occasional actions fast to write and change pros: trade-off running vs. writing speed, powerful/documented config language cons: two languages to learn and debug in

7 oTcl and C++: The Duality OTcl (object variant of Tcl) and C++ share class hierarchy TclCL is glue library that makes it easy to share functions, variables, etc. C++ otcl

8 Installation and documentation download ns-allinone includes Tcl, OTcl, TclCL, ns, nam, etc. mailing list: documentation (see url above) Marc Gries tutorial ns manual

9 Steps to set up the simulation Initialize the simulator Define files for output (tracing) Set up the topology Set up the “agents” Set up the traffic between the nodes Start the simulation Analyze the trace files to compute the parameters of interest

10 Example : TCP set ns [new Simulator] set n0 [$ns node] set n1 [$ns node] n0n1 set ftp [new Application/FTP] $ftp attach-agent $tcp $ns at 0.2 "$ftp start" $ns at 1.2 ”exit" $ns run $ns duplex-link $n0 $n1 1.5Mb 10ms DropTail set tcp [new Agent/TCP] set tcpsink [new Agent/TCPSink] $ns attach-agent $n0 $tcp $ns attach-agent $n1 $tcpsink $ns connect $tcp $tcpsink

11 Script to start nam set nf [open out.nam w] $ns namtrace-all $nf proc finish {} { global ns nf $ns flush-trace close $nf exec nam out.nam & exit 0 } # your code goes in here $ns at 12.0 "finish" # 12.0 is the simulation time in secs

12 Screenshots Project B.1 Project B.2

13 References [ 1] slides by John Heidemann ass_slides_sp2003.ppt [2] ns2 website: [3] ns-2 Tutorial: [4] Tcl/Tk tutorial : noplugin/http://hegel.ittc.ukans.edu/topics/tcltk/tutorial- noplugin/


Download ppt "Ns-2 tutorial Karthik Sadasivam Banuprasad Samudrala CSCI 5931 Network Security Instructor : Dr. T. Andrew Yang."

Similar presentations


Ads by Google