Desarrollo
[imagen de la simulación realizada]
En mi caso lo que busque simular, era el comportamiento que se tiene entre dos ruters (en dos casas), donde se estan conectando por udp dos nodos al ruter 1 y mandan la información a otro nodo y este se encuentra en el ruter 2. El tipo de tipología que se tiene es estrella, donde se tiene unido ambos ruters.
Código de la Simulación con NS-2:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
##iniciamos | |
set ns [new Simulator] | |
##declaramos el tipo de enrutamiento | |
$ns rtproto LS | |
##archivo para la simulación | |
set nf [open a.nam w] | |
set nt [open trace.tr w] | |
$ns namtrace-all $nf | |
$ns trace-all $nt | |
##Crear archivo | |
set trace [open trace.tr w] | |
$ns trace-all $trace | |
proc finish {} { | |
global ns nf nt | |
$ns flush-trace | |
close $nf | |
close $nt | |
exec nam -a a.nam & | |
exit 0 | |
} | |
##creamos 6 nodos | |
for {set i 0} {$i < 6} {incr i} { | |
set n($i) [$ns node] | |
} | |
##dos nodos centrales | |
set ruter1 [$ns node] | |
set ruter2 [$ns node] | |
##unimos los nodos 0 al 3 con el ruter 1 al igual | |
## del 3 al 6 al ruter 2 | |
for {set i 0} {$i < 3} {incr i} { | |
$ns duplex-link $ruter1 $n($i) 1Mb 10ms DropTail | |
} | |
for {set i 3} {$i < 6} {incr i} { | |
$ns duplex-link $ruter2 $n($i) 1Mb 10ms DropTail | |
} | |
# TOPOLIGIA | |
##unimos los dos nodos centrales | |
$ns duplex-link $ruter1 $ruter2 1Mb 10ms DropTail | |
## unimos nodos | |
##aqui creamos el tip de mensaje udp | |
set udp0 [new Agent/UDP] | |
$ns attach-agent $n(4) $udp0 | |
# set udp0 flowid to 1 | |
$udp0 set fid_ 1 | |
##creamos el tamaño del los paquetes | |
## el intervalo de envio | |
set cbr0 [new Application/Traffic/CBR] | |
$cbr0 set packetSize_ 500 | |
$cbr0 set interval_ 0.005 | |
$cbr0 attach-agent $udp0 | |
set sinknode1 [new Agent/LossMonitor] | |
$ns attach-agent $ruter1 $sinknode1 | |
# Connect the UDP traffic source to Null sink | |
$ns connect $udp0 $sinknode1 | |
##Creamos otra conexion udp | |
set udp1 [new Agent/UDP] | |
$ns attach-agent $n(3) $udp1 | |
##creamos el tamaño del los paqueres | |
## el intervalo de envio | |
set cbr1 [new Application/Traffic/CBR] | |
$cbr1 set packetSize_ 500 | |
$cbr1 set interval_ 0.005 | |
$cbr1 attach-agent $udp1 | |
##aqui decidimos cual sera el destino | |
##final de nuestros paqueres | |
set null0 [new Agent/Null] | |
$ns attach-agent $n(1) $null0 | |
$ns connect $udp0 $null0 | |
$ns connect $udp1 $null0 | |
$ns at 0.5 "$cbr0 start" | |
$ns at 0.5 "$cbr1 start" | |
$ns at 4.5 "$cbr0 stop" | |
$ns at 4.5 "$cbr1 stop" | |
#finalizamos | |
$ns at 5.0 "finish" | |
$ns run |
Resultado:
La salida fueron cortadas, para no mostrar todo el resultado.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
+ 0.00017 0 6 rtProtoLS 100 ------- 0 0.1 6.2 -1 0 | |
- 0.00017 0 6 rtProtoLS 100 ------- 0 0.1 6.2 -1 0 | |
+ 0.007102 2 6 rtProtoLS 100 ------- 0 2.1 6.2 -1 1 | |
- 0.007102 2 6 rtProtoLS 100 ------- 0 2.1 6.2 -1 1 | |
r 0.01097 0 6 rtProtoLS 100 ------- 0 0.1 6.2 -1 0 | |
+ 0.01097 6 0 rtProtoLS 20 ------- 0 6.2 0.1 -1 2 | |
- 0.01097 6 0 rtProtoLS 20 ------- 0 6.2 0.1 -1 2 | |
+ 0.431978 0 6 rtProtoLS 20 ------- 0 0.1 6.2 -1 109 | |
- 0.431978 0 6 rtProtoLS 20 ------- 0 0.1 6.2 -1 109 | |
r 0.431978 6 1 rtProtoLS 100 ------- 0 6.2 1.2 -1 104 | |
+ 0.431978 1 6 rtProtoLS 20 ------- 0 1.2 6.2 -1 110 | |
- 0.431978 1 6 rtProtoLS 20 ------- 0 1.2 6.2 -1 110 | |
r 0.431978 6 2 rtProtoLS 100 ------- 0 6.2 2.1 -1 105 | |
+ 0.431978 2 6 rtProtoLS 20 ------- 0 2.1 6.2 -1 111 | |
- 0.431978 2 6 rtProtoLS 20 ------- 0 2.1 6.2 -1 111 | |
r 0.439998 0 6 rtProtoLS 20 ------- 0 0.1 6.2 -1 106 | |
r 0.439998 1 6 rtProtoLS 20 ------- 0 1.2 6.2 -1 107 | |
r 0.439998 2 6 rtProtoLS 20 ------- 0 2.1 6.2 -1 108 | |
r 0.442138 0 6 rtProtoLS 20 ------- 0 0.1 6.2 -1 109 | |
r 0.442138 1 6 rtProtoLS 20 ------- 0 1.2 6.2 -1 110 | |
r 0.442138 2 6 rtProtoLS 20 ------- 0 2.1 6.2 -1 111 | |
+ 0.5 4 7 cbr 500 ------- 1 4.0 1.0 0 112 | |
- 0.5 4 7 cbr 500 ------- 1 4.0 1.0 0 112 | |
+ 0.5 3 7 cbr 500 ------- 0 3.0 1.0 0 113 | |
- 0.5 3 7 cbr 500 ------- 0 3.0 1.0 0 113 | |
+ 0.505 4 7 cbr 500 ------- 1 4.0 1.0 1 114 | |
- 0.505 4 7 cbr 500 ------- 1 4.0 1.0 1 114 | |
+ 0.505 3 7 cbr 500 ------- 0 3.0 1.0 1 115 | |
- 0.505 3 7 cbr 500 ------- 0 3.0 1.0 1 115 | |
+ 0.51 4 7 cbr 500 ------- 1 4.0 1.0 2 116 | |
- 0.51 4 7 cbr 500 ------- 1 4.0 1.0 2 116 | |
+ 0.51 3 7 cbr 500 ------- 0 3.0 1.0 2 117 | |
- 0.51 3 7 cbr 500 ------- 0 3.0 1.0 2 117 | |
r 0.514 4 7 cbr 500 ------- 1 4.0 1.0 0 112 | |
+ 0.514 7 6 cbr 500 ------- 1 4.0 1.0 0 112 | |
- 0.514 7 6 cbr 500 ------- 1 4.0 1.0 0 112 | |
r 0.514 3 7 cbr 500 ------- 0 3.0 1.0 0 113 | |
+ 0.514 7 6 cbr 500 ------- 0 3.0 1.0 0 113 | |
+ 0.515 4 7 cbr 500 ------- 1 4.0 1.0 3 118 | |
- 0.515 4 7 cbr 500 ------- 1 4.0 1.0 3 118 | |
+ 0.515 3 7 cbr 500 ------- 0 3.0 1.0 3 119 | |
- 0.515 3 7 cbr 500 ------- 0 3.0 1.0 3 119 | |
- 0.518 7 6 cbr 500 ------- 0 3.0 1.0 0 113 |
Medidas de desempeño
Para las medidas de desempeño me base en el código de awk de un compañero de clase, aqui la liga, donde se busca obtener la latencia y el rendimiento de lo obtenido de la simulación del archivo trace.tr.
Con lo obtenido, si graficó en gnuplot, donde podemos ver las variaciones de desempeño.
[rendimiento de la simulación]
[latencia]
Conclusiones:
En la latencia podemos observar como no se tienen tantas variaciones y tiende a ser logarítmica, en cambio en el rendimiento de desempeño se puede observar como se tienen diferentes variaciones, que es cuando empieza a tener pérdidas en los paquetes.
La ortografía requiere mejora. Para la tarea, sería bueno tener parametrizados ambos lo de generación de topología y la generación de tráfico. 6 pts.
ResponderEliminar