5.2. Herramienta de simulación OMNeT++ 98
5.2.4. Framework INET y herramienta auxiliar ReaSE 103
Estas dos herramientas son la base del trabajo presentado en lo que resta de memoria. Para empezar se muestra la figura 5.2‐2 con la estructura de componentes
que interaccionan en OMNeT++3.3, INET Framework y ReaSE. A continuación se
explica su significado.
Fig. 5.2‐2 Estructura de interrelación de OMNeT++3.3, INET y ReaSE
Las clases básicas que sirven de apoyo y definen el sistema de funcionamiento de todo el conjunto son las provistas por el núcleo (kernel) de OMNeT++3.3. Dentro de OMNeT se instalan el Framework INET para trabajar con la pila TCP/IP y ReaSE para la generación de escenarios realistas con estructura de las redes de Internet.
Por defecto INET sólo puede trabajar con jerarquías de red de un solo nivel y
encaminamiento plano. ReaSE genera topologías jerárquicas y usa encaminamiento y
asignación de direcciones igualmente jerárquico. Para que ambas herramientas sean
interoperables, ReaSE aplica un parche a INET, que modifica sus características para
permitir las operaciones mencionadas con redes jerárquicas. Por otra parte ReaSE
permite generar independientemente de OMNeT topologías realistas con múltiples
dominios, varios niveles de jerarquía a nivel de routers y adición de hosts finales y
servidores. Estas topologías tienen un formato compatible con la definición de
topologías .ned, por lo que se pueden integrar directamente en instancias de modelos de INET y ser modificadas para añadir los elementos nuevos creados y adaptarlas a las modificaciones del modelo base.
5.2.4.1. Framework INET
El framework INET, [49], es un paquete de extensión para OMNeT++ que permite simular redes de telecomunicaciones. Al igual que el resto de extensiones de OMNeT++, es de código abierto, y sigue la filosofía de diseño de OMNeT++ en la que se desarrollan paquetes específicos para áreas de simulación como extensiones sobre el
núcleo base. Este framework contiene modelos de simulación para varios protocolos
de Internet, entre ellos UDP, TCP, SCTP, IP, Ethernet, PPP, IEEE 802.11, MPLS, OSPF, etc. En principio, se puede definir e implantar cualquier pila de protocolos, usando tanto IPv4 como IPv6, pero la implementación del protocolo IPv6 no está completa en el momento de elaboración de este documento.
La definición de escenarios de simulación se realiza con el mismo lenguaje NED que usa el simulador base OMNeT++. Se pueden crear tantos niveles de jerarquía como se desee entre módulos, pudiendo crearse escenarios de alta complejidad. No
obstante, la velocidad de ejecución de la simulación decrece enormemente conforme
se aumenta el número de nodos de la red.
Los mensajes entre módulos, la definición de conexiones y canales de
comunicación son idénticos a la que provee OMNeT++, siendo estos elementos
modificaciones de los módulos base mediante herencia para implementar variedad de
alternativas. Los canales definidos incluyen conexiones punto a punto, conexiones
Ethernet, enlaces ópticos y enlaces inalámbricos.
Los protocolos y módulos simples son integrados en módulos compuestos para
obtener entidades de red de alto nivel, como son servidores Web, conmutadores,
tarjetas de red, puntos de acceso inalámbrico, etc. Los módulos compuestos se pueden reutilizar para distintos tipos de escenarios, por ejemplo un servidor Web puede usarse en redes cableadas o inalámbricas.
Los tipos de red que se pueden definir incluyen redes cableadas, como redes
TCP/IP, redes MPLS, redes ópticas o redes inalámbricas 802.11. Las políticas de
dinámicos como RIP u OSPF, así como encaminamiento unicast o multicast. En el caso de multicast sólo se puede realizar con rutas estáticas pre‐configuradas. En este proyecto se realiza una aportación que permite implantar multicast dinámico.
La parametrización, programación de baterías de simulaciones y ejecuciones se realizan de un modo similar al visto en el apartado anterior. Lo mismo para la generación de ficheros de salida, estadísticas y procesado de resultados.
5.2.4.2. Herramienta ReaSE
Para las pruebas del protocolo de encaminamiento multicast inter‐dominio
PIM‐SM y sus modificaciones es necesario generar unos escenarios que simulen la estructura existente en Internet. La calidad y realismo de los escenarios generados son uno de los puntos fundamentales para obtener resultados coherentes con la realidad que se está simulando.
En ese sentido hay que entender cómo es la estructura actual de Internet para poder elaborar topologías realistas, [50]. La topología general se ve influenciada por el sistema de asignación de direcciones IP y la ubicación que los gobiernos realizan de los
puntos neutros de interconexión inter‐dominio. Internet puede verse como un
conjunto de dominios sistemas autónomos interconectados que en la práctica y para el ámbito de este proyecto se pueden considerar coincidentes con los dominios de red. Cada sistema autónomo es gestionado por una organización, por ejemplo un ISP, que se encarga de la administración técnica, establece políticas de encaminamiento y se asegura de que la información necesaria para el correcto flujo de datos e interconexión
de las máquinas sea convenientemente compartida y distribuida entre las entidades
implicadas en cada nivel de jerarquía en el sistema autónomo considerado.
Los dominios de Internet se pueden clasificar en dominios stub y dominios de tránsito. Por un dominio stub sólo circula el tráfico que empieza y termina en el propio
dominio. Los dominios de tránsito carecen de tal limitación, su función es
interconectar dominios stub de forma eficiente, ya que sin ellos, cada dominio stub tendría que estar conectado directamente a todos los demás con los que deseara intercambiar información. Un dominio de tránsito consiste en una serie de nodos y enlaces troncales que se conectan a uno o varios dominios stub a través de una puerta de enlace en éstos últimos. Algunos de los nodos del backbone están conectados a homólogos en otro dominio de tránsito. Los dominios de tránsito están organizados en una jerarquía, cada nivel contiene dominios que sirven de punto de interconexión para los dominios de tránsito de nivel inferior y para dominios del mismo nivel.
Teniendo en cuenta esta estructura existen diversas herramientas que
permiten generar topologías de acuerdo a ella. Una de las últimas herramientas
diseñada específicamente para su uso como apoyo al framework INET es ReaSE, [50]. Consta de varios componentes. Por un lado contiene un parche que se aplica al
realizar asignación de direcciones IP de forma jerárquica. Por otro una interfaz gráfica de usuario (GUI) para generar las topologías.
La GUI incluye una serie de parámetros para definir las topologías tanto a nivel de dominios de red (nivel inter‐dominio) como a nivel de nodos de encaminamiento (nivel intra‐dominio). En el nivel de dominios hay que especificar el número de éstos, el grado de interconexión y el porcentaje de dominios de tránsito. En el nivel de nodos de encaminamiento se indican el número total de routers, el porcentaje de éstos en el
backbone, su grado de interconexión y el número de hosts finales en cada subred a más bajo nivel. Las topologías generadas a nivel intra‐dominio constan de tres niveles de jerarquía: “Core”, con los routers del backbone; “Gateway”, con los routers pasarela para agregar subredes de primer nivel; y “Edge”, con los routers del borde de la red a los que se conectan directamente los host finales mediante enlaces punto a punto. En las figuras 5.2‐3 y 5.2‐4 se puede ver la estructura de la topología construida a nivel inter‐dominio e intra‐dominio.
Fig. 5.2‐3 Topología a nivel inter‐dominio
Fig. 5.2‐4 Topología a nivel intra‐dominio