ns 2 tutorial
Download
Skip this Video
Download Presentation
ns-2 tutorial

Loading in 2 Seconds...

play fullscreen
1 / 13

Ns-2 tutorial - PowerPoint PPT Presentation


  • 153 Views
  • Uploaded on

ns-2 tutorial. CSCI 5931 Network Security Instructor : Dr. T. Andrew Yang . Karthik Sadasivam Banuprasad Samudrala. Introduction. Ns-2 is a discrete event simulator targeted at network research focused on modeling network protocols wired, wireless, satellite TCP, UDP, multicast, unicast

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Ns-2 tutorial' - shepry


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
ns 2 tutorial

ns-2 tutorial

CSCI 5931 Network Security

Instructor : Dr. T. Andrew Yang

Karthik Sadasivam

Banuprasad Samudrala

introduction
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
goals of ns
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
ns status
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
components of ns
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
ns software structure c and otcl
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
otcl and c the duality
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

installation and documentation
Installation and documentation
  • http://www.isi.edu/nsnam/ns/
    • download ns-allinone
    • includes Tcl, OTcl, TclCL, ns, nam, etc.
  • mailing list: [email protected]
  • documentation (see url above)
    • Marc Gries tutorial
    • ns manual
steps to set up the simulation
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
example tcp
Example : TCP

n0

n1

set ns [new Simulator]

set n0 [$ns node]

set n1 [$ns node]

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

script to start nam
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

screenshots
Screenshots

Project B.2

Project B.1

references
References

[1] slides by John Heidemann

http://sce.cl.uh.edu/yang/teaching/csci5931netSecuritySpr05/johnh_class_slides_sp2003.ppt

[2] ns2 website: http://www.isi.edu/nsnam/ns

[3] ns-2 Tutorial: http://www.isi.edu/nsnam/ns/tutorial/nsindex.html

[4] Tcl/Tk tutorial : http://hegel.ittc.ukans.edu/topics/tcltk/tutorial-noplugin/

ad