0% found this document useful (0 votes)
68 views10 pages

CN Lab Week 3

The document describes how to simulate different network topologies using the NS2 network simulator. It provides code to generate a bus, ring, mesh, and star topology. For each topology, it defines nodes and links, assigns properties like bandwidth and delay, labels the nodes, orients the links, and colors them for visualization. It then runs the simulation and saves the output for viewing in the nam network animator tool.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
68 views10 pages

CN Lab Week 3

The document describes how to simulate different network topologies using the NS2 network simulator. It provides code to generate a bus, ring, mesh, and star topology. For each topology, it defines nodes and links, assigns properties like bandwidth and delay, labels the nodes, orients the links, and colors them for visualization. It then runs the simulation and saves the output for viewing in the nam network animator tool.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

P V S Jyothirmaye CSE – 4 20135A0524

Week - 3

Aim : Design a sample topology using NS2 Simulation Tool.


Bus Topology :
set ns [new Simulator]

set nf [open bus.nam w]

$ns namtrace-all $nf

$ns color 1 Red

$ns color 2 Blue

$ns color 3 Green

$ns color 4 Yellow

$ns color 5 Violet

$ns color 6 Pink

$ns color 7 Brown

$ns color 8 White

proc finish {} {

global ns nf

$ns flush-trace

#close the trace file

close $nf

#Execute nam on the trace file

exec nam bus.nam &

exit 0 }

set n0 [$ns node]

set n1 [$ns node]

set n2 [$ns node]

set n3 [$ns node]

set n4 [$ns node]

$ns duplex-link $n0 $n1 10Mbps 10ms DropTail

$ns duplex-link $n1 $n2 10Mbps 10ms DropTail

$ns duplex-link $n2 $n3 10Mbps 10ms DropTail

$ns duplex-link $n3 $n4 10Mbps 10ms DropTail


P V S Jyothirmaye CSE – 4 20135A0524

$ns at 0.0 "$n0 label Client1"

$ns at 0.0 "$n1 label Client2"

$ns at 0.0 "$n2 label Client3"

$ns at 0.0 "$n3 label Client4"

$ns at 0.0 "$n4 label Client4"

$ns duplex-link-op $n0 $n1 orient right

$ns duplex-link-op $n1 $n2 orient right

$ns duplex-link-op $n2 $n3 orient right

$ns duplex-link-op $n3 $n4 orient null

$ns at 1.0 "finish"

#Start simulation

$ns run

 Open Terminal go to the file location type ns file.tcl

OUTPUT(BUS):
P V S Jyothirmaye CSE – 4 20135A0524

Ring Topology :
#Create a simulator object

set ns [new Simulator]

#Open file for nam tracing

set nf [open ring.nam w]

$ns namtrace-all $nf

#Set up different colors for dataflow

$ns color 1 Red

$ns color 2 Blue

$ns color 3 Green

$ns color 4 Yellow

$ns color 5 Violet

$ns color 6 Pink

$ns color 7 Brown

$ns color 8 White

#Define a 'finish' procedure

proc finish {} {

global ns nf

$ns flush-trace

#close the trace file

close $nf

#Execute nam on the trace file

exec nam ring.nam &

exit 0 }

#Create Nodes for the simulation

set n1 [$ns node]

set n2 [$ns node]

set n3 [$ns node]

set n4 [$ns node]


P V S Jyothirmaye CSE – 4 20135A0524

set n5 [$ns node]

set n6 [$ns node]

set n7 [$ns node]

set n8 [$ns node]

#Create a duplex link between the links

$ns duplex-link $n1 $n2 1Mb 10ms DropTail

$ns duplex-link $n2 $n3 1Mb 10ms DropTail

$ns duplex-link $n3 $n4 1Mb 10ms DropTail

$ns duplex-link $n4 $n5 1Mb 10ms DropTail

$ns duplex-link $n5 $n6 1Mb 10ms DropTail

$ns duplex-link $n6 $n7 1Mb 10ms DropTail

$ns duplex-link $n7 $n8 1Mb 10ms DropTail

$ns duplex-link $n8 $n1 1Mb 10ms DropTail

#Labelling the nodes

$ns at 0.0 "$n1 label Client1"

$ns at 0.0 "$n2 label Client2"

$ns at 0.0 "$n3 label Client3"

$ns at 0.0 "$n4 label Client4"

$ns at 0.0 "$n5 label Client5"

$ns at 0.0 "$n6 label Client6"

$ns at 0.0 "$n7 label Client7"

$ns at 0.0 "$n8 label Client8"

#Orient

$ns duplex-link-op $n1 $n2 orient right-down

$ns duplex-link-op $n2 $n3 orient down-right

$ns duplex-link-op $n3 $n4 orient left-down

$ns duplex-link-op $n4 $n5 orient left-down

$ns duplex-link-op $n5 $n6 orient left-up

$ns duplex-link-op $n6 $n7 orient left-up

$ns duplex-link-op $n7 $n8 orient right-up


P V S Jyothirmaye CSE – 4 20135A0524

$ns duplex-link-op $n8 $n1 orient right-up

#Coloring the link

$ns duplex-link-op $n1 $n2 color red

$ns duplex-link-op $n2 $n3 color blue

$ns duplex-link-op $n3 $n4 color green

$ns duplex-link-op $n4 $n5 color yellow

$ns duplex-link-op $n5 $n6 color violet

