Ns 2 tutorial l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 13

ns-2 tutorial PowerPoint PPT Presentation


  • 132 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

ns-2 tutorial

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 l.jpg

ns-2 tutorial

CSCI 5931 Network Security

Instructor : Dr. T. Andrew Yang

Karthik Sadasivam

Banuprasad Samudrala


Introduction l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

Screenshots

Project B.2

Project B.1


References l.jpg

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/


  • Login