Beruflich Dokumente
Kultur Dokumente
TESIS DOCTORAL
DIFUSIÓN MASIVA DE
INFORMACIÓN EN LOS
MODELOS DE GESTIÓN
DE REDES
APLICACIÓN A LOS SERVICIOS DE ALTA
DISPONIBILIDAD SOBRE INTERNET
Presentada por
DIEGO MARCOS JORQUERA
Dirigida por
DR. FRANCISCO MACIÁ PÉREZ
xi
xii Difusión Masiva de Información en los Modelos de Gestión
xiii
xiv Difusión Masiva de Información en los Modelos de Gestión
xv
xvi Difusión Masiva de Información en los Modelos de Gestión
INTRODUCCIÓN 1
CONCLUSIONES 224
xvii
Contenido
INTRODUCCIÓN 1
PROBLEMA, HIPÓTESIS Y PROPUESTA DE SOLUCIÓN 10
OBJETIVOS, METODOLOGÍA Y PLAN DE TRABAJO 12
xix
xx Difusión Masiva de Información en los Modelos de Gestión
Información 83
MODELO DE COMUNICACIÓN 84
Protocolo de Gestión 85
Protocolo de Gestión SNMP 86
MODELO FUNCIONAL 90
Gestión de Fallos 90
Gestión de la Configuración 91
Gestión de Cuentas 92
Gestión del Rendimiento 92
Gestión de la Seguridad 93
CONCLUSIONES 224
APORTACIONES 225
Publicaciones 226
PROBLEMAS ABIERTOS 227
LÍNEAS FUTURAS 228
xxiii
xxiv Difusión Masiva de Información en los Modelos de Gestión
xxix
xxx Difusión Masiva de Información en los Modelos de Gestión
Introducción
80
Porcentaje de viviendas
60
40
Cada vez son más los servicios electrónicos que se ofertan, tanto
en número como en variedad y las tecnologías e infraestructuras
1
2 Difusión Masiva de Información en los Modelos de Gestión
que hacen posible su uso han tenido que sufrir los efectos de este
escalado, adaptándose en la medida de lo posible a las nuevas
necesidades y volúmenes de trabajo.
En este sentido cada vez existe un mayor número de dispositivos
inteligentes, que incorporan capacidad de computación y
comunicación con un grado de heterogeneidad cada vez más
patente tanto en el tipo de dispositivos (PC‟s, portátiles, PDA‟s.
handhelds, teléfonos móviles, sistemas de entretenimiento para
hogar, sistemas domóticos, auto-radios, etc.) como en los
sistemas de comunicación que permiten su acceso a redes
corporativas o a Internet.
En la actualidad esta expansión de las tecnologías de la
información en todos los ámbitos (socio-cultural, científico,
tecnológico, etc.) ha derivado en una alta dependencia de los
usuarios y organizaciones hacia los sistemas informáticos que
utilizan. La informática e Internet han pasado de ser meras
herramientas de soporte para convertirse en el principal medio
con el que desarrollar nuestras actividades laborales y
personales. Prueba de ello es el incremento de las nuevas
tecnologías y el uso del comercio electrónico en las empresas
como se puede ver en la figura 2 (INE, 2009).
100
Porcentaje de empresas
80
60
Administración
Seguridad Control
NSM
Monitorización Coordinación
Sistemas de
Gestión
Sistemas
Protocolos Mantenimiento Replicación
Operativos
Copias de
Servicios
seguridad
Seguridad
Modelo de
Organización
Modelo
Modelo
Funcional de gestión Modelo de
información
OSI
Modelo de
Comunicación
MIB
NMS
Protocolo de
gestión (SNMP) Red de
comunicaciones
MIB MIB
Agente Agente
Dispositivo Dispositivo
Administrado Administrado
50000
40000
Internet
PB/mes
Non-Internet IP
30000
Mobile Data
20000 Total
10000
0
2008 2009 2010 2011 2012 2013
Año
Aplicación
de Gestión
Sistema de
Transferencia
Sistema de Gestión
Red de comunicaciones
Aplicación
de Gestión
Sistema de
Sistema de Gestión Transferencia
Red de comunicaciones
Antecedentes y
Estado del Arte
Gestión de Redes
La gestión de red trata sobre la planificación, la organización, la
supervisión y el control de los elementos que componen una red
de comunicaciones. Los objetivos principales de la gestión de red
consisten en garantizar la disponibilidad y mejorar el rendimiento
de los elementos del sistema, así como incrementar su
efectividad.
Debido al éxito que han tenido las redes de computadores en los
últimos tiempos en la actualidad son consideradas una parte
importante y estratégica de las empresas, industrias u otros tipos
de organizaciones.
Como consecuencia de las cada vez mayores dimensiones que
están adoptando, resulta aun más importante su control y
gestión con el fin de obtener la mejor calidad de servicio posible.
17
18 Difusión Masiva de Información en los Modelos de Gestión
Estándares
Uno de los principales problemas a los que se ha enfrentado la
gestión de redes es la alta heterogeneidad de los elementos que
componen las redes de computadores: dispositivos de networking,
nodos de red, servicios, aplicaciones, etc., cada uno a demás de
fabricantes distintos. Esto ha promovido la aparición de
estándares abiertos con el fin de compatibilizar protocolos e
información. De esta forma, durante la década de los noventa, se
han ido desarrollando diversas iniciativas con el objetivo de
ofrecer recomendaciones y estándares abiertos para tratar de dar
solución a estas nuevas problemáticas, como es el caso de los
protocolos de gestión SNMP o el CMIP (Nakamura et al., 1995).
Sin embargo hasta la aceptación de los actuales estándares
surgieron multitud de propuestas para sistemas de gestión de
redes promovidas por diversos fabricantes. Estas soluciones
propietarias aportaban arquitecturas de gestión que eran
adecuadas para los productos de dichos fabricantes pero con un
bajo grado de interoperabilidad con otros sistemas, lo cual, unido
a la creciente complejidad de las actuales redes de
comunicaciones, los convirtió en sistemas en desuso (Barba,
2006).
Algunos de estos sistemas fueron propuestos por las principales
empresas del sector como son el caso de Open Network
Management (ONA) de IBM, el módulo de gestión de Netware de
Novell, o Unified Network Management Architecture (UNMA) de
AT&T.
Como alternativa a estos sistemas propietarios los estándares
para la gestión de redes, fundamentalmente propuestas derivadas
del estándar OSI propuesto por ISO. Aportan una solución
mucho más interoperable en las actuales complejas y
heterogéneas redes de computadores.
CIM
Distributed Management Task Force (DMTF), una organización
conformada por las más importantes compañías de la industria
(AMD, Cisco, Dell, Fujitsu, HP, Hitachi, IBM, Intel, Microsoft,
Novell, Oracle, Sun Microsystems,…), propuso Common
Information Model (CIM), un esquema conceptual que permite
modelar los elementos que componen un sistema TI. Este modelo
representa los elementos como un conjunto de objetos y sus
relaciones y usa para su definición UML (Britton y deVos, 2005).
CIM, además, permite integrarse con la información de otros
modelos, como es el caso de SNMP.
El objetivo de CIM es ser la base de información para otras
tecnologías que se sustentan en él (Debusmann et al., 2003),
como es el caso de los estándares WBEM, SMASH o SMI-S.
20 Difusión Masiva de Información en los Modelos de Gestión
WS-Management
Web Services for Management o WS-Magement es un estándar abierto
que utiliza un protocolo basado en SOAP para la gestión de
sistemas TIC (DMTF, 2008). En la actualidad el estándar está
gestionado por el DTMF.
Además de realizar tareas de gestión como la lectura o escritura
de objetos de gestión como base para la administración de un
elemento, WS-Management permite la ejecución de métodos
específicos para la gestión, permitiendo realizar tareas más
sofisticadas que otras propuetas. Además el hecho de estar
basado en Web Services permite su integración con otros
sistemas y su composición con otros servicios (Lu et al., 2009)
DMF
Distributed Management Environment (DMF) es una propuesta de
Open Software Foundation (OSF) para la gestión de sistemas
distribuidos. El objetivo principal de DMF es la unificación de la
gestión de sistemas heterogéneos. Por ello los tres pilares básicos
de su propuesta son la consistencia (aportando un único interfaz
de alto nivel para la gestión), la interoperabilidad (integrando
diversos protocolos de gestión como SNMP o CIMP) y la
escalabilidad.
Tecnologías y Protocolos
WBEM
Web-Based Enterprise Management (WBEM) es un conjunto de
tecnologías estándares para la gestión en Internet desarrollado
para unificar la gestión de entornos distribuidos, facilitando el
intercambio de información a través de plataformas heterogéneas.
WBEM está fundamentado en CIM y utiliza como protocolos una
implementación de CIM en XML (CIM-XML) y WS-Management.
En la actualidad están surgiendo muchas propuestas para el uso
de WBEM en la gestión de sistemas (Park et al., 2006) (Sundaram
Capítulo 2. Estado del Arte 21
CMIP
Common Management Information Protocol (CMIP) es un protocolo
de gestión de red fundamentado en el modelo OSI. Este protocolo
ofrece un mecanismo de transporte que sustenta un conjunto de
servicios implementados con el esquema petición-respuesta.
El protocolo proporciona una comunicación entre las aplicaciones
de gestión y los agentes situados en los dispositivos a gestionar.
El MIB que utiliza CMIP está basado en objetos de gestión
complejos que se relacionan para describir los elementos que son
gestionados.
CIMP aporta un conjunto amplio de operaciones de gestión y así
como mecanismos de seguridad, autorización y control de acceso.
SNMP
Propuesto por el ITEF, Simple Network Management Protocol
(SNMP) es el protocolo de gestión de redes más extendido en la
actualidad y se ha convertido en el estándar más utilizado en
Internet.
Las primeras propuestas para la gestión de red en Internet
aparecieron en 1987 con una serie de protocolos como el SGMP
(Simple Gateway Monitoring Protocol), el HEMS (High-Level Entity
Management System) y el CMOT (versión de CMIP sobre TCP).
Estos protocolos de gestión se ocupaban básicamente de la
gestión de los dispositivos de internetworking como routers.
Posteriormente, en 1988, se produjeron una serie de revisiones
para actualizar el protocolo SGMP que dieron lugar a un
incipiente SNMP, con las iniciales propuestas de su SMI y MIB,
una base de información basada en un árbol de objetos. Este
árbol de objetos modelaba de forma sencilla los elementos e los
dispositivos a gestionar.
SNMP se fundamenta en la distribución de un conjunto de
agentes en los dispositivos a gestionar y unos elementos gestores
o NMS (Network Management Systems) que solicitan a los agentes
la realización de las tareas de gestión.
22 Difusión Masiva de Información en los Modelos de Gestión
SNMP v.3
Aspectos de
SNMP v.2 seguridad
Trasferencia
de bloques
de datos
SNMP v.1
Operaciones
básicas de
gestión
Transmisión de la información
La transmisión de información en redes de computadores ha sido
uno de los campos de estudio más activos en los últimos años,
principalmente tras el éxito y expansión de las redes e Internet.
La transmisión de información de forma optima y el
aprovechamiento de las tecnologías e infraestructuras de red a
sido uno de los objetivos planteados en muchas de las propuestas
de sistemas para la difusión de información. En ese sentido
tecnologías como multicast, sistemas P2P o los sistemas
colaborativos han sido utilizados para incorporar características
de escalabilidad en la transmisión o disponibilidad de la
información.
Difusión de información
La mayoría de los procesos y tecnologías de transferencia de
información entre equipos utilizando redes de computadores han
estado marcados por el uso de protocolos fundamentados,
principalmente, en técnicas unicast, donde la transferencia de la
información se realiza entre dos únicos nodos. En estos
protocolos los dos nodos pueden establecer comunicaciones ya
sea en un único sentido o bidireccionales pero, en cualquier caso,
cada nodo actúa puntualmente como nodo origen en caso de que
sea el que envía la información o como nodo destino en caso de
que la reciba (Tanenbaum, 1997).
Otros protocolos, principalmente destinados a procesos de
control de la red (Forouzan, 2002) (Halsall, 1998) (García, 1989),
utilizan técnicas de broadcast donde la información es enviada
por un único nodo origen, siendo su destino todos los nodos de la
red (normalmente en el ámbito de las redes locales). Estas
tecnologías aprovechan las características que algunos medios
tienen para la difusión de información, de manera que la
información es enviada una sola vez, pudiendo llegar en una
misma transacción a todos los componentes de la red y
reduciendo así el trafico de red.
24 Difusión Masiva de Información en los Modelos de Gestión
Multicast
Multicast es una tecnología que nos permite transferir la
información desde un emisor a un conjunto determinado de
destinatarios (ver Figura 11). El uso de técnicas multicast para la
transmisión de archivos a más de un cliente mejora
sustancialmente el rendimiento ya que el equipo origen emite la
información una única vez, evitando la repetición de la
información a transmitir. Estas técnicas son mucho más
escalables a la hora de distribuir la información ya que el envío
de los datos no es dependiente del número de destinatarios.
(Stallings, 2000)
Una utilización clara del uso del multicast, y precursora en cierta
manera de su desarrollo, es el streaming de audio o video. En este
tipo de aplicaciones un servidor emite de manera continua un
flujo de paquetes conteniendo la información multimedia que los
clientes deben presentar. Los clientes, según van recibiendo estos
paquetes, van reproduciendo la información en tiempo real en
Capítulo 2. Estado del Arte 25
R R R
E E E
R R R
R R R
Multicast sobre IP
En el caso del protocolo IP el soporte para multicast fue
implementado por primera vez en el año 1993 mediante una
ampliación de dicho protocolo.
El funcionamiento del multicast sobre IP está fundamentado en la
suscripción a grupos de difusión (Deering, 1986). Cada grupo de
difusión está asociado a una dirección IP que lo identifica. Para
ello se reservaron un conjunto de direcciones IP denominadas de
„clase D‟ destinadas a las comunicaciones en multicast. En
concreto, estas direcciones son aquéllas que empiezan con el
prefijo „1110‟, es decir, las comprendidas en el rango de 224.0.0.0
a 239.255.255.255 (ver tabla 2). De este conjunto, las
comprendidas entre la dirección 224.0.0.0 y la 224.0.0.255 están
reservadas para tareas administrativas y de mantenimiento
multicast.
Un equipo que desea recibir paquetes difundidos por otro equipo
se suscribe a una determinada dirección IP de multicast. A partir
de ese momento el protocolo de red se encargará no sólo de hacer
llegar a las aplicaciones del equipo los paquetes destinados a la
propia dirección IP del equipo, sino que también hará llegar los
Capítulo 2. Estado del Arte 27
A 0 0.0.0.0 127.255.255.255
B 10 128.0.0.0 191.255.255.255
Confiabilidad
En comunicación, la confiabilidad hace referencia a las
transferencias en las que la información debe llegar de manera
completa al destinatario para ser útil (Floyd et al, 1996). Cuando
por cualquier motivo la información no ha sido entregada
completamente, debe informarse del fallo a los componentes de la
comunicación (normalmente al emisor). Si en el proceso de
comunicación no se puede garantizar la entrega de la
información, se considera que es una transmisión no confiable. Si
nos fijamos en tabla 1 solamente la cuadrícula superior izquierda
corresponde a aplicaciones no confiables.
Capítulo 2. Estado del Arte 29
Emisor Receptor
Paquete 1
ACK 1
Paquete 2
(perdido)
Tiempo de
espera
aleatorio
Paquete 2
(reenvío)
ACK 2
Escalabilidad
Como hemos visto, la principal causa de la falta de escalabilidad
en la transmisión multicast confiable es el problema con la
información de vuelta, es decir, de los paquetes de control que
envían los receptores al emisor. Por muy poca que sea esta
información, si el número de receptores llega a ser muy alto, el
32 Difusión Masiva de Información en los Modelos de Gestión
Emisor Receptor
Paquete 1
Paquete 2
Paquete 3
Paquete 4
Paquete 5
Paquete 7
Paquete 8
NACK
Paquete 9
Control de flujo
Otro de los problemas que se plantea con el cambio de ACK‟s por
NACK‟s es la pérdida de la sincronización en la comunicación. Si
bien mediante el uso de las confirmaciones el emisor y el receptor
34 Difusión Masiva de Información en los Modelos de Gestión
Seguridad
La seguridad en la comunicación es un aspecto que se complica
aún más con el uso de las técnicas multicast. En una
comunicación unicast donde los paquetes tienen un origen y un
único destino, para que un tercer elemento pueda tener acceso a
la información, se requiere el uso de técnicas de espionaje como
pueden ser la suplantación de identidad (suplantación IP) o la
escucha promiscua del medio físico (sniffer). Sin embargo, con
multicast, esto mismo se puede realizar de manera mucho más
sencilla ya que bastaría con incorporarse al grupo de difusión
para tener acceso a los paquetes enviados por el emisor. Se trata
Capítulo 2. Estado del Arte 35
Tipos de distribuciones
Uno de los aspectos que más condicionan el modelo de
comunicación tiene que ver con el rol con el que actúa cada uno
de sus miembros. Algunas de las configuraciones que se pueden
dar son:
Un emisor y varios receptores. En estos casos el papel de
emisor y de receptor está totalmente definido. Hay un único
origen de datos que se centraliza en el emisor y los receptores
simplemente tienen capacidad de enviar paquetes de control.
Varios emisores y varios receptores. En este modelo son varios
los elementos capaces de emitir información. Normalmente existe
un emisor principal que manda inicialmente la información y un
conjunto de nodos con capacidad de re-emitirla para, por
ejemplo, realizar labores de corrección de errores.
Todos emiten y reciben. Se trata de redes de cooperación donde
todos los miembros son capaces de actuar como emisor y
receptor. La función de corrección de errores está distribuida al
conjunto total de los miembros. (Floyd et al, 1996)
36 Difusión Masiva de Información en los Modelos de Gestión
Corrección preventiva
Como hemos visto, el principal problema que se plantea en la
comunicación multicast es la falta de escalabilidad: cuanto mayor
es el número de receptores más alto es el volumen de paquetes de
control. Para conseguir que el modelo de transmisión sea
escalable, la solución más evidente que se puede plantear es la
reducción, idealmente la eliminación total, de los paquetes de
control. Para ello se utilizan técnicas de corrección preventiva
(Forward Error Correction – FEC).
La idea principal de estas técnicas es la siguiente. Supongamos
que el total de la información a trasmitir se fragmenta en n
paquetes de datos. En función de esos paquetes se generan r
paquetes de recuperación, conteniendo información redundante
de los paquetes de datos originales. El emisor manda tanto los
paquetes de datos como los paquetes redundantes. Si un
destinatario no recibe uno de los paquetes de datos enviados,
podrá regenerarlo a partir de uno o más paquetes de
recuperación, sin tener así que solicitar el reenvío del paquete
perdido.
Idealmente la codificación de los paquetes de recuperación se
realizaría de manera que, para regenerar un conjunto de
paquetes perdidos, se necesiten la misma cantidad de paquetes
correctores. Una de las codificaciones más utilizadas y que
cumple esta última característica es la de Reed-Solomon (Floyd et
al, 1996). Sin embargo estas codificaciones conllevan un alta
complejidad temporal para su cálculo (aumenta
exponencialmente con el número de paquetes), con lo que se
penaliza su uso en la mayoría de los casos. Para evitarlo, la
información se agrupa en bloques de paquetes de datos sobre los
que se computan localmente los paquetes de recuperación. Por lo
tanto los paquetes generados solamente sirven para recuperar
pérdidas dentro del bloque de paquetes de datos que se utilizó
para su generación. El tamaño de los bloques se decide en
función de los límites que se quieran establecer, dependiendo de
la capacidad de cómputo que se disponga.
En la actualidad también se están aplicando FEC‟s basados en la
primitiva XOR, donde los tiempos de cómputo de los paquetes de
38 Difusión Masiva de Información en los Modelos de Gestión
Uso de representantes
Otra de las técnicas utilizadas para la disminución del tráfico de
control y conseguir de esta manera una mayor escalabilidad es el
uso de nodos representantes (DeLucia y Obraczka, 1997). Un
representante es un componente de la comunicación,
normalmente uno de los destinatarios, que se encarga de
centralizar la información de vuelta de un conjunto de receptores,
agrupándola en un bloque de información compacto,
normalmente un único paquete, y reduciendo así la cantidad de
paquetes que recibiría el emisor.
Estas técnicas se aprovechan de la jerarquía establecida por la
topología de red, de manera que la información de vuelta se va
agrupando según se acerca al emisor; facilitando, de esta forma,
la escalabilidad.
Capítulo 2. Estado del Arte 39
E Emisor
R Receptor
R
R R R Router
R R
Trabajos relacionados
SRM
En (Floyd et al, 1996) se define Scalable Reliable Multicast
Framework (SRM) como un marco de trabajo en multicast
orientado a la distribución compartida de información dentro de
un grupo de participantes. En este marco todos los componentes
del grupo son a la vez emisores y receptores de información. Si
un miembro tiene información que distribuir, la emite en forma
de paquetes a la dirección de multicast. El resto de miembros del
grupo tienen la responsabilidad de realizar la corrección de
errores, detectando huecos en la secuencia recibida y solicitando
los paquetes perdidos. Los mensajes de control, como la solicitud
de paquetes perdidos, también se envían a todo el grupo usando
la misma dirección de multicast.
Cuando se pierde un paquete, para evitar la saturación de la red
con la información de control, se toma la siguiente medida: antes
de enviar una solicitud de paquete perdido se espera un tiempo
aleatorio, de manera que se reduzca la probabilidad de que varios
miembros soliciten simultáneamente un mismo paquete. Si
durante este tiempo de espera se recibe la solicitud de ese mismo
paquete por parte de otro miembro, se anula el envío de la
solicitud para evitar la repetición de solicitudes.
Por otra parte, cuando un miembro recibe una solicitud de
paquete y dispone de una copia de dicho paquete, se espera un
tiempo determinado y se reenvía el paquete solicitado de nuevo a
la dirección multicast. El tiempo de espera es aleatorio y
dependiente de la distancia al equipo emisor de la solicitud.
Para calcular las distancias entre los diferentes miembros del
grupo se utilizan mensajes de sesión. Estos mensajes son
Capítulo 2. Estado del Arte 41
MTFP
Multicast File Transfer Protocol (MFTP) (Miller et al, 1997) es un
protocolo de transporte multicast que centra su objetivos en
conseguir una comunicación altamente escalable y con un
soporte universal para todo tipo de redes, incluyendo las
altamente asimétricas.
El protocolo está basado en el envío de un paquete NACK por
bloque de información. Para ello, el total de la información a
emitir se fragmenta en un conjunto de bloques de un tamaño
determinado; cada bloque, a su vez, se divide en una serie de
42 Difusión Masiva de Información en los Modelos de Gestión
BMTP
El Bulk Multicast Transport Protocol (BMTP) (Morris, 1997) aporta
un solución basada en IP multicast para una comunicación
multicast confiable con control del ratio y soporte para un gran
número de receptores.
Este protocolo se fundamenta en el uso de paquetes de estado
que envían los receptores al emisor, con lo que se realiza tanto el
control del ratio, como la corrección de errores. En cada paquete
de estado el destinatario informa del ratio de recepción de
manera que el emisor pueda ajustar su propio ratio de envío. El
paquete también hace las veces de NACK informando de los
paquetes perdidos.
En cada paquete de datos el emisor incluye un número N que
comienza siendo una estimación del número de destinatarios.
Cuando un destinatario recibe un paquete de datos responde con
un paquete de estado con una probabilidad de 1/N. El emisor, en
función del número de paquetes de estado que va recibiendo,
reajusta el valor de N para incrementar o disminuir la cantidad
de información de vuelta que tiene que recibir, de manera que la
cantidad de paquetes emitidos y la cantidad recibida sea del
mismo orden. De esta forma el emisor no se satura con los
44 Difusión Masiva de Información en los Modelos de Gestión
Fuente Digital
En (Byers y Luby, 1998) se describe el concepto de fuente digital,
un protocolo totalmente escalable para la distribución de
información masiva a múltiples destinatarios. En el emisor la
información se fragmenta en un conjunto de paquetes que son
codificados un un FEC orientado a XOR denominado Tornado
Codes (Luby et al, 1997). Con esta codificación todos los paquetes
emitidos son paquetes de recuperación, de manera que en la
secuencia de emisión no se repite en ningún momento ningún
paquete. Cada destinatario va recibiendo los paquetes codificados
hasta que tiene un conjunto suficiente como para recomponer el
total del archivo original. Al no tener que solicitar ningún paquete
perdido, la escalabilidad de la solución es total.
El principal problema de este modelo radica en que los
destinatario tienen que tener un buffer de almacenamiento
intermedio lo suficientemente grande como para guardar los
paquetes recibidos, ya que hasta que no se disponen de todos
ellos no es posible regenerar completamente el archivo original.
NORM
El protocolo NACK Oriented Reliable Multicast (NORM) es
posiblemente una de las principales propuestas de un protocolo
de transporte basado en multicast (Adamson et al., 2009).
Ha sido propuesto por Reliable Multicast Transport (RMT) un
grupo de trabajo del IETF.
Este protocolo puede proporciona una capa de transporte
confiable de datos masivos utilizando IP multicast como base.
NORM utiliza un mecanismo basado en NACK para garantizar la
confiabilidad y la sincronización entre emisores y receptores. El
protocolo utiliza mecanismos de FEC para optimizar el proceso de
trasnferencia.
Capítulo 2. Estado del Arte 45
Sistemas Colaborativos
Computación Grid
La computación grid o grid computing hace referencia a las
tecnologías que permite utilizar de forma coordinada todo tipo de
recursos (cómputo, almacenamiento y aplicaciones) que no están
sujetos a un control centralizado.
La computación grid es un tipo de computación distribuida, en la
cual y al contrario que en los clusters los recursos pueden ser
heterogéneos y se encuentran conectados mediante redes de área
extensa (por ejemplo Internet).
El uso de grids para la transferencia de datos también ha sido
caso de estudio y de diversas propuestas (Zhao et al., 2009) (Wu
et al., 2006) (Radic et al., 2007).
Las principales aportaciones de los sistemas grid para la
transferencia de información son la escalabilidad y tolerancia a
fallos, dada la distribución de las tareas asociadas a la
comunicación.
Streaming de archivos
El streaming es una tecnología de distribución de información
normalmente asociada a contenidos multimedia, principalmente
audio y video. El streaming se fundamente en un flujo de
información vista como una corriente continua que va desde
proveedor de la información hasta los consumidores de la misma.
El streaming en oposición a la descarga tradicional permite que el
destinatario de la información pueda ir procesando la
información según se va recibiendo, sin necesidad de tener que
tener el archivo completo.
Si bien estas características hacen que el proceso de
comunicación del streaming esté muy condicionado también lo
hace atractivo en otras ocasiones porque requiere de pocos
recursos de memoria para la comunicación, ya que la
información se procesa según se recibe. Esto lo hace muy
propicio en entornos con poca disponibilidad de recursos.
En la actualidad han surgidos enfoques mixtos entre streaming y
P2P donde se utilizan las técnicas colaborativas del P2P para
generar un flujo de información global a todos los miembros de la
red. El uso más extendido de estos sistemas es el P2PTV que
permite la difusión de video mediante streaming colaborativo.
Conclusiones
Como se ha visto el uso de estándares en la gestión de redes
aporta grandes beneficios en la definición sistemática de
Capítulo 2. Estado del Arte 47
Media streaming
Media streaming
(HTTP, FTP,…)
Colaborativa +
Protocolos de
Difusión por
tranferencia
(multicast)
Streaming
Característica
multicast
UDP
TCP
P2P
IP
Multiplexación por aplicación
Detección errores
Control de flujo
Ordenación de paquetes
Mecanismos de conexión
Mecanismos de validación
Destinatarios 1 1 1 1 n n n n n
Escalabilidad
Memoria intermedia
Tiempos acotados
Consumo de CPU
No soportado
Soportado
Nivel bajo
Nivel medio
Nivel alto
Capítulo 3
49
50 Difusión Masiva de Información en los Modelos de Gestión
Modelo de
Organización
Modelo de
Modelo Modelo de
Gestión de
Funcional Información
Redes
Modelo de
Comunicación
Modelo de Organización
En un entorno distribuido como las redes de computadores los
procesos de gestión también se distribuyen entre los elementos
del entorno.
Siguiendo el estándar OSI de gestión de redes se pueden
diferenciar los siguientes elementos: un Entorno de Gestión (OSI
Enviroment – OSIE), compuesto por el conjunto de dispositivos
que conforman el sistema y la red de comunicaciones que los
interconecta, un conjunto de Entidades (System Management
Application-Entity – SMAE), responsables de la gestión del
sistema, y un conjunto de protocolos de red (Network Protocols –
NP)
[2]
En la figura 18 se muestra un diagrama de agregación reflejando
la composición del modelo de organización.
Capítulo 3. Modelo de Gestión 53
Entorno de Gestión
El entorno de gestión refleja la parte más física y tangible del
modelo de organización. Principalmente está compuesto por el
conjunto heterogéneo de Dispositivos a Gestionar (Management
Devices – MD) que aglutina los distintos elementos que
conforman una red de computadores: servidores, computadoras
personales, dispositivos móviles, routers o cualquier otro
dispositivo con capacidad de comunicación. En nuestro sistema
estos dispositivos son el objetivo final de las tareas de gestión.
[3]
En el sistema también se distinguen otros dispositivos que no
están sujetos a ningún tipo de mantenimiento, o que al menos no
están contemplados como objeto de gestión en nuestro sistema.
Sin embargo estos dispositivos también forman parte del entorno
de gestión, bien porque dan soporte a algún elemento del mismo
bien porque facilitan alguna de las tareas del sistema de gestión
como es el caso de routers, firewalls o cualquier otro dispositivo
de networking. A estos dispositivos los denominaremos
Dispositivo de Soporte (Support Device – SD).
[4]
Al conjunto total de dispositivos que conforman el entorno de
gestión lo denominaremos Dispositivos de Red (Network Devices
– ND).
[5]
La figura 19 representa el diagrama de clases donde se refleja la
relación de herencia entre los distintos tipos de dispositivos.
54 Difusión Masiva de Información en los Modelos de Gestión
Entidades
Para llevar a cabo la administración del sistema existirá un
conjunto de Entidades que trabajarán en conjunción para
realizar las tareas de administración. Las Entidades conforman
un sistema distribuido que es la base fundamental del modelo de
gestión. A continuación se describen los diferentes tipos de
entidades que se distinguen en nuestro modelo.
Cada uno de los dispositivos a gestionar tendrá asociado un
agente específico para su gestión que llamaremos Entidad de
Gestión (Management Entity – ME). Las Entidades de Gestión son
las responsables finales de llevar a cabo las tareas de
mantenimiento dentro de cada uno de los dispositivos que
gestionan, así como de recabar la información necesaria del
dispositivo y, en caso de ser necesario, lanzar alertas cuando se
identifica un problema.
[11]
[12]
56 Difusión Masiva de Información en los Modelos de Gestión
Protocolos
La comunicación entre las distintas entidades del sistema se
realizará mediante el uso de diversos Protocolos de Red
(Network Protocols – NP). Una vez vistos los diferentes tipos de
entidades del sistema y la relación entre ellos en el modelo se
distinguirán tres tipos distintos de protocolos: Protocolos de
Gestión de Redes (Network Management Protocols – NMP),
62 Difusión Masiva de Información en los Modelos de Gestión
Entidad Entidad
Protocolo Descripción
activa pasiva
Modelo de
Organización
(OM)
Entidades de
Entorno de Protocolos de
Administración
Administración Red (NP)
(SMAE)
Red de Protocolos de
Dispositivos de Entidad de
comunicaciones Información (I) Gestión de Red
Red (ND) Gestión (ME)
(N) (NMP)
Protocolos de
Dispositivos de Entidad de
descubrimiento
Soporte (SD) Información (IE)
(DP)
Entidad de
Registro (RE)
Modelo de Información
Dado que el propio sistema de gestión de redes es en sí un
sistema distribuido la información que gestiona también se
distribuye entre los distintos elementos que conforman el
sistema.
Para ello cada una de las entidades que conforman el sistema
tendrá asociada una Base de Información de Gestión
(Management Information Base – MIB). En los MIB se representa
la información referente a la gestión que cada uno de las
entidades necesita.
64 Difusión Masiva de Información en los Modelos de Gestión
Objetos de Gestión
Dentro de cada Dispositivo a Gestionar se pueden distinguir
diferentes Objetos de Gestión (Management Objetct – MO). Cada
uno de estos objetos representa un elemento de la realidad.
Además de los propios dispositivos de red que el agente está
gestionando el MIB estaría compuesto por todo tipo de objetos
como:
Aplicaciones
Servicios
Usuarios
Equipos
NIC‟s
Unidades de almacenamiento
Sistemas de archivo
Datos
Dominios
De esta manera se podría realizar una gestión integral de la red
contemplando cualquier elemento. Es importante destacar que en
nuestra propuesta los datos en sí (archivos, flujos de
información, configuraciones, etc.) también van a ser
contemplados como objetos a gestionar. Esto, a diferencia de los
modelos de gestión tradicionales, nos permitirá incluir la propia
Capítulo 3. Modelo de Gestión 65
root
org(3)
dod(6)
internet(1)
mib-2(1)
system(1) interfaces(2) at(3) ip(4) icmp(5) tcp(6) udp(7) egp(8) tranmission(10) snmp(11)
Tipos de elementos
En el MIB cada objeto es de un tipo determinado. El tipo indica la
sintaxis que se aplica a dicho objeto. Los tipos de datos que
incluirá nuestro modelo son los soportados por SNMP y que se
describen en la tabla 5. Estos tipos son un subconjunto de los
definidos en el estándar ASN.1 (Rose & McCloghrie, 1990).
Los objetos definidos en el MIB pueden ser de lectura, si
solamente pueden ser consultados o de lectura/escritura si estos
pueden ser además modificados. Además cada atributo puede ser
opcional u obligatorio en función de si siempre es requerido o no.
Según lo que hemos visto en el Modelo de Organización se han
analizado un conjunto de nuevas características y
funcionalidades que se han incorporado a nuestro Modelo de
Gestión para que el sistema pueda incorporar la gestión y
transferencia de la información. Para poder reflejar esto dentro
del modelo de información de SNMP a continuación se van a
definir un conjunto de extensiones en forma de MIBs donde se
refleje la información asociada al registro y a los paquetes de
información.
Tipo Descripción
Descubrimiento
Para gestionar el descubrimiento se propone la creación de un
MIB específico que denominaremos MIB-Registry. Este MIB que
será expuesto por las Entidades de Descubrimiento, tiene como
objetivo representar los datos necesarios para realizar la
publicación y descubrimiento de entidades e información.
Objetos de Descubrimiento
Formalmente y de forma independiente del sistema de gestión
seleccionado para el modelo, definimos el MIB de descubrimiento
como un conjunto de objetos que nos van a permitir gestionar el
registro de entidades e información.
En la figura 31 observamos la definición en UML de la clase
Entity. En ella se recogen los campos y operaciones que
componen cada una de estas entidades.
70 Difusión Masiva de Información en los Modelos de Gestión
Entity
eid
type
name
description
ip
port
timeout
renew()
update()
topicSubscribe()
topicUnsuscribe()
Information
iid
size
description[]
url[]
priority
InformationSet
informationList
publish()
delete()
search()
MIB-Registry
Dado que vamos a instanciar nuestro modelo utilizando el MIB de
SNMP hemos realizado un proceso de adaptación de los objetos
de registro para conformar el MIB-Registry. El proceso puede
verse ilustrado en la figura 37.
experimental
registry
registry
entity(1)
publish(0) inquiry(1)
topic(7) topic(6)
Campos
description
Valor
timeout
Acción Descripción
name
topic
type
eid
None 0 Sin acción. ▬ ▬ ▬ ▬ ▬ ▬
Valor Descripción
2 Error general
3 No existe la entidad
4 Error en un campo
Dado que para hacer una acción será necesario realizar varias
operaciones, y para evitar que acciones paralelas interfieran entre
si, por ejemplo dos altas simultáneas, la Entidad de Registro
gestionará cada una de las acciones en un contexto distinto, de
forma que se puedan realizar acciones en paralelo sin interferirse.
Posteriormente, una vez registradas las entidades, cualquier
entidad podrá consultar que entidades están presentes en el
sistema. Para ello en la rama inquiry contiene un objeto entities
que es una vector de entidades con los datos de sólo lectura
descritos en la tabla 6. El número de entidades que hay en el
vector está disponible en el objeto entitiesNumber.
Para facilitar las labores de búsqueda en la rama entity también
existe un objeto filter que me permite filtrar los datos de
entidades a consultar. Cuando se establece algún valor en un
objeto de filter el vector de entidades así como el entitiesNumber
se actualiza en función del resultado del filtro. Si establezco más
de un criterio de filtrado se combinan para obtener las entidades
que cumplen todos los criterios.
De forma similar a las entidades podemos registrar y localizar los
paquetes de información accesibles en nuestro sistema. Para ello
en la rama discovery también tenemos una rama information con
una funcionalidad similar a la de entity y que se muestra en la
figura 40.
Capítulo 3. Modelo de Gestión 81
registry
information(2)
publish(0) inquiry(1)
topic(6)
Campos
description
Valor
priority
Acción Descripción
topic
size
url
iid
None 0 Sin acción. ▬ ▬ ▬ ▬ ▬ ▬
Información
Hemos visto como nuestro modelo refleja en el MIB-Registry la
información necesaria para publicar y descubrir Paquetes de
Información así como Entidades. Dado que el registro es una
pieza opcional de nuestro sistema, también es necesario proponer
algún mecanismo que permita a una entidad exponer a otra
entidad que Paquetes de Información gestiona, sin necesidad de
usar un registro. Para ello toda entidad que gestione información
extenderá su MIB con un subárbol específico para tal efecto que
denominaremos MIB-Information.
MIB-Information
La extensión del MIB para la información reflejará los objetos
necesarios para que se pueda consultar los Paquetes de
Información que una entidad gestiona. El proceso de creación de
este MIB, al igual que el del MIB-Registry, partirá de los objetos,
en este caso los relacionados con la información, y siguiendo el
estándar SNMP se confeccionara el MIB-Information (ver figura
41).
«objetivo» «abstracto»
Obtener un MIB
para la información MODELO SNMP
«control»
information(2)
iid(0) iid(0)
size(2) description(1)
priority(3) protocol(2)
description(4) eid(3)
url(5) topic(4)
Modelo de Comunicación
En el modelo de comunicaciones definen los procesos y
protocolos de comunicación utilizados por las entidades del
sistema.
Como se indicó en el Modelo de Organización existen tres tipos de
protocolos: el de gestión, el de descubrimiento y los de
transporte. En nuestro caso y dado que hemos reflejado el
descubrimiento dentro del propio MIB de SNMP, tanto el
protocolo de gestión como el protocolo de descubrimiento
coincidirán en SNMP. En cuanto a los protocolos de transporte
estos serán tratados en profundidad en los capítulos 4 y 5.
Capítulo 3. Modelo de Gestión 85
Protocolo de Gestión
Conceptualmente la comunicación entre las distintas entidades
se realiza mediante el paso de mensajes, actividad que es
realizada a través de la red de comunicaciones.
Formalizaremos el paso de mensajes mediante dos funciones:
una para enviar mensajes a la red, sndMsg, y otra para recibir
mensajes desde la red. Cuando una entidad, conocida como
emisor o srcEntity, envía un mensaje establece cual es la entidad
destinataria del mismo, conocida como destinatario o dstEntity.
ds Message Transfer
sndMsg(msg)
transmit
rcvMsg
sndMsg(response)
transmit
rcvMsg
[1..n]
srcEntity network dstEntity
loop
sndMsg(msg)
[1..n]
alt transmit
transmit
rcvMsg
sndMsg(response)
transmit
alt
transmit
rcvMsg
Cabecera SNMP
El protocolo SNMP en su versión 3 define una cabecera común
para todos mensajes que se envían. Esta cabecera precede a la
Capítulo 3. Modelo de Gestión 87
data
Mensajes
El protocolo de gestión utiliza un conjunto de mensajes que
permiten la realización de las tareas de gestión y que se codifican
en la PDU de los paquetes.
Los mensajes utilizado por SNMP están resumidos en la tabla 12
(Presuhn et al., 2002).
Mediante los mensajes el sistema puede llevar a cabo las
distintas operaciones que se definen para el protocolo de gestión
Operaciones
Mediante los mensajes las entidades del sistema de gestión
puede realizar operaciones entre ellas.
Capítulo 3. Modelo de Gestión 89
Mensaje Descripción
GetRequest Solicita leer un valor del MIB de la entidad
destino.
GetNextRequest Solicita el siguiente valor del MIB. Permite realizar
una consulta de recorrido en el árbol.
GetBulkRequest Solicita un conjunto de valores del MIB.
SetRequest Solicita modificar valor del MIB de la entidad
destino
Response Respuesta de una petición.
Trap Envía un aviso a una entidad que no requiere
respuesta.
InformRequest Envía un aviso a una entidad que requiere
respuesta.
Las operaciones pueden ser de dos tipos: comandos que son
operaciones que tienen respuesta o notificaciones, que no tienen
respuesta. El tipo de cada operación está en función de la
naturaleza de la misma.
En la tabla 13 se describen las operaciones que se pueden
realizar indicando cuál es el mensajes de solicitud y cuál el de
respuesta.
TRAP Trap
Modelo funcional
El modelo funcional describe las cinco áreas en las que
tradicionalmente se ha dividido la gestión de red: gestión de
fallos, gestión de la configuración, gestión de prestaciones,
gestión de contabilidad y gestión de seguridad (figura 47). A este
modelo se le conoce normalmente por el acrónimo de FCAPS
(Fault, Configuration, Accounting, Performance, Security).
Gestión de
Fallos
Gestión de la Gestión de la
seguridad configuración
Modelo
Funcional
Gestión de Fallos
El objetivo de la gestión de fallos es la detección, aislamiento,
corrección y registro de operaciones anormales que ocurren en el
sistema.
Determinar el máximo de información posible sobre los fallos es
un elemento fundamental para su buena gestión. Por ello el
sistema de gestión de fallos está muy asociado con la
monitorización de los elementos del sistema, para detectar un
cambio en el estado de alguno de ellos.
Otro aspecto importante a contemplar es el análisis de tendencias
para poder predecir errores e intentar garantizar que la red
siempre está disponible.
Capítulo 3. Modelo de Gestión 91
Recepción
Correlación Localización Corrección Validación
Notificaciones
Gestión de la Configuración
La gestión de configuración es un conjunto de facilidades que
permiten controlar, identificar, recoger y proporcionar datos de
configuración a elementos gestionados. Entre las tareas
relacionadas se puede destacar la definición de información de
configuración en los recursos, la modificación de las propiedades
de los recursos, la definición y modificación de relaciones entre
los recursos, la inicialización y terminación de servicios de red o
bien la distribución de software.
Todos los cambios de hardware y de software son coordinados a
través de este proceso incluido la instalación de nuevas
aplicaciones o equipamiento, la modificación de sistemas
existentes y la eliminación de sistemas y programas obsoletos.
92 Difusión Masiva de Información en los Modelos de Gestión
Gestión de Cuentas
La gestión de cuentas o tarificación son un conjunto de
procedimientos que permiten medir y gestionar el uso de
determinados elementos e identificar costes por el uso de éstos
El objetivo es reunir estadísticas sobre usuarios y otros
elementos del sistema y su relación que el consumo de recursos
que realizan: utilización de disco, consumo de memoria, tiempo
de CPU, conexiones, etc.
En esta área se engloban también las operaciones de gestión de
usuarios (usuarios, contraseñas y permisos) operaciones sobre
equipos y servicios como realizar copias de seguridad y la
sincronización y también labores de inventario.
Gestión de la Seguridad
La gestión de seguridad está relacionada con todos los elementos
asociados a la seguridad en los recursos de la red: generación,
distribución y almacenamiento de claves de cifrado, información
de usuarios y contraseñas, control de acceso y autorización. La
gestión de seguridad no hace referencia a la propia seguridad del
sistema de gestión, si no a la seguridad de los sistemas que
gestiona.
En este área se proporcionan facilidades para incorporar
mecanismos de seguridad contra los ataques a las
comunicaciones, como protección contra interrupción del
servicio, captura no autorizada de información, modificación de
información o suplantación de entidad.
Capítulo 4
95
96 Difusión Masiva de Información en los Modelos de Gestión
Área de Gestión
Motor SNMP
El Motor SNMP es el núcleo principal para la gestión de los
mensajes del protocolo de gestión.
El motor está compuesto por cinco módulos fundamentales de la
arquitectura de gestión propuesta y que pueden verse en la figura
53.
Subsistema de Transporte: responsable de enviar y
recibir los mensajes.
Distribuidor: encargado de gestionar la entrada y salida
de mensajes.
Subsistema de Procesado de Mensajes: para el
procesado de los mensajes.
100 Difusión Masiva de Información en los Modelos de Gestión
Subsistema Subsistema
Distribuidor de Procesado de Seguridad
de Mensajes
Control de
Módulo Acceso
Módulo
Subsistema Procesado
odule
Security
Security
Seguridad
de Mensajes Module
Module
Transporte
Subsistema de Transporte
Los mensajes SNMP que utilizaremos podrán ser enviados
utilizando diversos protocolos de transporte como UDP o TCP,
incluso protocolos seguros con cifrado de datos como SSH o TSL.
El Subsistema de Transporte es el encargado de gestionar esta
tarea, encapsulando los mensajes SNMP en el protocolo que las
aplicaciones de gestión decidan (ver figura 54). El subsistema
incluirá los diferentes módulos necesarios para el trabajo con los
distintos protocolos de transporte utilizados.
Distribuidor
El Distribuidor actúa como punto central del sistema coordinando
el flujo de mensajes en el motor de gestión. El Distribuidor es el
punto de entrada al Motor SNMP para los Servicios SNMP. Las
actividades que lleva a cabo el distribuidor son:
Enviar mensajes de gestión hacia la red (a través del
Subsistema de Transporte) con otra entidad del sistema
como destinatario. Para ello proporciona una interfaz
abstracta a las aplicaciones de gestión.
Recibir mensajes de gestión desde la red (a través del
Subsistema de Transporte) de comunicaciones
provenientes de otra entidad del sistema. Para ello
proporciona una interfaz abstracta a las aplicaciones de
gestión para obtener mensajes.
Determinar la versión del protocolo indicada en el mensaje
e interactuar con el correspondiente Módulo de Procesado
de Mensajes para esa versión.
Método Descripción
Motor SNMP
Subsistema Subsistema
Distribuidor de Procesado de Seguridad
de Mensajes
Control de
Módulo Acceso
Módulo
Subsistema Procesado
odule
Security
Security
Seguridad
de Mensajes Module
Module
Transporte
Método Descripción
Subsistema de Seguridad
En el Subsistema de Seguridad se encuentran los diferentes
servicios asociados con la autenticación y privacidad en el envió
de mensajes (Figura 58).
Capítulo 4. Arquitectura del Sistema 105
Motor SNMP
Subsistema Subsistema
Distribuidor de Procesado de Seguridad
de Mensajes
Control de
Módulo Acceso
Módulo
Subsistema Procesado
odule
Security
Security
Seguridad
de Mensajes Module
Module
Transporte
Método Descripción
El API de este bloque (Tabla 17) está compuesto por dos métodos
uno que aplica la seguridad cifrando los datos (aplicarSeguridad)
y otra de descifra en función del tipo de seguridad
(resolverSeguridad).
106 Difusión Masiva de Información en los Modelos de Gestión
Motor SNMP
Subsistema Subsistema
Distribuidor de Procesado de Seguridad
de Mensajes Subsistema
Módulo de Control
Módulo de Acceso
Subsistema Procesado
odule
Security
Security
Seguridad
de Mensajes Module
Module
Transporte
Método Descripción
Servicios SNMP
Los Servicios SNMP son módulos que interrelacionan los agentes
con el Motor SNMP (figura 60). Los cinco servicios que utiliza el
protocolo de gestión son:
Generador de Comandos
Respondedor de Comandos
Generador de Notificaciones
Capítulo 4. Arquitectura del Sistema 107
Receptor de Notificaciones
Proxy
A continuación se describen en profundidad cada uno de ellos.
Agentes
Servicios SNMP
Generador de Respondedor Generador de Receptor de
Proxy
comandos de comandos Notificaciones Notificaciones
Motor SNMP
Subsistema Subsistema
Distribuidor de Procesado de Seguridad
de Mensajes Subsistema
Módulo de Control
Módulo de Acceso
Subsistema Procesado
odule
Security
Security
Seguridad
de Mensajes Module
Module
Transporte
Agentes
Servicios SNMP
Generador de Respondedor Generador de Receptor de
Proxy
comandos de comandos Notificaciones Notificaciones
Motor SNMP
Subsistema Subsistema
Distribuidor de Procesado de Seguridad
de Mensajes Subsistema
Módulo de Control
Módulo de Acceso
Subsistema Procesado
odule
Security
Security
Seguridad
de Mensajes Module
Module
Transporte
Protocolo Protocolo
Transferencia Transferencia
Protocolo de Protocolo de
Red Red
Proxy
Dado que en SNMP soporta el uso de agentes de gestión como
proxy para la retransmisión de tramas SNMP en los servicios
también se incluye uno que realiza estas labores.
Servicios SNMP
Generador de Respondedor Generador de Receptor de
Proxy
comandos de comandos Notificaciones Notificaciones
Motor SNMP
Subsistema Subsistema
Distribuidor de Procesado de Seguridad
de Mensajes Subsistema
Módulo de Control
Módulo de Acceso
Subsistema Procesado
odule
Security
Security
Seguridad
de Mensajes Module
Module
Transporte
Área de Transferencia
Motor de Transferencia
El Motor de Transferencia permite a la entidad de gestión realizar
la transferencia de información desde o hacia otra entidad. El
Motor de Transferencia soporta diversos protocolos de
transferencia mediante los cuales se materializa el transporte de
la información. Los diferentes protocolos soportados se clasifican
en las siguientes áreas:
Clientes: Implementaciones de clientes de protocolos
específicos.
Servidores: Implementaciones de servidores de protocolos
específicos.
P2P: Implementaciones de sistemas basados en
protocolos de tipo P2P.
Las implementaciones de tipo Servidores y P2P utilizan el
Subsistema de Almacenamiento para obtener y/o almacenar la
información a gestionar.
Motor Transferencia
Subsistema de Almacenamiento
Agentes
Motor Transferencia
Subsistema de Almacenamiento
Red de
comunicaciones
Agentes
Motor Transferencia
Subsistema de Almacenamiento
Red de
comunicaciones
Motor Transferencia
Subsistema de Almacenamiento
Red de
comunicaciones
Agentes
Los agentes (figura 73) son las aplicaciones que se ejecutan sobre
el middleware y que caracterizan a cada una de las entidades del
sistema de gestión.
Agentes
Fallos Gestión Configuración Gestión Cuentas Gestión Rendimiento Gestión Seguridad
Ag. Supervisor Ag. Regeneración Ag. Inventario Ag. Monitorización Ag. Seguridad
Agentes Utilería
Ag. Inicio Ag. Configuración Ag. Transferencia Ag. Difusión Ag. Registro Ag. Publicación Ag. Descubrimiento
Agentes de Utilería
Los Agentes de Utilería que se incluyen en las entidades de
gestión son:
Agente de Inicio
Agente de Configuración
Capítulo 4. Arquitectura del Sistema 119
Agente de Transferencia
Agente de Difusión
Agente de Registro
Agente de Publicación
Agente de Descubrimiento
Estos agentes son la base de la entidad de gestión y podrán estar
presente en todas las entidades, si bien algunos de ellos son
opcionales.
A continuación vamos a ver en detalle cada uno de estos agentes.
Agente de Inicio
El Agente de Inicio es el responsable de inicializar la entidad. El
agente interactúa primeramente con el Agente de Configuración,
para configurar la entidad, y con el Agente de Publicación, para
registrar el propio agente y su información en el sistema.
Este agente actúa como punto de entrada inicial de la entidad y
coordina las labores asociadas con la puesta en marcha del
servicio de gestión.
Agente de Configuración
El Agente de Configuración es el responsable de establecer la
configuración inicial de la entidad. Este agente es el que decide, a
partir de algún registro de configuración (posiblemente un
archivo) datos como: puertos de comunicación, tipo de entidad,
localización del registro de publicación, versión de SNMP a
utilizar, tipo de protocolo de transporte, parámetros de seguridad,
y cualquier otro valor de configuración.
Agente de Difusión
El Agente de Difusión es el responsable de registrar y habilitar el
acceso a los paquetes de información que dispone la entidad.
Para ello se comunica con los servidores implementados (tanto
módulos de servicio estándar como de P2P) para que estos estén
disponibles para otras entidades.
120 Difusión Masiva de Información en los Modelos de Gestión
Agente de Publicación
El Agente de Publicación permite a las entidades registrarse a sí
mismas en una entidad de registro, así como la información que
puede suministrar. Para ello se pone en contacto con el Agente de
Registro de una Entidad de Registro.
El Agente de Publicación es un agente activo que utiliza el
Generador de Comandos para enviar comandos a la entidad de
registro. Ofrece un API de publicación a otros agentes de la
entidad que consta de los siguientes métodos recogidos en la
tabla 24.
Agente de Descubrimiento
Si el Agente de Publicación permite registrar datos en el Agente de
Registro, el Agente de Descubrimiento permite tener acceso a
dichos registros. Se trata también de un agente activo que aporta
un API para el descubrimiento de entidades e información y que
resumimos en la tabla 25.
Agente de Registro
El Agente de Registro reside exclusivamente en las entidades de
registro. Se trata de un agente pasivo que se encarga de recibir
las peticiones de los Agentes de Publicación y los Agentes de
Descubrimiento de otras entidades y servirlas adecuadamente.
El Agente de Registro gestiona el subárbol de registro del MIB,
donde expone los datos del registro tanto de los nodos como de la
información que estos gestionan.
Internamente el Agente de Registro almacena la información en
una serie de tablas relacionadas que conforman una base de
datos relacional. En la figura 74 podemos ver un diagrama de
relación de dicha base de datos.
Agente de Transferencia
El Agente de Transferencia es el responsable de obtener un
paquete de información. Su interfaz básica permite, a partir de
un IID, localizar donde se encuentra la información y transferirla
hasta la entidad para su uso. El agente tiene dos formas básicas
de funcionamiento. En la primera según va transfiriendo la
información la va almacenando mediante el Subsistema de
Almacenamiento. En una segunda forma de funcionamiento el
agente solicita la información y la transfiere como un flujo de
información a otro agente. Esta segunda forma no requiere el uso
de un sistema de almacenaje masivo ya que la información puede
ir procesándose según se va recibiendo. Este modelo es
importante ya que usualmente las entidades de gestión no
pueden o no tienen acceso a los sistemas de almacenamiento del
126 Difusión Masiva de Información en los Modelos de Gestión
Agentes Especializados
Los Agentes Especializados son los que implementan las tareas
de gestión de alto nivel. Éstos contemplan los requerimientos de
los sistemas de gestión y son programados específicamente para
realizar las acciones indicadas por los administradores.
Estos agentes son los que caracterizan cada una de las entidades
de nuestro sistema, llevando a cabo tareas más pasivas como en
el caso de las entidades de gestión o tareas más activas como las
entidades de control.
El funcionamiento de estos agentes por lo tanto es dependiente
de la aplicación de gestión que se quiera realizar con el modelo. A
modo de ejemplo vamos a describir cinco agentes distintos, uno
por cada área del Modelo Funcional. Además destacaremos de
cada uno de estos agentes el uso que realiza del sistema de
transferencia de información. En este ejemplo los agentes
descritos cooperarán entre ellos para mantener una red de
computadores operativa el máximo tiempo posible, incorporando
características de alta disponibilidad en el sistema.
El Agentes Supervisor es un agente que se encarga de controlar
el correcto funcionamiento de los distintos elementos de la red.
Capítulo 4. Arquitectura del Sistema 127
Mecanismo de Difusión
Masiva de Información
129
130 Difusión Masiva de Información en los Modelos de Gestión
NUBE DE PEERS
Aplicación P2P
Aplicación P2P
Aplicación P2P
A
B
C
ALMACENAMIENTO MASIVO
Descripción General
MDCTP está concebido como un protocolo de transporte basado
en IP, al igual que TCP y UDP. Sin embargo, dado que en su base
utiliza el envío y la recepción de datagramas, también podría ser
implementado sobre UDP. El uso de UDP además nos aportaría
dos características interesantes: la multiplexación por aplicación
mediante los puertos UDP y un control de errores en datos
mediante el checksum que incorpora. En cualquier caso el
protocolo está pensado para poder ser implementado tanto sobre
UDP como sobre IP (ver figura 76).
APLICACIÓN
Protocolo de Aplicación
MDCTP
TRANSPORTE
TCP
UDP
RED
IP
ENLACE
Protocolo de Enlace
Miembros de la comunicación
En una comunicación basada en MDCTP existirán un conjunto
de 2 o más miembros entendidos como procesos de usuario que
utilizan el protocolo para intercambiar información entre ellos.
En el protocolo cada uno de esos miembros será denominado a
partir de ahora nodo.
En las comunicaciones P2P no existe diferenciación entre nodos
emisores y destinatarios ya que todos los miembros de la
134 Difusión Masiva de Información en los Modelos de Gestión
Re-emite / Recupera /
Tipo Emite Recibe
Retransmite Corrige
Emisor principal
Emisor secundario
Receptor
Soporte
Sesiones
Al igual que en TCP y al contrario que los protocolos P2P el
proceso de transmisión está contextualizado en una sesión de
transferencia (a partir de ahora sesión). Durante la sesión se
establece un flujo virtual y unidireccional entre emisores y
receptores para la transmisión de la información. Cada sesión es
un proceso de comunicación independiente. Por ejemplo un
mismo emisor podría estar emitiendo datos distintos a dos
conjuntos de receptores de forma simultánea, cada uno de estos
procesos de transferencia estaría contextualizado en una sesión
distinta.
136 Difusión Masiva de Información en los Modelos de Gestión
SESIÓN DE TRANSFERENCIA
Zonas
Cuando tenemos muchos participantes en una misma sesión de
transferencia la red se suele saturar con la retrasmisión de los
bloques.
Las técnicas de multicast y broadcast permiten realizar un envió
de tramas eficiente en el caso de múltiples destinatarios. Tanto IP
como UDP permiten el uso de estas técnicas en el envío de
tramas por lo que es posible integrarlas dentro de nuestro
protocolo.
En el caso de broadcast, cuando se envía una trama a la dirección
de broadcast, ésta es recibida potencialmente (no hay
confiabilidad) por todos los nodos de la red local. Esto permitiría
enviar simultáneamente un paquete de datos a varios receptores
Capítulo 5. Mecanismo de Difusión Masiva de Información 137
de una misma red, sin tener que enviar por duplicado la trama en
cuestión. Los principales problemas de esta técnica son:
Es válido sólo para redes de área local. En caso de querer
extender el broadcasting a otras redes se necesitaría
configurar los elementos de internetworking como routers
para tal efecto.
Las tramas enviadas llegan a todos los nodos de la red
local, estén interesados o no en dicha información. Esto
satura las NICs de otros equipos con tramas inecesarias
para ellos.
Las técnicas de multicast permiten solucionar estos dos
problemas. Por una parte ofrecen la posibilidad de enviar tramas
a múltiples destinatarios aunque estos se encuentren en redes
locales distintas. Además los paquetes enviados a una dirección
de multicast sólo llegan a los equipos que estén interesados, es
decir, que se hayan suscrito a la dirección multicast.
Nuestro protocolo va a utilizar, además de unicast, ambas
técnicas, multicast y broadcast, para el envío de tramas entre
nodos. Cuando usemos una de estas dos técnicas multi-
destinatarias hablaremos de difusión de los datos.
De forma grafica la difusión se representará con una serie de
círculos concéntricos con centro en el nodo emisor, en
contraposición con la comunicación punto a punto representada
con una flecha desde el nodo origen al nodo destino (ver figura
79).
8
6
3
1
4 Nodo fuera
1 de la zona
4
7
15
7
2 9
Vecino de
Ámbito de la zona
difusión
API de Comunicaciones
Cuando las aplicaciones utilizan un determinado protocolo para
comunicarse utilizan un API que les da acceso a las
funcionalidades de dicho protocolo.
El API de bajo nivel más extendido dentro del entorno TCP/IP es
el API de sockets. El API de sockets describe como las
aplicaciones pueden intercambiar datos. En la actualidad existen
multitud de implementaciones de sockets para diversas
plataformas y lenguajes de programación.
Método Descripción
bind
listen
accept connect
recv send
send recv
close
bind
listen
accept connect
connect
connect
send recv
recv
recv
close
Árbol
secundario
Zonas Raíz
Zonas
Intermedias
Zonas Hoja
Árbol
secundario Árbol principal
Paquetes MDCTP
Como se comentó anteriormente todo paquete enviado en el
protocolo MDCTP irá encapsulado dentro de un paquete IP o un
paquete UDP. Para simplificar las explicaciones a partir de ahora
asumiremos que encapsulamos los paquetes mediante UDP. En
la figura 84 se puede ver como un paquete MDCTP es
encapsulado en un paquete UDP que a su vez se encapsula en un
paquete IP.
Paquete IP
Paquete UDP
Paquete MDCTP
Cabecera MDCTP
Todo paquete MDCTP comenzará con una cabecera donde se
indican los datos generales del protocolo. Los campos de la
cabecera pueden verse en la figura 85.
Capítulo 5. Mecanismo de Difusión Masiva de Información 145
Byte / Bit 0 2 3 7
0
sessionID
1
2 flags
3 peerType operation
4
srcPeerID
5
6
dstPeerID
7
8
zoneID
9
10
pktID
11
12
ack
13
14
next
15
16
out
17
Campo sessionID
El primer campo de la cabecera llamado sessionID ocupa los
primeros 2 bytes de la misma. En el campo sessionID todos los
nodos indican la sesión en la que están trabajando. Esto actúa
como un multiplexor que permite a un nodo gestionar varias
sesiones en paralelo sin que se interfieran los procesos de
comunicación.
Si un nodo recibe un paquete de una sesión a la que no
pertenece, el paquete será descartado.
Campo flags
En el campo flags, que ocupa el tercer byte de la cabecera, se
indican una serie de opciones binarias combinables que
146 Difusión Masiva de Información en los Modelos de Gestión
Campo peerType
El campo peerType indica el tipo del peer que envía el paquete. El
campo ocupa los 3 primeros bits del cuarto byte de la cabecera.
En la tabla 37 podemos ver una lista de los valores que puede
tomar el campo peerType.
Campo operation
El campo operation ocupa los 5 últimos bits del cuarto byte e
indica la operación que está realizando el paquete en cuestión.
Las distintas operaciones que usa la versión 1 de MDCTP se
describen en la tabla 38.
Valor Descripción
3 Flag incorrecto.
5 Operación no soportada.
Campo pktID
El campo pktID es un identificador de paquete. Permite al resto
de nodos identificar de forma única un paquete recibido. Cuando
un nodo vuelve a emitir un mismo paquete el identificador es el
mismo, indicando que ha sido una reemisión.
150 Difusión Masiva de Información en los Modelos de Gestión
Operaciones
Mediante los paquetes los participantes ejecutan operaciones
sobre otro nodo. En el protocolo se distinguen dos tipos de
operaciones: comandos y notificaciones.
Capítulo 5. Mecanismo de Difusión Masiva de Información 151
flags=RESPONSE
srcPeerID=3
8
RSPN dstPeerID=8
flags=RELIABLE
pktID=78
srcPeerID=8
RQST
dstPeerID=3 3
pktID=78
C O N T E S TA U N N O D O C O N T E S TA N T O D O S C O N T E S TA E L P R I M E R O
3 flags=RELIABLE
RQST
srcPeerID=7
20
dstPeerID=ALL
2 2
3 pktID=342
7 7 RQST
flags=RELIABLE
srcPeerID=20
2 2
dstPeerID=ALL
4 4
9 9
pktID=125
1 2
3 4 3
flags=RESPONSE
20 flags=RESPONSE
srcPeerID=2
2 flags=RESPONSE
srcPeerID=4
3 RSPN dstPeerID=7
srcPeerID=4 2
7 dstPeerID=6
pktID=342
dstPeerID=6
flags=RESPONSE pktID=342 7 RSPN
srcPeerID=7
2 pktID=342
RSPN
dstPeerID=20
4 2
9 RSPN
pktID=125
4
9
Byte / Bit 0 8
0
zoneID
1
2
parentID
3
4
neighbor s
5
Byte / Bit 0 7
0
peerID
1
2
zoneID
3
4 peerType
5
6
ip
7
8
9
port
10
Operación PEER
La operación PEER es de tipo comando y permite a un nodo:
Incorporarse a una sesión cuando es un nodo nuevo (aun
no tiene peerID).
Actualizar los datos de un peer, por ejemplo indicar a que
zona pertenece.
La operación siempre es confiable e inter-zonas.
Sólo el emisor principal puede realizar las altas en la sesión, si
otro nodo recibe este tipo de paquete contestará con un error de
operación no soportada (código 5).
Si el emisor principal recibiera una solicitud de un nodo cuyo tipo
también es emisor principal contestaría con un error de tipo de
nodo incorrecto (código 4).
Tanto la solicitud como la respuesta tienen un mismo cuerpo tras
la cabecera que se puede ver en la figura 91.
Byte / Bit 0 7
0 version
1 hr
2 vr
sessionID sid
peerType peerA.type (≠ 1) 1
operation 1 (PEER) 0
srcPeerID peerA.peerID (≥ 0) 1
dstPeerID 1 peerA.peerID
zoneID peerA.zoneID (≥ 0) 1
pktID peerA.pktID
ack 0 0
next 0 0
version 1
hr 0 peerB.hr (≥ 0)
vr 0 peerB.vr (≥ 0)
Operación ZONE
La operación ZONE permite a los nodos unirse a una zona. La
operación es de tipo comando e intra-zona.
Uno nodo utiliza la operación ZONE para determinar en qué zona
se encuentra y descubrir que vecinos tiene. La solicitud
normalmente se envía por difusión y con dstPeerID=0 para que
responda algún miembro de la zona (si existe).
Tanto en la solicitud como en la respuesta el paquete va con el
cuerpo vacio.
En la tabla 42 se muestra los valores de los campos de la
cabecera en la solicitud y la respuesta en el funcionamiento
normal del comando.
sessionID sid
operation 2 (ZONE) 0
zoneID 0 peerB.zoneID
pktID peerA.pktID
ack 0 0
next 0 0
Operación DEL
La operación DEL informa de la salida de un nodo de la sesión. Es
utilizado normalmente cuando un nodo detecta la caída de un
nodo para informar a otros nodos de la sesión que el nodo caído
ya no participa en el proceso de comunicación.
También es posible utilizar el comando para indicar la
desaparición de una zona completa.
La operación es de tipo comando y puede ser utilizada en intra-
zona y en inter-zonas.
En el cuerpo del paquete se incluye los identificadores de los
nodos que abandonan la sesión así como de la zona a la que
pertenece. El número de bloques de nodo-zona vendrá
determinado por el tamaño máximo del paquete. Si en el
identificador de nodo aparece el valor ALL significará que
desaparece la zona completa a la que está relacionada.
La figura 92 ilustra el cuerpo de la solicitud de la operación.
Byte / Bit 0 7
0
peerID
1
xN
2
zoneID
3
Operación INFO
La operación INFO permite a un nodo informar sobre datos de
otras zonas y nodos de la sesión. Suele ser utilizado por el emisor
principal para indicar a otros nodos en que zona del bosque se
sitúan.
La operación puede ser de tipo intra-zona o inter-zonas.
El cuerpo del mensaje, que sigue a las cabeceras, tiene la
estructura que se muestra en la figura 93.
Byte / Bit 0 7
0 numZones
1 numPeers
2 zoneDefinition
x numZones
…
peerDefinition
x numPeers
…
Operación PING
La operación PING permite a un nodo identificar si otro nodo esta
accesible mediante una solicitud de eco. El comando es confiable
y puede ser intra-zona o inter-zonas.
Adicionalmente la operación PING permite a un nodo calcular la
distancia a otro nodo, entendida como el tiempo en
microsegundos que tarda el paquete de solicitud en ir al destino
más el tiempo que tarda en llegar el paquete de respuesta.
Para el cálculo el nodo origen de la solicitud anota el
microsegundo en el que emitió la solicitud ( A1) y posteriormente
registra el momento en el que llega la respuesta ( A2). El tiempo
total de la operación sería A2-A1. Sin embargo en este tiempo,
además del tiempo de transferencia, también está incluido el
tiempo de procesado perdido en el destino. Si la solicitud llegó al
destino en B1 y la respuesta fue enviada en B2 el tiempo de
procesado será B2-B1. Para que el emisor pueda descontar el
tiempo de procesado el destino incluye en la respuesta dicho
tiempo. De esta manera el origen del comando calculará el tiempo
de procesado como (A2-A1)-(B2-B1).
Por lo tanto el cuerpo de la respuesta de la operación PING
incluirá el campo processTime de 4 bytes ilustrado en la figura 94
que es el tiempo de procesado (B2-B1) expresado en
microsegundos.
Byte / Bit 0 7
0
1
processTime
2
3
A1 PING-RQST
B1
PING-RSPN(B2-B1) B2
A2
Operación DPING
La operación DPING permite a un nodo conocer las distancias
entre un segundo nodo y un conjunto de nodos.
Esta operación es utilizada por el emisor principal para conocer
las distancias entre las distintas zonas de que conforman los
nodos de una sesión.
Byte / Bit 0 7
0
1
2
3
4
5 peerDefinition xN
6
7
8
9
10
Byte / Bit 0 7
0
peerID
1
2 xN
3
distance
4
5
Operación DATA
La operación DATA permite a un nodo enviar un bloque de datos
a otro. Esta operación es de tipo notificación (sin respuesta) y
puede enviarse en modo intra-zona o inter-zonas.
En el cuerpo del mensaje aparecerán los campos reflejados en la
figura 98.
Byte / Bit 0 7
0
dataID
1
2
dataSize
3
4 dataContent
… …
Operación HDATA
La operación HDATA se corresponde con el envío de un bloque de
corrección preventiva de tipo horizontal. La operación es de tipo
notificación y el funcionamiento y cuerpo del mensaje son
idénticos al del comando DATA.
En este caso el identificador del bloque de datos (campo dataID
de la figura 98) indica que el contenido del bloque (campo
dataContent) es el XOR de todos los bloques desde 0 hasta el
dataID.
Operación VDATA
La operación VDATA es similar a la HDATA pero se corresponde con
un campo de recuperación vertical.
El contenido del bloque (campo dataContent de la figura 98) es el
XOR de todos los bloques hasta el indicado en dataID cuyo
módulo respecto a HR se corresponda con el módulo respecto HR
del campo dataID.
Posteriormente se explicará en detalle los bloqeus de
recuperación preventiva.
164 Difusión Masiva de Información en los Modelos de Gestión
Operación ACK
La operación ACK permite a un nodo confirmar la recepción de
datos. La operación es de tipo notificación y puede ser intra-zona
o inter-zonas.
En el caso de que sea un paquete inter-zonas el cuerpo irá vacio.
Sin embargo en los paquetes intra-zona en el paquete se
incorporará el cuerpo indicado en la figura 99.
Byte / Bit 0 8
0
childZoneID
1
2
childAck
3
4
childNext
5
6
childOut
7
Operación STATUS
La operación STATUS es de tipo notificación y sirve a los nodos
para indicar que siguen presentes en el sistema. Permite a los
miembros de una sesión detectar que un nodo a caído al no
recibir en un tiempo determinado un paquete de tipo STATUS.
La operación puede ser inter-zonas o intra-zona y no tiene cuerpo.
Capítulo 5. Mecanismo de Difusión Masiva de Información 165
Fase de Conexión
Durante la fase de conexión todos los participantes de la
comunicación se ponen en contacto con el emisor para obtener
los datos necesarios y sincronizar el proceso de transferencia.
A nivel de conexión básicamente existen dos tipos de nodos: el
emisor principal (parte pasiva en la conexión) y el resto de nodos
(partes activas). Durante el proceso de conexión dichas partes se
comportarán de forma distinta. El único punto en común de
todas las partes será el sessionID que coincidirá en todos los
paquetes enviados durante la transmisión.
En los sistemas donde sólo existen dos participantes el proceso
de conexión básicamente se reduce a un proceso de
sincronización inicial entre ambos extremos. En este caso, al
existir más de dos participantes, el proceso es algo más complejo.
Hemos centralizado las labores de sincronización en el lado del
emisor, de forma que sea este elemento el que controle el proceso
de sincronización.
Inicialmente los nodos no tendrán información sobre el resto de
componentes y, según avance el proceso de comunicación, los
nodos irán descubriendo información sobre otros nodos de la
sesión. Para ello gestionarán una serie de conjuntos (de nodos, de
vecinos y de zonas) donde irán incorporando esta información
La fase de conexión está dividida en dos sub-fases. En la primera,
la sub-fase de incorporación, se reciben las peticiones para
incorporar nuevos nodos en la sesión. En la segunda, sub-fase de
conformación, se genera el bosque de zonas y se informa a los
nodos.
Sub-fase de incorporación
Una de las cosas que hay que decidir es cuál es la ventana de
conexión, es decir, durante que periodo el emisor está esperando
la incorporación de otros nodos a sesión de transferencia. Las
principales opciones que se barajan en estos casos es, bien por
número de participantes (si es algo que se conoce a priori), bien
por límite de tiempo.
En nuestro caso hemos decidido un enfoque mixto. El emisor
puede determinar un número máximo de participantes de forma
que una vez se llega a este número la sub-fase de incorporación
166 Difusión Masiva de Información en los Modelos de Gestión
Opción Descripción
Proceso de Identificación
Durante este proceso los nodos conformarán el conjunto de
nodos de la sesión y cada uno determinará cuál es su peerID.
Para este proceso el emisor principal, única parte pasiva en la
conexión, realizará los siguientes pasos:
1. Inicialización de temporizadores. Si se ha indicado un
valor no nulo en MaxTime establece un temporizador con
su valor.
2. Creación del nodo emisor. El emisor principal se dará de
alta en el conjunto de nodos con el peerID=1.
3. Creación de la zona principal. Crea la una zona con
zoneID=1 e incorpora al emisor en dicha zona.
4. Esperar conexiones. El emisor principal queda a la espera
de conexiones o del cumplimiento del temporizador.
En la figura 100 podemos ver un esquema del escenario
configurado por el emisor.
1 1
? 2
sessionID=7983 sessionID=7983
1 flags=RELIABLE | ZONE
1 flags=RESPONSE | ZONE
peerType=RECEIVER peerType=ROOT
operation=PEER operation=0
srcPeerID=0 srcPeerID=1
dstPeerID=1 dstPeerID=2
zoneID=0 zoneID=0
SOLICITUD RESPUESTA
pktID=1 pktID=1
ack=0 ack=0
next=0 next=0
out=32 out=64
1
3
1 2
Proceso de agrupación
Una vez obtenido el identificador del nodo el nodo determinará en
que zona se encuentra (si ya hay algún otro nodo) o creará una
nueva (si es el primero).
170 Difusión Masiva de Información en los Modelos de Gestión
1 2 1 2
2
sessionID=7983
1 1
flags=RELIABLE
peerType=RECEIVER
operation=ZONE
srcPeerID=2
dstPeerID=0
SOLICITUD zoneID=0 SIN RESPUESTA
pktID=2
ack=0
next=0
out=32
2 2
1 2 1 2
sessionID=7983 sessionID=7983
flags=RELIABLE flags=RESPONSE
3
1 3 1
peerType=RECEIVER peerType=RECEIVER
operation=ZONE operation=0
srcPeerID=3 srcPeerID=2
pktID=2 pktID=2
ack=0 ack=0
next=0 next=0
out=32 out=32
Cada vez que se reciba una solicitud o una respuesta los nodos
irán incorporando a estos como vecinos de su zona, completando
la información de la zona que va teniendo cada uno.
Si antes de recibir respuesta se recibe un paquete de solicitud de
zona (con operation=ZONE y flags=RELIABLE) estaremos ante una
solicitud cruzada, es decir, dos nodos de la misma zona se
conectan a la vez y envían simultáneamente un mensaje de
solicitud de zona. En estos casos, para resolver el conflicto, se
dará prioridad al identificador con valor más bajo, es decir el
valor de srcPeerID inferior. Ambos nodos asignarán este valor
como su zona y contestarán con dicho valor en el zoneID de la
respuesta.
172 Difusión Masiva de Información en los Modelos de Gestión
7
1 ? 1 ? 1 10
1 1 7 1
7 7 7
Sub-fase de Conformación
Como se ha visto, la sub-fase de incorporación permite a todos los
nodos conocer cuál es su peerID y cuál es la zona a la que
pertenece, así como también conocer algunos de los vecinos,
potencialmente todos.
En el caso particular del emisor principal además sirve para
conocer a todos los participantes en la comunicación.
A partir de este momento el emisor no admite mas altas en la
sesión, quedando cerrado el número de nodos de la misma.
Llegados a este punto el emisor principal debe determinar cuál es
el bosque completo de zonas del sistema. Para ello previamente
debe asegurarse que tiene completada la información referente a
todos los nodos.
El emisor principal revisará el conjunto de los distintos nodos de
la sesión. Si encuentra alguno que no tienen zona puede ser
debido a que, bien porque no recibió la actualización de los datos,
bien porque el nodo abandonó la sesión (sin informar de ello)
antes de completar la conexión.
En cualquier caso si algún nodo no tiene aun asignado un
identificador de zona el emisor principal le manda un paquete
174 Difusión Masiva de Información en los Modelos de Gestión
1 2 5 9 12
1 38 34 34 40
2 38 44 54 42
5 38 46 3 60
9 34 54 5 45
12 40 42 68 45
1 2 5 9 12
1 38 36 34 40
2 45 54 42
5 4 64
9 45
12
1 38 36 34 40
2 45 54 42 9 2
5 4 64
9 45
5 12
12
Paso Acción
Fase de Transferencia
Terminada la fase de conexión cada nodo conoce los siguientes
datos:
Cuál es su peerID.
Cuál es su zoneID.
Quién es el emisor principal.
Quién es el emisor de su zona.
Cuántos vecinos de zona tengo.
Los datos de varios de sus vecinos (potencialmente todos).
Cuál es mi zona padre y al menos un nodo de esa zona.
Cuáles son mis zonas hijas y al menos un nodo de cada
zona.
Para la transmisión los datos son fraccionados en bloques de
tamaño fijo. Todos los bloques tendrán el mismo tamaño excepto
el último que podrá ser menor. El tamaño de bloque definido para
datos es de 1024 bytes.
Cada bloque de datos irá identificado por su número de
secuencia (dataID) que empezará en 0.
La transferencia funciona básicamente a dos niveles: la
transferencia entre zonas (protocolo inter-zona) y la difusión entre
vecinos de una zona (protocolo intra-zona).
El protocolo inter-zonas establece cómo distribuir la información
entre zonas, desde el emisor hasta las zonas hoja. A grandes
rasgos el protocolo actúa de la siguiente forma:
Cuando hay un bloque de datos disponible en el emisor
este lo difunde en su zona y posteriormente selecciona un
nodo de cada zona hija y le envía una copia de los datos.
Cuando un nodo recibe un paquete de datos de un nodo
de otra zona lo difunde en su zona y lo retransmite
también a las zonas hijas.
Los miembros de cada zona envían paquetes de
confirmación a la zona padre indicando la información
recibida.
Capítulo 5. Mecanismo de Difusión Masiva de Información 179
Buffer de Transferencia
Para realizar la transferencia cada nodo utilizará un buffer de
bloques de datos o buffer de transferencia. El protocolo no
establece el tamaño del buffer, de forma que cada nodo decidirá
el tamaño del buffer, en función de los recursos de cada
dispositivo. En el buffer de transferencia se gestiona la
ordenación de los bloques de datos y también se utiliza de
almacén temporal de la información hasta que las aplicaciones de
usuario lean el contenido del flujo de información (ver figura
109). Evidentemente cuanto mayor sea el buffer de transferencia
más se favorece el proceso de transmisión.
180 Difusión Masiva de Información en los Modelos de Gestión
EMISOR RECEPTOR
Proceso de Proceso de
usuario usuario
Escribir Leer
Proceso de Proceso de
transferencia transferencia
Red de comunicaciones
Buffer de Transferencia
... 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ...
Flujo de información
Buffer de Transferencia
... 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ...
... 17 18 19 20 ? ? ? 24 25 26 27 28 29 30 31 32 ...
Ventana de recuperación y Ventana de recepción
reordenación
Proceso de Transferencia
Cuando un nodo tiene un nuevo bloque de datos para transmitir,
bien porque lo ha recibido de un nodo de su zona padre, bien
porque es el emisor y desde la capa de aplicación se ha enviado
información, el nodo tiene que coordinar los siguientes tres
pasos:
Difundir la información en su zona.
Retransmitir la información a las zonas hijas.
Confirmar la recepción al padre.
La transferencia del bloque de datos dentro de cada zona se
realiza mandando un paquete de datos intra-zona mediante
difusión.
Una vez difundido el paquete se enviará una copia del mismo a
cada una de las zonas hijas de su zona. Para realizar esto se
seleccionará aleatoriamente un nodo de cada zona hija y se le
reenvía el paquete de datos.
Cuando los nodos seleccionados de las zonas hijas reciban los
paquetes estos volverán a realizar el mismo proceso de difundir el
paquete en la zona y de reenviarlo a sus zonas hijas.
Capítulo 5. Mecanismo de Difusión Masiva de Información 187
DATA
ACK
Emisión de datos
Durante el proceso de transferencia, en un momento dado, un
nodo podrá disponer de un nuevo bloque de datos. Esto puede
ocurrir por dos cosas: es el nodo emisor y la aplicación ha escrito
datos hasta completar un bloque, se han recibido datos de la
zona padre (un reenvió).
En el caso de que sea el emisor el que tiene el bloque de datos los
pasos que debe realizar son los siguientes:
1. Seleccionar un vecino como responsable del bloque. El
emisor seleccionará al azar entre todos los miembros de la
zona quien será el nodo responsable del bloque de datos.
El propio emisor será uno de los posibles candidatos a
responsable del bloque. Con ello la responsabilidad de los
bloques, y por lo tanto su corrección en caso de error, se
reparte entre todos los vecinos de la zona. El emisor
registrará en su buffer de transferencia al nodo
responsable del bloque a emitir.
2. Difundir el bloque en la zona. El emisor difundirá en la
zona el bloque de datos indicando en dstPeerID el
identificador del nodo responsable seleccionado.
Cuando los vecinos de la zona de emisión reciban dicho paquete
(lo detectarán porque es un paquete con la operación DATA, el flag
ZONE desactivado y enviado por el emisor) realizarán los siguientes
pasos:
1. Almacenar el paquete. Si el paquete está dentro del
buffer de transferencia del nodo será almacenado
indicando como responsable del mismo el peer indicado
en dstPeerID.
2. Reenviar el paquete (sólo el nodo responsable). Si el
nodo que recibe el paquete es el nodo asignado como nodo
responsable este reenviará el paquete a las zonas hijas,
seleccionando para ello un nodo aleatorio de cada zona.
Capítulo 5. Mecanismo de Difusión Masiva de Información 189
peerType=ROOT
25
operation=DATA
srcPeerID=1 1
dstPeerID=20
Buffer de Transferencia
zoneID=1 ... 34 35 36 37 38 39 ...
pktID=168 RSP 25 20 1 20
ack=38
next=38 20
out=64
Buffer de Transferencia
dataID=37 ... 34 35 36 37 38 39 ...
dataSize=1024 RSP 25 1 20
dataContent=…
25
Buffer de Transferencia
... 34 35 36 37 38 39 ...
RSP 25 20 1
1
sessionID=7983
flags=ZONE 20 1
peerType=RECEIVER
operation=DATA
25
srcPeerID=20 DATA(37)
dstPeerID=6 2
zoneID=1
pktID=102
6
ack=38
4
next=38
15
out=45
7
dataID=37
2
dataSize=1024
6
dataContent=… Buffer de Transferencia
... 34 35 36 37 38 39 ...
RSP 7 2 4 6
sessionID=7983
flags=0
peerType=RECEIVER
operation=DATA Nodo
srcPeerID=6
responsable
dstPeerID=4 2
zoneID=2
pktID=156
6
ack=38
4
next=38 DATA(37)
15
out=52
7
dataID=37
2
dataSize=1024
dataContent=…
Nodo
delegado
sessionID=7983 sessionID=7983
flags=ZONE flags=ZONE
peerType=RECEIVER peerType=RECEIVER
operation=DATA 2 operation=DATA
srcPeerID=6 srcPeerID=6
dstPeerID=3
6 dstPeerID=8
zoneID=2
4 zoneID=2
pktID=157 pktID=158
15
ack=38 ack=38
7
next=38 next=38
2
out=52 out=52
DATA(37)
dataID=37 dataID=37
DATA(37)
dataSize=1024 5 8 dataSize=1024
dataContent=… 5 dataContent=…
8 13
3
peerType=RECEIVER
25 operation=DATA
srcPeerID=4
2 ACK dstPeerID=25
zoneID=2
6 pktID=78
4 ack=38
next=38
15
out=52
7
2
Al igual que con los paquetes de datos los paquetes ACK también
son difundidos en la zona, de forma que la información aportada
por la zona hija esté disponible a todos los vecinos de la zona
padre. En concreto el nodo que recibe el paquete ACK de de la
zona hija indica en el cuerpo del paquete el identificador de dicha
zona y los datos que ha obtenido en ack, next y out.
En la figura 121 se ve como el nodo 25 difunde el ACK a sus
vecinos.
194 Difusión Masiva de Información en los Modelos de Gestión
sessionID=7983
flags=0
peerType=RECEIVER
operation=DATA
1 srcPeerID=25
20 1 dstPeerID=ALL
zoneID=2
ACK
25 pktID=78
ack=38
next=38
out=49
childZoneID=2
childAck=38
childNext=38
childOut=52
Corrección local
Uno de los aspectos claves en el proceso de comunicación,
principalmente en el caso de sistemas con múltiples nodos
implicados es detectar y corregir los bloques de datos perdidos.
En el protocolo se realizan labores de corrección tanto a nivel
local de una zona como entre zonas.
Cuando un nodo (peerB) recibe un paquete cualquiera de un
vecino (peerA) de su zona (paquete con flag ZONE desactivado)
intenta detectar fallos en la recepción de paquetes de peerA para
realizar una corrección de dichas pérdidas.
Para ello peerA consulta los datos de ack y next del paquete. Si
son distintos significa que ack apunta a un hueco en su
secuencia.
Si peerB es el nodo responsable del paquete perdido lo reenviará
inmediatamente por difusión, de forma que si hay más de un
nodo que no lo recibió lo pueda recuperar. En ese paquete DATA
no se indicará ningún nodo responsable ya que es una
recuperación local y no hay que confirmar con una ACK al padre.
Si no es el responsable del paquete pero sí que dispone del mismo
no lo reenvía, asumiendo que será el responsable de bloque el
que realizará el reenvío. Llegados a este punto cabe la posibilidad
de que el nodo responsable del bloque no pueda contestar en ese
momento (está ocupado, caído o simplemente no recibió el
paquete donde peerA indicaba su hueco). Para que otro nodo
pueda recuperar el dato perdido se actúa como se indica a
continuación. Cuando los vecinos de una zona reciben un
paquete donde detectan un hueco en la secuencia (next > ack)
incrementan un contador de recuperación local asociado al
paquete perdido. Si en algún momento se recibe un bloque de
datos (posiblemente por parte del responsable del bloque) se
inicializa a 0 el contador de recuperación local. Posteriormente,
cuando un nodo tiene el testigo (un nodo tiene el testigo cuando
recibe un paquete dirigido a el, es decir dstPeerID es su
identificador) comprueba si el contador supera un determinado
valor y si es así lo reenvía. El umbral por defecto es 5.
En otros casos es posible que ningún vecino de la zona tenga ese
bloque por lo que no se podrá realizar una corrección local del
mismo.
Capítulo 5. Mecanismo de Difusión Masiva de Información 197
Corrección inter-zonas
Cuando un nodo (el nodo responsable) envía un bloque de datos a
una zona hija es posible que dicho bloque no llegue a la zona,
bien porque no llegue al nodo destinatario, bien porque llegue al
nodo pero éste muera antes de poder reenviarlo.
En esos casos es la zona padre la responsable de corregir el
bloque perdido. Para ello cuando un nodo va a mandar un
paquete al bloque padre, en el caso de que el contador de
recuperación local haya superado el umbral el nodo no tenga el
paquete indicará en el campo next del paquete el valor de dicho
bloque perdido. En otro caso next será igual a ack, indicando que
no se espera ninguna corrección.
Cuando el nodo que recibe el paquete de la zona hija observa que
next es mayor que ack, asume que en la zona hija nadie tiene el
bloque indicado en next.
Corrección preventiva
El uso de técnicas de corrección preventiva en los sistemas
basados en difusión es una de las técnicas más utilizadas para
mejorar el proceso general de transferencia, permitiendo a los
miembros de la transferencia recuperar un paquete perdido sin
necesidad de solicitarlo.
Para ello el nodo emisor de la información envía cada cierto
tiempo determinados paquetes que permiten recuperar bloques
de datos perdidos.
Estas técnicas se basan en el siguiente procedimiento:
El emisor de la información selecciona n bloques de datos.
Sobre ese conjunto confecciona un total de p bloques de
recuperación preventiva.
El emisor emite tanto los bloques de datos como los
bloques de recuperación es decir n+p bloques en total.
Si el receptor (o receptores) de la información se pierden
algunos bloques de datos, llegando solo m de los n bloques
iniciales (m<n) se podrán recomponer un máximo de r
bloques, donde r<=p.
198 Difusión Masiva de Información en los Modelos de Gestión
0 1 2 3 4 5 6 7
Bloques enviados
4
XOR
0 2 3 4 5 6 7 1
Bloques recibidos
9
XOR
0 1 2 3 4 5 7 6
Bloques recibidos
0 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
XOR(8,9,10,11,12,13,14,15)
VR=4
16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31
31 31 ...
XOR(4,12,20,28)
0 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
XOR(8,9,10,11,12,13,14,15)
VR=4
16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31
31 31 ...
XOR(3,11,19,27)
Fase de Cierre
Durante el proceso de comunicación cualquiera de los nodos
podrá dar por finalizada la transferencia. La finalización de la
transferencia se realiza mediante la función close del API. En
este sentido el cierre de la comunicación será interpretado de
distinta manera en función de si el cierre lo realiza un emisor u
otro nodo.
SDTP
TCP MDCTP
RED
IP
ENLACE
Protocolo de Enlace
bind() bind()
fork()
write(response read(response
) tcp )
close() close()
Comandos SDTP
La solicitud realizada por el cliente consistirá en una única línea
de texto donde se indica el comando a realizar.
Los comandos soportados por SDTP se pueden ver en la tabla 44.
La respuesta a un comando será siempre una única línea donde
se indica el estado de la respuesta un espacio y los datos
asociados a la respuesta. El estado será un código numérico
donde 0 siempre indica que la operación se ha realizado
204 Difusión Masiva de Información en los Modelos de Gestión
Comando Descripción
Comando VERSION
El comando VERSION permite a un cliente solicitar la versión
soportada por el servidor.
La respuesta al comando siempre será 0 seguida de la versión del
protocolo soportada.
Comando PROTOCOLS
El comando PROTOCOLS permite a un cliente averiguar que
protocolos de transporte puede utilizar el servidor.
La respuesta del comando siempre será 0 seguida de una lista
separada por comas de los protocolos soportados.
Comando GET
El comando GET permite a un cliente solicitar la transferencia de
un flujo de información. La solicitud sigue el siguiente formato:
GET <protocol> <iid> [options]
Donde protocol es el protocolo seleccionado para realizar la
transferencia, iid es el identificador de la información a transferir
y option es una lista separada por espacios de opciones
siguiendo el formato name=value donde name es el nombre de la
opción y value el valor. Opcionalmente value puede ir
etrecomillado para definir exactamente el contenido del mismo.
Capítulo 5. Mecanismo de Difusión Masiva de Información 205
Protocolo Sitaxis
1 Protocolo no soportado.
2 Información no encontrada.
3 Opción incorrecta.
Capítulo 6
Implementación y Validación
207
208 Difusión Masiva de Información en los Modelos de Gestión
=======================================================
= SDTPd - Simple Data Transfer Protocol (SDTP) Daemon =
= --------------------------------------------------- =
= Version 1.0 =
= (c) 2010, grupoM www.dtic.ua.es/grupoM =
=======================================================
SDTPd Options
General Options
MDCTP Options
Supported Protocols
TCP
MDCTP
Validación
El entorno de pruebas que va a servir como marco general de las
pruebas y en el que se va a poner en marcha tanto el sistema de
gestión como el sistema de transferencia masiva que se propone
es un sistema de mantenimiento de redes de computadores que
llamamos .
DB
Router/ Proxy/ Firewall
Navegador DB
Web DB
Cliente DB
Regeneración
Servidor
Web HTML
Internet Sistema de
Información
Interfaz
Agente Lógica de
Servidor de
Regeneración Negocio
Aplicaciones
Cliente ubicuo de
regeneración
(PDA, portátil,
Móvil, ...) Agente
Regeneración
Escenarios de Pruebas
El prototipo implementado va ha ser probado en dos escenarios
distintos.
Por una parte tendremos un escenario controlado donde hemos
realizado los experimentos que requerían de un control sobre la
infraestructura de trabajo.
212 Difusión Masiva de Información en los Modelos de Gestión
Pruebas y experimentos
Se han llevado una serie de experimentos para probar el
funcionamiento del prototipo implementado.
Para evaluar el rendimiento de MDCTP se han difundido bloques
de información e 1GB de tamaño desde el emisor hacia los
destinatarios. Para observar la escalabilidad del protocolo se han
realizado las pruebas variando el número de destinatarios, desde
1 hasta 8, manteniendo constante el tamaño de la información a
enviar (1GB). La difusión se ha realizado mediante SDTP y con
diversos protocolos de transporte TCP y MDCTP y mediante el
protocolo P2P eD2K (eDonkey 2000).
Dado que el funcionamiento del protocolo MDCTP depende del
nivel de agrupación de los nodos, es decir, del número de zonas
conformadas, hemos estudiado el protocolo con tres
distribuciones distintas: una con todos los nodos en una misma
zona que llamaremos MDCTP(1), otra con tres zonas MDCTP(3) y
214 Difusión Masiva de Información en los Modelos de Gestión
una última con nueve zonas, una por cada nodo, MDCTP(9). En
la figura 131 se puede ver estas tres distribuciones. Los nodos se
irán incorporando a las pruebas según la numeración de la
figura.
1
1
7
1 2 3
4
3
2
4
6 3 4 5 6 7
5 9 2 5
6 9
8 7 8 9
8
4 MDCTP(3)
3 MDCTP(9)
2 TCP
1
eD2K
0
1 2 3 4 5 6 7 8
MDCTP(3)
1,4
MDCTP(9)
1,2
TCP
1
eD2K
0,8
1 2 3 4 5 6 7 8
Figura 133. Tráfico total enviado por el emisor. Detalle entre 1 y 2 GB.
0,8
MDCTP(1)
GB
0,6 MDCTP(3)
0,4 MDCTP(9)
0,2 TCP
eD2K
0
1 2 3 4 5 6 7 8
Figura 134. Tráfico medio enviado por el emisor por cada nodo receptor.
50 MDCTP(3)
40
30 MDCTP(9)
20 TCP
10
eD2K
0
1 2 3 4 5 6 7 8
400 MDCTP(3)
300 MDCTP(9)
200 TCP
100
eD2K
0
1 2 3 4 5 6 7 8
MDCTP(3)
1,04
MDCTP(9)
1,03
TCP
1,02
eD2K
1,01
1 2 3 4 5 6 7 8
4 MDCTP(3)
3 MDCTP(9)
2 TCP
1
eD2K
0
1 2 3 4 5 6 7 8
4 MDCTP(3)
3 MDCTP(9)
2 TCP
1
eD2K
0
1 2 3 4 5 6 7 8
0,5 MDCTP(3)
0,4
0,3 MDCTP(9)
0,2 TCP
0,1
eD2K
0
1 2 3 4 5 6 7 8
0,75 MDCTP(3)
0,7
0,65 MDCTP(9)
0,6 TCP
0,55
eD2K
0,5
1 2 3 4 5 6 7 8
400 MDCTP(3)
300
MDCTP(9)
200
TCP
100
eD2K
0
1 2 3 4 5 6 7 8
16
14
12
10 Local
8 Subárbol
6 Zona
4
2
0
Tiempo (3ms)
Transferencia de datos
60000
50000
Bytes enviados y recibidos
40000
30000 Recibido
Enviado
20000
10000
0
Tiempo (3ms)
Conclusiones
224
Capítulo 7. Conclusiones 225
Aportaciones
El trabajo de investigación ha tenido dos claros enfoques: por una
parte la integración de la difusión de la información en los
sistemas de gestión y por otra la transmisión de la información
mediante técnicas colaborativas.
Así pues las principales aportaciones que se desprenden del
trabajo realizado son:
La creación de un modelo general de gestión de redes que
incorpore la difusión de información masiva en su
concepción y con características de autogestión.
La creación de un protocolo de transporte de red para el
streaming de información a múltiples destinatarios
mediantes técnicas colaborativas y con características de
confiabilidad y escalabilidad.
Otras aportaciones del trabajo de investigación son:
La creación de un modelo de distribución de la
información que permite difundir la información de la
información en función de las necesidades y prioridades
del sistema gestionado.
La instanciación del modelo de gestión para un protocolo
de gestión real y ampliamente aceptado como SNMP
226 Difusión Masiva de Información en los Modelos de Gestión
Publicaciones
A partir de la investigación realizada en este trabajo se ha
obtenido un conjunto de publicaciones en revistas
internacionales y congresos de ámbito nacional e internacional.
En total se han generado dos publicaciones en revistas
internacionales y más de 30 publicaciones en congresos
internacionales relacionados con el ámbito de la propuesta.
A continuación se recogen las cinco publicaciones tanto en
revistas como en congresos que se han considerado más
relevantes, junto con un breve análisis de sus indicios de calidad
que permiten avalar dicha relevancia en el ámbito de la
investigación. También se presenta un extracto con las
principales contribuciones.
Revistas
“Wake on LAN over Internet as Web Service System on Chip”
(Maciá et al., 2010a), aceptado y pendiente de publicación.
Indicios de calidad: índice de impacto JCR 2008: 5,468.
Posición 1/52 dentro de la categoría “Automation &
Control Systems”
“Network Intrusion Detection System Embedded on a Smart
Sensor” (Maciá et al., 2010b), aceptado y pendiente de
publicación.
Indicios de calidad: índice de impacto JCR 2008: 5,468.
Posición 1/52 dentro de la categoría “Automation &
Control Systems”
“Industrial TCP/IP Services Monitoring through Embedded Web
Services” (Maciá et al., 2008).
Congresos
“Management system for manufacturing components aligned with
the organisation IT systems” (Marcos et al., 2009).
Capítulo 7. Conclusiones 227
Otras Publicaciones
Otras investigaciones de relevancia relacionadas con el trabajo de
investigación son: (Gilart et al., 2007), (Maciá et al., 2007),
(Marcos et al., 2007), (Gilart et al., 2006), (Marcos et al., 2006a),
(Marcos et al., 2006b), (Gil et al., 2006), (Maciá et al., 2006) y
(Marcos et al., 2006c)
Problemas Abiertos
A lo largo de la investigación han surgido diversos problemas
pero tanto por su temática como por los intereses del grupo de
investigación se ha considerado que pueden ser especialmente
relevantes para investigaciones futuras. A continuación se
sintetizan los más relevantes.
Uno de los principales problemas no resueltos son los
derivados por la falta de seguridad en los MDCTP y SDTP.
En ese sentido el protocolo trabaja de forma similar a
TCP, sin incorporara ningún mecanismo que aporte
seguridad en ninguna de las cuatro áreas principales de la
seguridad en redes: autenticación, autorización,
integridad y confidencialidad.
El control de flujo en MDCTP también ha sido una
cuestión no tratada en el presente trabajo. Su uso es
importante, principalmente, para casos de redes
saturadas o con mucha latencia en la transferencia.
Otro de los problemas no tratados en MDCTP es que, al
ser un streaming sincronizado entre todos, cuando alguno
de los nodos trabaja con bajas velocidades de
transferencia, la velocidad global viene condicionada por
la mínima de estas velocidades. En futuros trabajos se
228 Difusión Masiva de Información en los Modelos de Gestión
Líneas Futuras
El trabajo de investigación se ha realizado al amparo de un grupo
de investigación ( ) cuya principal línea de investigación son
las redes de computadores.
En este sentido el grupo ha realizado numerosos trabajos
relacionados las redes de computadores y, en concreto, con la
gestión de redes, área que ya había sido objeto de una tesis
anterior (Maciá, 2001).
En el grupo se está trabajando en la actualidad en diversas líneas
de investigación que pretenden ser una continuación de los
trabajos anteriores. En concreto las dos principales líneas de
continuación son:
Incorporación de semántica a la gestión de redes para
conseguir altos niveles en la automatización de la gestión.
Incorporación de sistemas basados en algoritmos
epidémicos que mejoren el modelo de distribución de la
información y el proceso de difusión.
Estas líneas están siendo desarrolladas en la actualidad en el
ámbito de dos nuevas tesis doctorales.
Como trabajo de continuación directa del presente trabajo de
investigación se pretende realizar los siguientes trabajos:
Estudiar la instanciación del modelo de gestión y del
modelo de distribución de información con otros
protocolos de gestión como WS-Management.
Incorporar seguridad a los protocolo MDCTP y SDTP.
Incorporar nuevos mecanismos de creación del árbol de
zonas en el protocolo MDCTP.
Referencias Bibliográficas
(Alon et al., 2004) Alon Y. Halevy, Zachary G. Ives, Jayant Madhavan, Peter Mork, Dan
Suciu, and Igor Tatarinov (2004). The Piazza Peer Data Management
System. IEEE Transactions on Knowledge and Data Engineering. ISSN:
1041-4347, pp: 787- 798. EEUU.
(Barba, 2006) Antoni Barba Martí (2006). Gestión de Red. Editorial Ataraxiainc.
(Bolot et al, 1994) J. Bolot, T. Turletti, I. Wakeman (1994). Scalable Feedback Control for
Multicast video Distribution in the Internet. ACM SIGCOMM Computer
Communication Review. Vol 24, pp. 58-67.
(Britton y deVos, Britton, J.P., deVos, A.N. (2005). CIM-based standards and CIM
2005) evolution. IEEE Transactions on Power Systems. Vol. 10, Issue 2, pp:
758-764.
(Byers & Luby, 1998) J. W. Byers y M. Luby (1998). A Digital Fountain Approach to Reliable
Distribution of Bulk Data. Proceedings of ACM SIGCOMM’98. pp. 56–67.
(Case et al., 1990) J. Case, M. Fedor, M. Schoffstall, J. Davin (1990). A Simple Network
Management Protocol (SNMP). Request for Comments 1157. Network
Working Group.
229
230 Difusión Masiva de Información en los Modelos de Gestión
(Cisco, 2009) Cisco Systems, Inc (2009). Cisco Visual Networking Index:Forecast and
Methodology, 2008–2013. White Paper. Online: http://www.cisco.com
(Comer, 1996) Douglas E. Comer (1996). Redes globales de información con internet y TCP/IP.
Principios básicos, protocolos y arquitectura. Tercera Edición. Prentice-Hall
Hispanoamericana.
(Debusmann et al., Debusmann, M., Schmidt, M., Schmid, M., Kroeger, R. (2003). Unified
2003) service level monitoring using CIM. Enterprise Distributed Object
Computing Conference, 2003. Proceedings. Seventh IEEE International.
pp: 75-86.
(Deering, 1986) S. E. Deering (1986). Host Extensions for IP Multicasting. Request for
Comments (RFC) 988.
(DeLucia & Dante DeLucia y Katia Obraczka (1997). Multicast Feedback Suppression
Obraczka, 1997) Using Representatives. Proceedings of the IEEE INFOCOM 1997. pp. 463-
470.
(Douglas & Schmidt, Douglas Mauro y Kevin Schmidt (2005). Essential SNMP, 2nd Edition.
2005) O'Reilly
(Floyd et al, 1996) Sally Floyd, Van Jacobson, Ching-Gung Liu, Steven McCanne y Lixia
Zhang (1996). A Reliable Multicast Framework for Light-weight Sessions and
Application Level Framing. IEEE/ACM Transactions on Networking.
(García, 1989) Jesús García Tomas (1989). Sistemas y redes teleinformáticas. Sociedad para
Estudios Pedagógicos Argentinos (SEPA).
(Gil et al., 2006) J.A. Gil Martínez-Abarca, F. Maciá Pérez, D. Marcos Jorquera, V. Gilart
Iglesias (2006). Wake on LAN over Internet as Web Service. Proceedings of
the 11th IEEE International Conference on Emerging Technologies and
Factory Automation (ETFA'06).
(Gilart et al., 2006) V. Gilart Iglesias, F. Maciá Pérez, J.A. Gil Martínez-Abarca, D. Marcos
Jorquera (2006).Services and networks management through embedded devices and
SOA. Proceedings of the 10th IEEE International Enterprise
Distributed Object Computing Conference EDOC 2006.
Referencias 231
(Gilart et al., 2007) V. Gilart Iglesias, F. Maciá Pérez, D. Marcos Jorquera, F.J. Mora
Gimeno (20007). Industrial Machines as a Service: Modelling industrial machinery
processes. 5th IEEE International Conference on Industrial Informatics.
Conference Proceedings. 2007.
(Guo et al., 2007) Lei Guo, Songqing Chen, Zhen Xiao, Enhua Tan, Xiaoning Ding,
Xiaodong Zhang (2007). A performance study of BitTorrent-like peer-to-peer
systems. IEEE Journal on Selected Areas in Communications. Vol. 25,
isuue 1, pp. 155 – 169.
(Hairong et al., 2003) Hairong Sun ; Han, J.J. ; Levendel, H. (2003). Availability requirement
for a fault-management server in high-availability communication
systems. IEEE Transactions on Reliability. Vol. 52 pp. 238–244.
(Halsall, 1998) Fred Halsall (1998). Comunicación de datos, redes de computadores y sistemas
abiertos. Cuarta edición. Addison Wesley Longman.
(Helms et al., 2006) Helms, R.W. ; van Oorschot, S. ; Herweijer, J. ; Plas, M. (2006). An
integral IT continuity framework for undisrupted business operations.
The First International Conference on Availability, Reliability and
Security, 2006. ARES 2006.
(Hutter et al., 2009) Hutter, M., Szekely, A., Wolkerstorfer, J. (2009). Embedded system
management using WBEM. IFIP/IEEE International Symposium on
Integrated Network Management, 2009. IM '09. pp. 390-397.
(IEEE, 2000) IEEE (2000). IEEE Standard for Media Management System (MMS)
Architecture. The Institute of Electrical and Electronics Engineers, Inc.
ISBN 0-7381-2506-7. EEUU.
(INE, 2009) Instituto Nacional de Estadística (2009). Encuesta sobre el uso de TIC y
comercio electrónico en las empresas. Años 2003-2008. España.
232 Difusión Masiva de Información en los Modelos de Gestión
(Lin y Paul, 1996) J.C. Lin y S. Paul. (1996). RMTP: A Reliable Multicast Transport Protocol.
Proceedings of IEEE INFOCOM ’96. pp. 1414-1424.
(Lu et al., 2009) ZhiHui Lu, JiaJun Wang, Yu Wu, Jie Wu, YiPing Zhong (2009). MWS-
MCS: A Novel Multi-agent-assisted and WS-Management-based
Composite Service Management Scheme. IEEE International
Conference on Web Services, 2009. ICWS 2009. pp. 1041-1042.
(Maciá et al., 2006) F. Maciá Pérez, V. Gilart Iglesias, D. Marcos Jorquera, J.A. Gil Martínez-
Abarca (2006). Network Service Providing by means of Embedded Systems. 2006
IEEE International Conference on Industrial Informatics.
(Maciá et al., 2007) F. Maciá Pérez, D. Marcos Jorquera, V. Gilart Iglesias (2007). Embedded
Web Services for Industrial TCP/IP Services Monitoring. Proceedings of the
12th IEEE International Conference on Emerging Technologies and
Factory Automation (ETFA'07).
(Maciá et al., 2008) F. Maciá Pérez, D. Marcos Jorquera, V. Gilart Iglesias (2008). Industrial
TCP/IP Services Monitoring through Embedded Web Services. EURASIP
Journal on Embedded Systems.
(Maciá et al., 2009) F. Maciá Pérez, D. Marcos Jorquera, V. Gilart Iglesias (2009). Energy
Management System as a Embedded Service: Saving Energy Consumption of ICT.
Architecture of Computing Systems - ARCS 2009. 22nd International
Conference. Delft, The Netherlands, March 2009. Proceedings. Lecture
Notes in Computer Science 5455.
(Maciá et al., 2010a) F. Maciá Pérez, J.A. Gil Martínez Abarca, H. Ramos Morillo, F. Mora
Gimeno, D. Marcos Jorquera, V. Gilart Iglesias (Aceptado y pendiente
de publicación). Wake on LAN over Internet as Web Service System on Chip.
IEEE Transactions on Industrial Electronics.
(Maciá et al., 2010b) F. Maciá Pérez, F. Mora Gimeno, D. Marcos Jorquera, J.A. Gil Martínez-
Abarca, H. Ramos Morillo, I. Lorenzo Fonseca (Aceptado y pendiente
de publicación). Network Intrusion Detection System Embedded on a Smart
Sensor. IEEE Transactions on Industrial Electronics.
Referencias 233
(Mankin et al., 1998) A. Mankin, A. Romanow, S. Bradner y V. Paxson (1998). IETF Criteria
For Evaluating Reliable Multicast Transport and Application Protocols. Request
for Comments 2357.
(Marcos et al., 2006a) D. Marcos Jorquera, F. Maciá Pérez, V. Gilart Iglesias, J.V. Berná
Martínez (2006). Business Continuity Model. Regeneration System for
Manufacturing Components. Proceedings of the 10th IEEE International
Enterprise Distributed Object Computing Conference EDOC 2006.
(Marcos et al., 2006b) D. Marcos Jorquera, F. Maciá Pérez, V. Gilart Iglesias, A. Capella D'alton
(2006). Fault Tolerance for Manufacturing Components. Proceedings of the
11th IEEE International Conference on Emerging Technologies and
Factory Automation (ETFA'06).
(Marcos et al., 2006c) D. Marcos Jorquera, F. Maciá Pérez, V. Gilart Iglesias, J.A. Gil Martínez-
Abarca (2006). High Availability for Manufacturing Components. 2006 IEEE
International Conference on Industrial Informatics. 2006.
(Marcos et al., 2007) D. Marcos Jorquera; F. Maciá Pérez; V. Gilart Iglesias; J.A. Gil Martínez-
Abarca (2007). Service model for the management of industrial
environments. Dynamic reconfiguration of production elements. 5th
IEEE International Conference on Industrial Informatics. Conference
Proceedings. Vol. 1. pp 249-254.
(Marcos et al., 2007) D. Marcos Jorquera, F. Maciá Pérez, V. Gilart Iglesias, J.A. Gil Martínez-
Abarca. Service model for the management of industrial environments. Dynamic
reconfiguration of production elements. 5th IEEE International Conference on
Industrial Informatics. Conference Proceedings.
(Marcos et al., 2009) D. Marcos Jorquera, F. Maciá Pérez, V. Gilart Iglesias, J. Gea Martínez,
A. Ferrándiz Colmeiro (2009). Management system for manufacturing
components aligned with the organisation IT systems. 7th International
Conference on Practical Application of Agents and Multi-Agents
Systems (PAAMS 2009). Advances in Intelligent and Soft Computing 55.
(McCloghrie & Rose, K. McCloghrie, M. Rose (1991). Management Information Base for Network
1991) Management of TCP/IP-based internets: MIB-II. Request for Comments
1213. Network Working Group.
(Miller et al., 1997) K. Miller, K. Robertson, A. Tweedly, M. White (1997). StarBusrt Multicast
File Transfer Protocol (MFTP) Specification. Internet Draft.
(Miller, 1997) K. Miller (1997). Reliable Multicast Protocols: A Practical View. Proceedings
of the 22nd IEEE Conference on Local Computer Networks (LCN’97).
234 Difusión Masiva de Información en los Modelos de Gestión
(Park et al., 2006) Jong-Geun Park, Chang-Won Ahn, Hee-Nam Ch,o Il-Soo Byun, F.
Desmons, Seong-Woon Kim (2006). A method for representing and
transporting CIM operations using binary XML in the WBEM
architecture. The 8th International Conference Advanced
Communication Technology, 2006. ICACT 2006. pp. 2049-2053.
(Radic et al., 2007) Radic, B., Kajic, V., Imamagic, E. (2007). Optimization of Data Transfer
for Grid Using GridFTP. 29th International Conference on Information
Technology Interfaces, 2007. ITI 2007. pp. 709-715.
(Rose & McCloghrie, M. Rose, K. McCloghrie (1990). Structure and Identification of Management
1990) Information for TCP/IP-based Internets. Request for Comments 1155.
Network Working Group.
(Sundaram et al., Sundaram, S., Jong-Cheol Seo, Abdurakhmanov, A., Young-Tak Kim
2006) (2006). Design and Implementation of WBEM-based Network
Management System for Inter-AS Traffic Engineering. Fourth
International Conference on Software Engineering Research,
Management and Applications, 2006.
(Tunpan y Corson, A. Tunpan y M. S. Corson (2000). Bulk Data Multicast Rate Scheduling For
2000) Hybrid Heterogeneous Satellite-Terrestrial Networks. Proceedings of the Fifth
IEEE Symposium on Computers and Communications (ISCC 2000).
pp. 238.
Referencias 235
(Voruganti, 1994) Voruganti, R.R. (1994). A global network management framework for the '90s.
IEEE Communications Magazine. Vol. 32 issue 8 pp. 74-83.
(Wu & Wang, 2009) Tai-Ting Wu; Kuochen Wang (2009). An efficient load balancing scheme for
resilient search in KAD peer to peer networks. IEEE 9th Malaysia International
Conference on Communications (MICC).pp. 759 - 764.
(Wu et al., 2006) Song Wu, Hai Jin, Kang He, Zongwei Luo (2006). A Data Transfer
Scheme of Grid Workflow Based on Weighted Directed Graph. Fifth
International Conference on Grid and Cooperative Computing
Workshops, 2006. GCCW '06. pp. 491-495.
(Zhao et al., 2009) Guanghui Zhao, Chunli Wang, Dan Liu, Chengming Zou (2009).
Research and Implementation of Data Transfer in Grid. International
Conference on Future Computer and Communication, 2009. FCC '09.
pp. 12-15.