Professional Documents
Culture Documents
14IT066
Practical: 10
Aim: Simulate the Below scenario and find out value of ?? i.e. there is no packet drop
prove it by supporting graph.
Program:
set ns [new Simulator]
#n0 to n2
$ns duplex-link $n0 $n2 10.0Mb 10ms DropTail
$ns queue-limit $n0 $n2 50
#n1 to n2
$ns duplex-link $n1 $n2 10.0Mb 10ms DropTail
$ns queue-limit $n1 $n2 50
#n2 to n3
CSPIT 1
IT315
14IT066
CSPIT 2
IT315
14IT066
$ns run
Output:
Out Put :
CSPIT 3
IT315
14IT066
AWK Script: jit10.awk
BEGIN {
recvdSize = 0
startTime = 1e6
stopTime = 0
r=0;
}
{
event = $1
time = $2
flow_id = $8
pkt_id = $12
pkt_size = $6
flow_t = $5
if (event == "r" ) {
if (time > stopTime) {
stopTime = time
r++;
recvdSize += pkt_size
recvTime[pkt_id] = time
}
END {
CSPIT 4
IT315
14IT066
avg_delay = delay / r
} else {
avg_delay = 0
}
jitter1 = 0
prev_time = delay = prev_delay = 0
prev_delay = -1
for (i=0; i<r; i++) {
if(recvTime[i] != 0) {
if(prev_time != 0) {
delay = recvTime[i] - prev_time
e2eDelay = recvTime[i] - sendTime[i]
if(delay < 0) delay = 0
if(prev_delay != -1) {
jitter1 += abs(e2eDelay - prev_e2eDelay)
}
prev_delay = delay
prev_e2eDelay = e2eDelay
}
prev_time = recvTime[i]
}
}
if (recvdNum != 0) {
jitter1 = jitter1*1000/r
printf("\n")
printf(" %15s: %f\n", "startTime", startTime)
printf(" %15s: %f\n", "stopTime", stopTime)
printf(" %15s: %g\n", "receivedPkts", r)
printf(" %15s: %g\n", "avgJitter[ms]", jitter1)
function abs(value) {
if (value < 0) value = 0-value
return value
}
CSPIT 5
IT315
14IT066
Output:
Xgraph:
"DROPTAIL"
285 10
255 30
224 50
209 60
179 80
149 100
0 200
Output:
Conclusion:
In this practical, weve learnt Droptail queueing mechanism.
CSPIT 6