$ns duplex-link-op $n6 $n7 color pink

$ns duplex-link-op $n7 $n8 color brown

$ns duplex-link-op $n8 $n1 color white

#Specifying the start and stop time

$ns at 1.0 "finish"

#Start simulation

$ns run

 Open Terminal go to the file location type ns file.tcl ex : ns Ring.tcl


P V S Jyothirmaye CSE – 4 20135A0524

OUTPUT(RING):

Mesh Topology :
#Create a simulator object

set ns [new Simulator]

#Open file for nam tracing

set nf [open mesh2.nam w]

$ns namtrace-all $nf

#Set up different colors for dataflow

$ns color 1 Red

$ns color 2 Blue

$ns color 3 Green

$ns color 4 Yellow

$ns color 5 Violet

$ns color 6 Pink

$ns color 7 Brown

$ns color 8 White

#Define a 'finish' procedure

proc finish {} {

global ns nf
P V S Jyothirmaye CSE – 4 20135A0524

$ns flush-trace

#close the trace file

close $nf

#Execute nam on the trace file

exec nam mesh2.nam &

exit 0 }

#Create Nodes for the simulation

set n0 [$ns node]

set n1 [$ns node]

set n2 [$ns node]

set n3 [$ns node]

#Create a duplex link between the links

$ns duplex-link $n0 $n1 10Mbps 10ms DropTail

$ns duplex-link $n0 $n2 10Mbps 10ms DropTail

$ns duplex-link $n0 $n3 10Mbps 10ms DropTail

$ns duplex-link $n1 $n0 10Mbps 10ms DropTail

$ns duplex-link $n1 $n2 10Mbps 10ms DropTail

$ns duplex-link $n1 $n3 10Mbps 10ms DropTail

$ns duplex-link $n2 $n0 10Mbps 10ms DropTail

$ns duplex-link $n2 $n1 10Mbps 10ms DropTail

$ns duplex-link $n2 $n3 10Mbps 10ms DropTail

$ns duplex-link $n3 $n0 10Mbps 10ms DropTail

$ns duplex-link $n3 $n1 10Mbps 10ms DropTail

$ns duplex-link $n3 $n2 10Mbps 10ms DropTail

#Labelling the nodes

$ns at 0.0 "$n0 label Client1"

$ns at 0.0 "$n1 label Client2"

$ns at 0.0 "$n2 label Client3"

$ns at 0.0 "$n3 label Client4"


P V S Jyothirmaye CSE – 4 20135A0524

#Orient

$ns duplex-link-op $n0 $n1 orient right-up

$ns duplex-link-op $n0 $n2 orient right

$ns duplex-link-op $n0 $n3 orient right-down

$ns duplex-link-op $n1 $n0 orient left-down

$ns duplex-link-op $n1 $n2 orient right-down

$ns duplex-link-op $n1 $n3 orient down

$ns duplex-link-op $n2 $n0 orient left

$ns duplex-link-op $n2 $n1 orient left-up

$ns duplex-link-op $n2 $n3 orient left-down

$ns duplex-link-op $n3 $n0 orient left-up

$ns duplex-link-op $n3 $n1 orient up

$ns duplex-link-op $n3 $n2 orient right-up

#Coloring the link

$ns duplex-link-op $n0 $n1 color red

$ns duplex-link-op $n0 $n2 color yellow

$ns duplex-link-op $n0 $n3 color pink

$ns duplex-link-op $n1 $n0 color red

$ns duplex-link-op $n1 $n2 color blue

$ns duplex-link-op $n1 $n3 color black

$ns duplex-link-op $n2 $n0 color yellow

$ns duplex-link-op $n2 $n1 color blue

$ns duplex-link-op $n2 $n3 color purple

$ns duplex-link-op $n3 $n0 color pink

$ns duplex-link-op $n3 $n1 color black

$ns duplex-link-op $n3 $n2 color purple

#Specifying the start and stop time

$ns at 1.0 "finish"

#Start simulation

$ns run
P V S Jyothirmaye CSE – 4 20135A0524

OUTPUT(MESH):

Star Topology :
set ns [new Simulator]
set nf [open out.nam w]
$ns namtrace-all $nf
proc finish {} {
global ns nf
$ns flush-trace
close $nf
puts "running nam"
exec nam out.nam &
exit 0
}
set n0 [$ns node]
set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
set n4 [$ns node]
set n5 [$ns node]
set n6 [$ns node]
$ns duplex-link $n0 $n1 10Mbps 10ms DropTail
P V S Jyothirmaye CSE – 4 20135A0524

$ns duplex-link $n0 $n2 10Mbps 10ms DropTail


$ns duplex-link $n0 $n3 10Mbps 10ms DropTail
$ns duplex-link $n0 $n4 10Mbps 10ms DropTail
$ns duplex-link $n0 $n5 10Mbps 10ms DropTail
$ns duplex-link $n0 $n6 10Mbps 10ms DropTail
$ns duplex-link-op $n0 $n1 orient up
$ns duplex-link-op $n0 $n2 orient right-up
$ns duplex-link-op $n0 $n3 orient right-down
$ns duplex-link-op $n0 $n4 orient down
$ns duplex-link-op $n0 $n5 orient left-down
$ns duplex-link-op $n0 $n6 orient left-up
$ns at 5.00 "finish"
$ns run
OUTPUT(STAR):

RESULT: All topologies are implemented using NS2.

You might also like