Explanation for a Simple Script
set ns [new Simulator]
This would set the simulator with the simulator object which is to be accessed in the script.
Step 2: Then, to set the nam (network animation) file with that 'ns' object and associate with it:
set nf [open out.nam w] $ns namtrace-all $nf set tr [open out.tr w] $ns trace-all $tr
Step 3: Now the nodes could be set as many as you want, for loop could be used if many nodes are to be made.
set n0 [$ns node]
Step 4: Creating connection for the various nodes with each other with the band width and rate.
$ns duplex-link $n0 $n1 10Mb 10ms DropTail
Step 5: The nodes could be given with various orientations with this option. right, right-up and right down could be used depending on the node.
$ns duplex-link-op $n0 $n1 orient right-up
Step 6: For the application like TCP or UDP to run, we need to set two agents and the application which should run in between.
When using TCP, we have FTP as the application and TCPsink as the end agent. Connection must be made between TCP and TCPsink , same in udp with cbr and null respectively.
set tcp [new Agent/TCP] $ns attach-agent $n0 $tcp
This would make a tcp agent and connect it with the node.
Step 7: Connecting the FTP application with TCP
set ftp [new Application/FTP] $ftp attach-agent $tcp
Step 8: Setting TCPSink to the node where the TCP packets are received:
set agent [new Agent/TCPSink] $ns attach-agent $n3 $sink
Step 9: Connecting TCP and sink(agents) for making the network flow:
$ns connect $tcp $sink
Step 10: Similarly, for UDP,
set udp [new Agent/UDP] $ns attach-agent $n2 $udp set cbr [new Application/Traffic/CBR] $cbr attach-agent $udp set null [new Agent/Null] $ns attach-agent $n3 $null $ns connect $udp $null
Step 11: Routing protocols can be used in the simulator using rtmodel (to break the link), rtproto (to use the protocol)
$ns rtmodel-at 1.0 down $n1 $n2 $ns rtmodel-at 2.0 up $n1 $n3
For distance vector we could use
$ns rtproto DV
For linkstate we could use
$ns rtproto LS
When all this is done, the TCP could be started at some point and could call the finish procedure to end. The out.tr file is used to trace the packets. A normal awk command could be used to analyse the packets.
$ns at 0.0 "$ftp start" $ns at 0.0 "$cbr start" $ns at 5.0 "finish"
Step 13: 'run' is used to run the whole simulation.
$ns run
ns example1.tcl
Comments
Post a Comment