diff --git a/10-10a.tcl b/10-10a.tcl index 318b13d..ebf52b8 100644 --- a/10-10a.tcl +++ b/10-10a.tcl @@ -4,11 +4,13 @@ #Create Simulator set ns [new Simulator] + #Open Trace file and NAM file set ntrace [open 10a.tr w] $ns trace-all $ntrace set namfile [open 10a.nam w] $ns namtrace-all $namfile + #Finish Procedure proc Finish {} { global ns ntrace namfile @@ -16,39 +18,49 @@ global ns ntrace namfile $ns flush-trace close $ntrace close $namfile + #Execute the nam animation file exec nam 10a.nam & + #Show the number of packets dropped exec echo "The number of packet dropped is " & exec grep -c "^d" 10a.tr & exit 0 } + #Create 3 nodes set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] + #Label the nodes $n0 label "TCP Source" $n2 label "Sink" + #Set the color $ns color 1 blue + #Create Links between nodes #You need to modify the bandwidth to observe the variation in packet drop $ns duplex-link $n0 $n1 1Mb 10ms DropTail $ns duplex-link $n1 $n2 1Mb 10ms DropTail + #Make the Link Orientation $ns duplex-link-op $n0 $n1 orient right $ns duplex-link-op $n1 $n2 orient right + #Set Queue Size #You can modify the queue length as well to observe the variation in packet drop $ns queue-limit $n0 $n1 10 $ns queue-limit $n1 $n2 10 + #Set up a Transport layer connection. set tcp0 [new Agent/TCP] $ns attach-agent $n0 $tcp0 set sink0 [new Agent/TCPSink] $ns attach-agent $n2 $sink0 $ns connect $tcp0 $sink0 + #Set up an Application layer Traffic set cbr0 [new Application/Traffic/CBR] $cbr0 set type_ CBR @@ -57,9 +69,11 @@ $cbr0 set rate_ 1Mb $cbr0 set random_ false $cbr0 attach-agent $tcp0 $tcp0 set class_ 1 + #Schedule Events $ns at 0.0 "$cbr0 start" $ns at 5.0 "Finish" + #Run the Simulation $ns run