Description:
This tcl script generate the three wired nodes n0,n1 and n2.It use the duplex link for node connection. Band width between the nodes n(0) and n(1) is 2 MBs and network delay is 10ms and it use Drop tail queue. Bandwidth between the nodes n(1) and n(2) as 128kbs and network delay is 10ms and it use Drop tail queue .Here create the CBR traffic Between the nodes n(0),n(1) and also between the nodes n(1),n(2). In this script we connect the n(0) with n(1) very high Bandwidth and n(1) with n(2) very low bandwidth. Here we make the communication from n(0) to n(2) through the intermediate node n(1).
So Bottle neck situation is created at the node n(1).
Code:
#Create a simulator object
set ns [new Simulator]
#Open the nam trace file
set nf [open out.nam w]
$ns namtrace-all $nf
#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 out.nam &
exit 0
}
#Create two nodes
set n0 [$ns node]
set n1 [$ns node]
set n2 [$ns node]
#Create a duplex link between the nodes
$ns duplex-link $n0 $n1 2Mb 10ms DropTail
$ns duplex-link $n1 $n2 128Kbps 10ms DropTail
#Create a UDP agent and attach it to node n0
set udp0 [new Agent/UDP]
$ns attach-agent $n0 $udp0
# Create a CBR traffic source and attach it to udp0
set cbr0 [new Application/Traffic/CBR]
$cbr0 set packetSize_ 500
$cbr0 set interval_ 0.005
$cbr0 attach-agent $udp0
#Create a Null agent (a traffic sink) and attach it to node n1
set null0 [new Agent/Null]
$ns attach-agent $n2 $null0
#Connect the traffic source with the traffic sink
$ns connect $udp0 $null0
#Schedule events for the CBR agent
$ns at 0.5 "$cbr0 start"
$ns at 4.5 "$cbr0 stop"
#Call the finish procedure after 5 seconds of simulation time
$ns at 5.0 "finish"
#Run the simulation
$ns run
Screen for bottle neck node.
|