Introducción
En este laboratorio, continuaremos con la simulación de un escenario básico utilizando PingApp
en el INET Framework. Esta vez, introduciremos la manipulación de parámetros del canal de comunicación (Eth100M
) como el retardo (delay
) y la tasa de error de bits (ber
). El objetivo es que comprendas cómo estas modificaciones afectan el desempeño de la red y cómo visualizarlas a través de las estadísticas generadas por OMNeT++.
Objetivo
- Configurar un escenario de simulación en OMNeT++ con parámetros personalizados para el canal de comunicación.
- Comparar los resultados generados bajo diferentes condiciones del canal.
- Familiarizarse con la obtención y análisis de estadísticas de la simulación en OMNeT++.
Reutilización del proyecto anterior
En lugar de crear un proyecto desde cero, haremos una copia del proyecto anterior (lab1Ping
) y lo modificaremos.
- En el explorador de proyectos de OMNeT++, selecciona la carpeta del proyecto
lab1Ping
. - Copia y pega la carpeta en el mismo espacio de trabajo y renómbrala como
lab2Ping
. - Cambia el nombre de tu archivo
lab1.ned
alab2.ned
.
Modificación de la topología de red
Configuración del archivo lab2.ned
Abre el archivo lab2.ned
y asegúrate que tiene la siguiente configuración:
import inet.networklayer.configurator.ipv4.Ipv4NetworkConfigurator;
import inet.node.ethernet.Eth100M;
import inet.node.inet.StandardHost;
network Red2hosts_v2
{
@display("bgb=308,175");
submodules:
HostA: StandardHost {
@display("p=51.9,117.2");
}
HostB: StandardHost {
@display("p=236,105");
}
configurator: Ipv4NetworkConfigurator {
@display("p=258,27");
}
connections:
HostA.ethg++ <--> Eth100M {
delay = 5ms;
ber = 0.00001;
} <--> HostB.ethg++;
}
NOTE
Hemos agregado dos parámetros importantes al canal
Eth100M
:
delay = 5ms;
(Simula un enlace con un retardo fijo)ber = 0.00001;
(Bit Error Rate, simula interferencias o ruido en el canal)
Modificación del archivo omnetpp.ini
Edita tu archivo omnetpp.ini
para que coincida con la siguiente configuración:
[Config PingModified]
network = Red2hosts_v2
sim-time-limit = 3600s
#Aplicación Ping
*.HostA.numApps = 1
*.HostA.app[0].typename="PingApp"
*.HostA.app[0].destAddr = "HostB"
*.HostA.app[0].startTime = 1s
*.HostA.app[0].sendInterval = uniform(1s,3s)
*.HostA.app[0].printPing = true
TIP
Puedes cambiar el nombre de la configuración a
PingModified
para diferenciarla de la simulación anterior.
Ejecutar la Simulación
- Ejecuta la simulación como lo hiciste en
Lab 1
. - Verifica que las estadísticas tipo
numLost
yrtt
se generen adecuadamente. - Observa el comportamiento del sistema al introducir un retardo fijo (
delay
) y errores en la transmisión (ber
). - Experimenta con diferentes valores de
delay
yber
modificando el archivo.ned
y ejecutando la simulación varias veces, anota como impacta las estadísticas denumLost
yrtt
.
Análisis de Estadísticas
Al finalizar la simulación, explora los archivos .sca
y .vec
para obtener estadísticas como:
numLost
: Paquetes perdidos por errores introducidos en el canal.rtt
: Round-trip time (demora causada por el retardo del canal).TxPk
yRxPkOk
: Comparación del número de paquetes transmitidos y recibidos correctamente.
ber
ydelay
y observa como estos influyen en ambas estadísticasnumLost
,rtt
yRxPxOK
Prueba con varios valores de
Cálculo del % Rate Loss
- Calcula el porcentaje de paquetes perdidos (
% rate loss
) utilizando la siguiente fórmula:
- Compara el resultado con el valor proporcionado por
PingApp
como parte de sus estadísticas.
Preguntas para responder
- ¿Qué efecto tiene aumentar el retardo (
delay
) en la estadísticartt
? - ¿Qué efecto tiene aumentar el
ber
en la estadísticanumLost
? - ¿Cómo afectan estos parámetros la cantidad de paquetes transmitidos y recibidos correctamente (
TxPk
yRxPkOk
) así como el Porcentaje de paquetes perdidos que calculaste? - ¿El modulo
PingApp
genera una estadística sobre el porcentaje de perdida de paquetes? ¿Es este valor similar al que calculaste?