Wired network can be created using a simple topology with n number of nodes connected by a wired link. Any two nodes in the network can be connected using a duplex link and the link characteristics include bandwidth, delay and queue type. The code segment in test1.tcl creates a wired network and the nodes are connected with duplex link with the bandwidth 2 Megabit, a delay of 50ms and a DropTail queue. Each node is assigned with label, color and shape. The wireless network with 3 nodes can be viewed in the Network Animator (NAM) window after executing the file test1.tcl
# Filename: test1.tcl
#——-Event scheduler object creation——–#
set ns [new Simulator]
#———-creating trace objects—————-#
set nt [open test1.tr w]
$ns trace-all $nt
#———-creating nam objects—————-#
set nf [open test1.nam w]
$ns namtrace-all $nf
#———-Setting color ID—————-#
$ns color 1 darkmagenta
$ns color 2 yellow
$ns color 3 blue
$ns color 4 green
$ns color 5 black
#———- Creating Network—————-#
set totalNodes 3
for {set i 0} {$i < $totalNodes} {incr i} {
set node_($i) [$ns node]
}
set server 0
set router 1
set client 2
#———- Creating Duplex Link—————-#
$ns duplex-link $node_($server) $node_($router) 2Mb 50ms DropTail
$ns duplex-link $node_($router) $node_($client) 2Mb 50ms DropTail
$ns duplex-link-op $node_($server) $node_($router) orient right
$ns duplex-link-op $node_($router) $node_($client) orient right
#————Labelling—————-#
$ns at 0.0 "$node_($server) label Server"
$ns at 0.0 "$node_($router) label Router"
$ns at 0.0 "$node_($client) label Client"
$ns at 0.0 "$node_($server) color blue"
$ns at 0.0 "$node_($client) color blue"
$node_($server) shape hexagon
$node_($client) shape hexagon
#———finish procedure——–#
proc finish {} {
global ns nf nt
$ns flush-trace
close $nf
close $nt
puts "running nam…"
exec nam test1.nam &
exit 0
}
#Calling finish procedure
$ns at 10.0 "finish"
$ns run
#——— Execution ——–#
ns test2.tcl