Lo que hice de simulación es el generar trafico utilizando el protocolo TCP y en capa aplicación utilizando FTP, haciendo una topología de árbol de manera que el nodo padre generara el tráfico y pasara por los demás nodos hijos y ver que si entre más lejos estés de este nodo padre, tenemos menos kbps por segundo, por lo que en los primeros segundos genero el tráfico hacia el nodo 7 y luego genero tráfico para el nodo 8.
Este es el código de la simulación.
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
set sim [new Simulator] | |
set archivo_1 [open salida_1.nam w] | |
$sim namtrace-all $archivo_1 | |
proc termina_1 {} { | |
global sim archivo_1 | |
$sim flush-trace | |
close $archivo_1 | |
exec nam salida_1.nam & | |
exit 0 | |
} | |
#Nodos suficientes para topologia arbol | |
set padre [$sim node] | |
set hijo1 [$sim node] | |
set hijo2 [$sim node] | |
set hijo3 [$sim node] | |
set ter1 [$sim node] | |
set ter2 [$sim node] | |
set ter3 [$sim node] | |
set ter4 [$sim node] | |
set ter5 [$sim node] | |
#conexiones para topologia arbol | |
$sim duplex-link $padre $hijo1 2.5Mb 10ms DropTail | |
$sim duplex-link $hijo1 $hijo2 2Mb 10ms DropTail | |
$sim duplex-link $hijo1 $hijo3 2Mb 10ms DropTail | |
$sim duplex-link $hijo3 $ter1 1.5Mb 10ms DropTail | |
$sim duplex-link $hijo3 $ter2 1.5Mb 10ms DropTail | |
$sim duplex-link $hijo3 $ter3 1.5Mb 10ms DropTail | |
$sim duplex-link $hijo2 $ter4 1.5Mb 10ms DropTail | |
$sim duplex-link $ter3 $ter5 1.5Mb 10ms DropTail | |
$sim queue-limit $padre $hijo1 25 | |
$sim queue-limit $hijo1 $hijo2 15 | |
$sim queue-limit $hijo1 $hijo3 15 | |
$sim queue-limit $hijo3 $ter1 10 | |
$sim queue-limit $hijo3 $ter2 10 | |
$sim queue-limit $hijo3 $ter3 10 | |
$sim queue-limit $hijo2 $ter4 10 | |
$sim queue-limit $ter3 $ter5 10 | |
$sim duplex-link-op $padre $hijo1 orient down | |
$sim duplex-link-op $hijo1 $hijo2 orient down-right | |
$sim duplex-link-op $hijo1 $hijo3 orient down-left | |
$sim duplex-link-op $hijo3 $ter1 orient down-left | |
$sim duplex-link-op $hijo3 $ter2 orient down-right | |
$sim duplex-link-op $hijo3 $ter3 orient down | |
$sim duplex-link-op $ter3 $ter5 orient down | |
$sim duplex-link-op $hijo2 $ter4 orient down-right | |
set tcp [new Agent/TCP] | |
$sim attach-agent $padre $tcp | |
set nulo [new Agent/TCPSink] | |
$sim attach-agent $ter4 $nulo | |
$sim connect $tcp $nulo | |
set tcp2 [new Agent/TCP] | |
$sim attach-agent $padre $tcp2 | |
set nulo2 [new Agent/TCPSink] | |
$sim attach-agent $ter5 $nulo2 | |
$sim connect $tcp2 $nulo2 | |
set ftp [new Application/FTP] | |
$ftp attach-agent $tcp | |
set ftp2 [new Application/FTP] | |
$ftp2 attach-agent $tcp2 | |
$sim at 0.01 "$ftp start" | |
$sim at 0.5 "$ftp stop" | |
$sim at 0.51 "$ftp2 start" | |
$sim at 1.0 "$ftp2 stop" | |
$sim at 1.0 "termina_1" | |
$sim run |
En donde pueden ver cómo genero el tráfico y la posición de los nodos, modificando la intensidad de ms y trazos según los nodos y su jerarquía.
Luego, todo esta simulación genera un archivo nam el cual por medio de python saco sus valores interesantes para obtener los kbps que recibe y el tiempo capturado.
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
#!/usr/bin/python | |
def obtener_datos(): | |
f = open("salida_1.nam") | |
dato = f.readline().split(" ") | |
cont = 0 | |
while dato != "": | |
dato = f.readline().split(" ") | |
if dato[0] == "r": | |
if dato[8] == "tcp": | |
if dato[6] == "7": | |
print str(float(dato[10])/float(dato[2])*(0.008)) + " " + str(dato[2]) | |
cont = cont + 1 | |
if dato == "": | |
break | |
obtener_datos() |
Luego, grafico el comportamiento en gnuplot.
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
set grid layerdefault | |
set term png | |
set title 'Experimento Nodos' | |
set ylabel 'kbps' | |
set xlabel 'Segundos' | |
set label "" | |
set key out vert | |
set key right top | |
set output "grafica_nodo.png" | |
plot "datos_nodo7.txt" using 2:1 w l lt 1 title 'Nodo7', "datos_nodo8.txt" using 2:1 w l lt 2 title 'Nodo8' |
Obteniendo la siguiente gráfica.
En donde podemos comprobar que el nodo más lejano al padre (nodo 8), no da la misma velocidad que el nodo 7.
Esta sería la entrada de laboratorio para telecomunicaciones, si tienen alguna duda o comentario favor de comentar.
Bien; considera videos en el futuro ;) 7 pts.
ResponderEliminar