Documente Academic
Documente Profesional
Documente Cultură
I. OBJETIVO
Realizar la simulacin de la red con trfico CBR/UDP y analice el desempeo
de ancho de banda.
Analizar la red con trfico CBR y FTP y el comportamiento de ancho de banda
y la perdida de paquetes.
#Create 5 nodes
set n0 [$ns node]
set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
set n4 [$ns node]
Out 0
0.5
0.4
0.3
0.2
0.1
0
0 5 10 15 20 25 30
-0.1
Out 1
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0
-0.05 0 5 10 15 20 25 30
Out 2
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0
-0.05 0 5 10 15 20 25 30
- Excediendo 1Mbps de velocidad
Se generaron 3 archivos en los cuales se pudo observar lo siguiente a travs de
sus grficas.
Out 0
0.5
0.4
0.3
0.2
0.1
0
-0.1 0 5 10 15 20 25 30
Out 1
0.8
0.6
0.4
0.2
0
0 5 10 15 20 25 30
-0.2
Out 2
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-0.1 0 5 10 15 20 25 30
IV. CONCLUSIONES SIMULACION 1
Tras la realizacin de la simulacin 1 se pudo llegar a las siguientes conclusiones:
- Los grficos muestran que si la velocidad no es sobrepasada, y la suma de
todas las fuentes sumadas no excede 1Mbps, todos tendrn prioridad y la
comunicacin ser pareja.
- Si las velocidades de las fuentes sumadas excede 1Mbps, se puede
observar que existe demasiado trfico y la comunicacin no es pareja.
V. SESION DE PRUEBAS SIMULACION 2
Para la realizacin de la simulacin 2 se utiliz el siguiente cdigo proporcionado
por el docente de la materia:
#Flujos TCP y UDP
proc record1 {} {
global null0 f0 fmon oldbw0 flowmon
#Get an instance of the simulator
set ns [Simulator instance]
#Set the time after which the procedure should be called again
set time 0.2
#Get the current time
set now [$ns now]
#How many bytes have been received by the traffic sinks?
set bw0 [$null0 set bytes_]
set bwf1 [$fmon set bdepartures_]
set fcl [$flowmon classifier]
set fids { 2 }
foreach i $fids {
set flow($i) [$fcl lookup auto 0 0 $i]
if { $flow($i) != "" } {
set bytes2 [$flow($i) set bdepartures_]
#Calculate the throughput and write it to the files
puts $f0 "$now \t [expr ($bytes2 - $oldbw0)*8/$time/1000000]\t [expr [$flow($i) set
pdrops_]]"
#remember the old value
#set oldbw0 $bytes2
$flow($i) set barrivals_ 0
$flow($i) set bdepartures_ 0
$flow($i) set bdrops_ 0
$flowmon set bdrops_ 0
}
}
#Reset the bytes_ values on the traffic sinks
#$null1 set bytes_ 0
$fmon set bdepartures_ 0
$flowmon set barrivals_ 0
#Re-schedule the procedure
$ns at [expr $now+$time] "record1"
}
#0.04sec interval
#Define a procedure which periodically records the bandwidth received by the
#three traffic sinks sink0/1/2 and writes it to the file f1.
proc record2 {} {
global null0 f1 qqmon oldbw00
#Get an instance of the simulator
set ns [Simulator instance]
#Set the time after which the procedure should be called again
set time 0.2
#How many bytes have been received by the traffic sinks?
set bw00 [$null0 set bytes_]
set bw1 [$qqmon set bdepartures_]
set pk1 [$qqmon set pdepartures_]
set packetdrops [$qqmon set pdrops_]
#Get the current time
set now [$ns now]
#Calculate the throughput and write it to the files
puts $f1 "$now \t [expr ($bw00 - $oldbw00)*8/$time/1000000]"
#Reset the bytes_ values on the traffic sinks
$qqmon set bdepartures_ 0
$qqmon set pdrops_ 0
$qqmon set pdepartures_ 0
#remember the old value
set oldbw00 $bw00
#$null0 set bytes_ 0
#Re-schedule the procedure
$ns at [expr $now+$time] "record2"
}
#Flow Monitor
set linkn1n2 [$ns link $n1 $n2]
set flowmon [$ns makeflowmon Fid]
$ns attach-fmon $linkn1n2 $flowmon
#Monitor the queue for the link between node 2 and node 3
$ns duplex-link-op $n1 $n2 queuePos 0.5
set qqmon [$ns monitor-queue $n1 $n2 ""]
set fmon [$ns monitor-queue $n0 $n1 ""]
set qmon [$ns monitor-queue $n1 $n2 ""]