11.05.2013 Views

Mecanismos de Difusión Masiva en Aplicaciones Distribuidas - dtic ...

Mecanismos de Difusión Masiva en Aplicaciones Distribuidas - dtic ...

Mecanismos de Difusión Masiva en Aplicaciones Distribuidas - dtic ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Mecanismos</strong> <strong>de</strong> <strong>Difusión</strong> <strong>Masiva</strong><br />

<strong>en</strong> <strong>Aplicaciones</strong> <strong>Distribuidas</strong><br />

Diego Marcos Jorquera, Virgilio Gilart Iglesias,<br />

Francisco José Mora Gim<strong>en</strong>o y Francisco Maciá Pérez<br />

En la actualidad, y motivado <strong>en</strong>tre otras cosas por la llegada <strong>de</strong> los servicios<br />

integrales por Internet, muchos <strong>de</strong> los pres<strong>en</strong>tes procesos <strong>de</strong> transmisión <strong>de</strong><br />

información suel<strong>en</strong> estar marcados por dos características difer<strong>en</strong>ciadoras: se<br />

transfier<strong>en</strong> gran<strong>de</strong>s volúm<strong>en</strong>es <strong>de</strong> información y a un elevado número <strong>de</strong><br />

<strong>de</strong>stinatarios. Con la tecnología que v<strong>en</strong>imos usando hasta el mom<strong>en</strong>to<br />

ori<strong>en</strong>tada a las comunicaciones uno a uno estas trasmisiones supon<strong>en</strong> un<br />

serio problema ya que saturan los canales <strong>de</strong> comunicación y se produc<strong>en</strong><br />

altos retardos <strong>en</strong> el proceso global <strong>de</strong> comunicación. En este s<strong>en</strong>tido las<br />

nuevas tecnologías <strong>de</strong> comunicaciones uno a muchos o muchos a muchos<br />

aportan una solución mucho más escalable al problema <strong>de</strong> la difusión <strong>de</strong><br />

información masiva. En el pres<strong>en</strong>te docum<strong>en</strong>to se analiza la incorporación <strong>de</strong><br />

procesos <strong>de</strong> comunicación multicast <strong>en</strong> aplicaciones que requier<strong>en</strong> la<br />

transmisión confiable <strong>de</strong> gran<strong>de</strong>s volúm<strong>en</strong>es <strong>de</strong> información <strong>de</strong> carácter<br />

g<strong>en</strong>érico a través <strong>de</strong> re<strong>de</strong>s <strong>de</strong> comunicación sobre las que no se ti<strong>en</strong>e ningún<br />

control, proponi<strong>en</strong>do como caso <strong>de</strong> uso la incorporación <strong>de</strong> procesos <strong>de</strong><br />

difusión <strong>en</strong> Gaia, un sistema <strong>de</strong> reg<strong>en</strong>eración <strong>de</strong> nodos.<br />

1 Introducción<br />

La comunicación y el uso <strong>de</strong> re<strong>de</strong>s <strong>de</strong> computadores, así como su<br />

rápida y amplia expansión <strong>en</strong> la sociedad actual, han revolucionado la<br />

forma <strong>en</strong> la que nos relacionamos, trabajamos o nos divertimos. La<br />

aceptación <strong>de</strong> las nuevas tecnologías es cada vez mayor y su uso se ha


increm<strong>en</strong>tado <strong>de</strong> manera espectacular <strong>en</strong> los últimos años. Por ello las<br />

tecnologías e infraestructuras que hac<strong>en</strong> posible su uso han t<strong>en</strong>ido<br />

que sufrir los efectos <strong>de</strong> este escalado, adaptándose <strong>en</strong> la medida <strong>de</strong><br />

lo posible a las nuevas necesida<strong>de</strong>s.<br />

En la actualidad muchos <strong>de</strong> los procesos <strong>de</strong> transmisión <strong>de</strong><br />

información suel<strong>en</strong> estar marcados por dos características<br />

difer<strong>en</strong>ciadoras: gran<strong>de</strong>s volúm<strong>en</strong>es <strong>de</strong> información y elevado número<br />

<strong>de</strong> <strong>de</strong>stinatarios. Con la tecnología que v<strong>en</strong>imos usando hasta el<br />

mom<strong>en</strong>to estas trasmisiones supon<strong>en</strong> un serio problema ya que<br />

saturan los canales <strong>de</strong> comunicación y se produc<strong>en</strong> altos retardos <strong>en</strong><br />

el proceso global <strong>de</strong> comunicación.<br />

<br />

<br />

Servidor<br />

Internet<br />

Fig. 1. Esquema <strong>de</strong>l proceso <strong>de</strong> difusión <strong>de</strong> información masiva a múltiples<br />

<strong>de</strong>stinatarios mediante re<strong>de</strong>s heterogéneas<br />

El Grupo <strong>de</strong> Re<strong>de</strong>s <strong>de</strong> la Unidad Singular <strong>de</strong> Investigación Re<strong>de</strong>s <strong>de</strong><br />

Computadores e Informática Industrial <strong>de</strong>l Departam<strong>en</strong>to <strong>de</strong><br />

Tecnología Informática y Computación <strong>de</strong> la Universidad <strong>de</strong> Alicante<br />

c<strong>en</strong>traliza mucha <strong>de</strong> su actividad <strong>en</strong> el estudio y realización <strong>de</strong><br />

sistemas que facilit<strong>en</strong> la gestión y mant<strong>en</strong>imi<strong>en</strong>to <strong>de</strong> las re<strong>de</strong>s <strong>de</strong><br />

computadores. En este ámbito, el grupo ha <strong>de</strong>sarrollado un sistema,<br />

<strong>de</strong>nominado Gaia [1], <strong>de</strong>dicado a la reg<strong>en</strong>eración <strong>de</strong> nodos <strong>de</strong> red y


que se <strong>en</strong>marca <strong>de</strong>ntro <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong> gran<strong>de</strong>s aplicaciones<br />

distribuidas. Este sistema <strong>de</strong>be realizar transfer<strong>en</strong>cias <strong>de</strong> información<br />

masiva, a través <strong>de</strong> re<strong>de</strong>s <strong>de</strong> comunicaciones <strong>de</strong> área amplia,<br />

heterogéneas y sobre las que no se ti<strong>en</strong>e control ni <strong>de</strong> los dispositivos<br />

<strong>de</strong> networking que la conforman, ni sobre su configuración. Esta<br />

información, ti<strong>en</strong>e como <strong>de</strong>stinatarios <strong>en</strong> multitud <strong>de</strong> ocasiones a más<br />

<strong>de</strong> un equipo al mismo tiempo.<br />

En concreto, el problema que se plantea es la distribución masiva <strong>de</strong><br />

gran<strong>de</strong>s volúm<strong>en</strong>es <strong>de</strong> información a través <strong>de</strong> re<strong>de</strong>s <strong>de</strong> comunicación<br />

heterogéneas, sobre las que no se ti<strong>en</strong>e ningún control, y dirigida a un<br />

también heterogéneo y variable conjunto <strong>de</strong> nodos <strong>de</strong>stino.<br />

Las características que <strong>de</strong>scrib<strong>en</strong> el problema y que se ilustran <strong>en</strong> la<br />

Fig. 1 son:<br />

• Des<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong>l usuario final, la información a difundir<br />

se almac<strong>en</strong>a <strong>en</strong> forma <strong>de</strong> paquetes software <strong>de</strong> información. Cada<br />

paquete supone una unidad funcional in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>te y pue<strong>de</strong> ser<br />

<strong>en</strong>capsulada <strong>en</strong> un único archivo.<br />

• Los paquetes software pue<strong>de</strong>n residir <strong>en</strong> más <strong>de</strong> una ubicación (o<br />

nodo <strong>de</strong> red). Cada nodo que conti<strong>en</strong>e información se <strong>de</strong>nomina<br />

repositorio software. Es <strong>de</strong>s<strong>de</strong> estos repositorios <strong>de</strong>s<strong>de</strong> los que<br />

<strong>de</strong>be difundirse la información hacia los difer<strong>en</strong>tes nodos. Estos<br />

nodos receptores <strong>de</strong> información repres<strong>en</strong>tan los cli<strong>en</strong>tes <strong>de</strong>l<br />

servicio <strong>de</strong> difusión.<br />

• Cada paquete conti<strong>en</strong>e información <strong>de</strong> carácter g<strong>en</strong>érico, <strong>en</strong><br />

formato compactado y codificado. En g<strong>en</strong>eral se <strong>de</strong>be asumir que<br />

son <strong>de</strong> gran tamaño, normalm<strong>en</strong>te <strong>de</strong> ci<strong>en</strong>tos <strong>de</strong> megabytes,<br />

pot<strong>en</strong>cialm<strong>en</strong>te pue<strong>de</strong>n ser <strong>de</strong> cualquier tamaño. En una sesión <strong>de</strong><br />

difusión pue<strong>de</strong>n verse implicados un gran volum<strong>en</strong> <strong>de</strong> paquetes<br />

software <strong>de</strong> difer<strong>en</strong>tes características. Puesto que la información es<br />

<strong>de</strong> carácter totalm<strong>en</strong>te g<strong>en</strong>eral, no pue<strong>de</strong> hacerse uso <strong>de</strong> su<br />

estructura o cont<strong>en</strong>ido para mejorar las características <strong>de</strong> la<br />

difusión o <strong>de</strong> su compresión, como ocurre <strong>en</strong> otros casos; por<br />

ejemplo, <strong>en</strong> el streaming <strong>de</strong> ví<strong>de</strong>o.


• Los cli<strong>en</strong>tes que <strong>de</strong>mandan la información repres<strong>en</strong>tan un conjunto<br />

heterogéneo <strong>de</strong> nodos. Esta diversidad se materializa <strong>en</strong> diversos<br />

aspectos: <strong>de</strong>s<strong>de</strong> su arquitectura, sistema operativo y configuración<br />

tanto software como hardware; pasando por sus difer<strong>en</strong>tes<br />

velocida<strong>de</strong>s <strong>de</strong> transmisión; hasta su funcionalidad. La distancia<br />

<strong>en</strong>tre el emisor y cada cli<strong>en</strong>te podrá ser difer<strong>en</strong>te.<br />

• Para una <strong>de</strong>terminada sesión <strong>de</strong> difusión, el conjunto <strong>de</strong> receptores<br />

pue<strong>de</strong> estar constituido <strong>de</strong>s<strong>de</strong> por un único cli<strong>en</strong>te hasta por un<br />

elevado número <strong>de</strong> nodos (siempre mant<strong>en</strong>i<strong>en</strong>do su<br />

heterog<strong>en</strong>eidad).<br />

• La información <strong>de</strong>be trasladarse a través <strong>de</strong> re<strong>de</strong>s <strong>de</strong><br />

comunicaciones globales, compuestas por dispositivos <strong>de</strong><br />

networking heterogéneos, sobre los que no se ti<strong>en</strong>e, <strong>en</strong> g<strong>en</strong>eral,<br />

control, ni capacidad <strong>de</strong> configuración o administración. Esta<br />

circunstancia impi<strong>de</strong> que se pueda proporcionar calidad <strong>de</strong> servicio<br />

(QoS), realizar reservas <strong>de</strong> ancho <strong>de</strong> banda, utilizar canales fijos, o<br />

mant<strong>en</strong>er las características <strong>de</strong> una comunicación a lo largo <strong>de</strong> todo<br />

el proceso.<br />

o La solución <strong>de</strong>berá ser in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>te <strong>de</strong> la infraestructura<br />

<strong>de</strong> red sobre la que se opere. La información podrá viajar<br />

por difer<strong>en</strong>tes tipos <strong>de</strong> arquitecturas y tecnologías <strong>de</strong> red.<br />

o La topología <strong>de</strong> la red <strong>de</strong> trabajo es variable, pudiéndose<br />

dar cualquier tipo <strong>de</strong> distribución <strong>en</strong>tre las difer<strong>en</strong>tes<br />

subre<strong>de</strong>s que la compongan.<br />

o La velocidad <strong>de</strong> la red podrá variar <strong>en</strong> función <strong>de</strong> la carga<br />

<strong>de</strong> la misma, pudiéndose dar casos <strong>de</strong> elevado uso e<br />

incluso <strong>de</strong> saturación.<br />

• La distribución <strong>de</strong> la información se realizará <strong>en</strong> el ámbito <strong>de</strong>l uso<br />

<strong>de</strong> protocolos <strong>de</strong> red normalizados, como pue<strong>de</strong> ser TCP/IP. La<br />

solución que se ofrezca <strong>de</strong>berá estar acor<strong>de</strong> a los estándares<br />

establecidos, no requiri<strong>en</strong>do la modificación <strong>de</strong> elem<strong>en</strong>tos como<br />

routers o pasarelas.


• La transfer<strong>en</strong>cia <strong>de</strong> un paquete software <strong>de</strong>be <strong>de</strong> ser confiable, <strong>de</strong><br />

manera que se pueda <strong>de</strong>terminar tanto la correcta recepción <strong>de</strong>l<br />

mismo, como que dicha recepción se realiza <strong>de</strong>ntro <strong>de</strong> unos límites<br />

<strong>de</strong> tiempo establecidos.<br />

• Cuando así se requiera, <strong>de</strong>berá po<strong>de</strong>r garantizarse la privacidad <strong>de</strong><br />

la comunicación. Puesto que la información <strong>de</strong>be viajar por medios<br />

sobre los que no se ti<strong>en</strong>e control, se <strong>de</strong>b<strong>en</strong> aplicar técnicas <strong>de</strong><br />

codificación que asegur<strong>en</strong>:<br />

o Al emisor, que la información se dirige al <strong>de</strong>stinatario<br />

<strong>de</strong>seado.<br />

o Al receptor, que dicha información provi<strong>en</strong>e <strong>de</strong>l emisor<br />

esperado.<br />

o A ambos, que la comunicación es privada.<br />

2 Antece<strong>de</strong>ntes<br />

La mayoría <strong>de</strong> los procesos y tecnologías <strong>de</strong> transfer<strong>en</strong>cia <strong>de</strong><br />

información <strong>en</strong>tre equipos utilizando re<strong>de</strong>s <strong>de</strong> computadores han<br />

estado marcados por el uso <strong>de</strong> protocolos fundam<strong>en</strong>tados,<br />

principalm<strong>en</strong>te, <strong>en</strong> técnicas unicast, don<strong>de</strong> el traspaso <strong>de</strong> la<br />

información se realiza <strong>en</strong>tre dos únicos nodos [2].<br />

Otros protocolos, principalm<strong>en</strong>te <strong>de</strong>stinados a procesos <strong>de</strong> control <strong>de</strong><br />

la red [3][4][5], utilizan técnicas <strong>de</strong> broadcast don<strong>de</strong> la información es<br />

<strong>en</strong>viada por un único nodo orig<strong>en</strong>, si<strong>en</strong>do su <strong>de</strong>stino todos los nodos<br />

<strong>de</strong> la red (normalm<strong>en</strong>te <strong>en</strong> el ámbito <strong>de</strong> las re<strong>de</strong>s locales). Estas<br />

tecnologías aprovechan las características que algunos medios ti<strong>en</strong><strong>en</strong><br />

para la difusión <strong>de</strong> información, <strong>de</strong> manera que la información es<br />

<strong>en</strong>viada una sola vez, pudi<strong>en</strong>do llegar <strong>en</strong> una misma transacción a<br />

todos los compon<strong>en</strong>tes <strong>de</strong> la red y reduci<strong>en</strong>do así el trafico <strong>de</strong> red.<br />

Protocolos como TCP/IP [6] basan su filosofía <strong>de</strong> trabajo <strong>en</strong> estas<br />

técnicas, proporcionando a las aplicaciones una capa <strong>de</strong> servicios<br />

mediante la cual po<strong>de</strong>r establecer transfer<strong>en</strong>cia <strong>de</strong> información <strong>en</strong>tre


nodos, con un esquema ori<strong>en</strong>tado a conexión (TCP) o no (UDP).<br />

Mediante estos protocolos se pue<strong>de</strong> satisfacer la mayoría <strong>de</strong> los<br />

requerimi<strong>en</strong>tos <strong>de</strong> las aplicaciones que necesitan una comunicación<br />

bidireccional <strong>en</strong>tre equipos.<br />

Sin embargo y motivado principalm<strong>en</strong>te por la aparición e increm<strong>en</strong>to<br />

<strong>de</strong>l uso <strong>de</strong> los recursos multimedia, que com<strong>en</strong>zó a afianzarse <strong>en</strong> los<br />

años 90, surg<strong>en</strong> una serie <strong>de</strong> nuevos requerimi<strong>en</strong>tos <strong>en</strong> las<br />

comunicaciones que precisan <strong>de</strong> un cambio filosófico <strong>en</strong> la manera <strong>de</strong><br />

transmitir la información [7].<br />

Las características <strong>de</strong> estos nuevos sistemas <strong>de</strong> transfer<strong>en</strong>cia son, por<br />

una parte, la gran cantidad <strong>de</strong> información a transmitir y, por otra, el<br />

elevado numero <strong>de</strong> equipos a los que va <strong>de</strong>stinada dicha información,<br />

<strong>en</strong> algunos casos <strong>de</strong>l or<strong>de</strong>n <strong>de</strong> miles o incluso millones <strong>de</strong> receptores.<br />

Mediante una transfer<strong>en</strong>cia unicast clásica obt<strong>en</strong>dríamos resultados<br />

<strong>de</strong>sfavorables ya que habría que repetir la transfer<strong>en</strong>cia <strong>de</strong> la<br />

información por cada uno <strong>de</strong> los <strong>de</strong>stinatarios, con lo que el resultado<br />

sería un proceso global l<strong>en</strong>to y sobre todo poco escalable. Se hace<br />

necesario pues introducir nuevos mo<strong>de</strong>los <strong>de</strong> trabajo que permitan<br />

aprovechar mejor el uso <strong>de</strong> la red.<br />

Multicast es una tecnología que nos permite transferir la información<br />

<strong>de</strong>s<strong>de</strong> un emisor a un conjunto <strong>de</strong>terminado <strong>de</strong> <strong>de</strong>stinatarios. El uso<br />

<strong>de</strong> técnicas multicast para la transmisión <strong>de</strong> archivos a más <strong>de</strong> un<br />

cli<strong>en</strong>te mejora sustancialm<strong>en</strong>te el r<strong>en</strong>dimi<strong>en</strong>to ya que el equipo orig<strong>en</strong><br />

emite la información una única vez, evitando la repetición <strong>de</strong> la<br />

información a transmitir. Estas técnicas son mucho más escalables a la<br />

hora <strong>de</strong> distribuir la información ya que el <strong>en</strong>vío <strong>de</strong> los datos no es<br />

<strong>de</strong>p<strong>en</strong>di<strong>en</strong>te <strong>de</strong>l número <strong>de</strong> <strong>de</strong>stinatarios [8].<br />

Una utilización clara <strong>de</strong>l uso <strong>de</strong>l multicast, y precursora <strong>en</strong> cierta<br />

manera <strong>de</strong> su <strong>de</strong>sarrollo, es el streaming <strong>de</strong> audio o vi<strong>de</strong>o. En este tipo<br />

<strong>de</strong> aplicaciones un servidor emite <strong>de</strong> manera continua un flujo <strong>de</strong><br />

paquetes cont<strong>en</strong>i<strong>en</strong>do la información multimedia que los cli<strong>en</strong>tes<br />

<strong>de</strong>b<strong>en</strong> pres<strong>en</strong>tar. Los cli<strong>en</strong>tes, según van recibi<strong>en</strong>do estos paquetes,<br />

van reproduci<strong>en</strong>do la información <strong>en</strong> tiempo real <strong>en</strong> función <strong>de</strong> su tipo<br />

y el dispositivo final <strong>en</strong> el que se está pres<strong>en</strong>tando. En caso <strong>de</strong> que se


pierda uno o más paquetes <strong>de</strong> la secu<strong>en</strong>cia, el cli<strong>en</strong>te lo refleja<br />

mediante una pausa puntual <strong>en</strong> la reproducción o un <strong>de</strong>crem<strong>en</strong>to <strong>de</strong> la<br />

calidad, resolución o frecu<strong>en</strong>cia <strong>de</strong>l cont<strong>en</strong>ido. Esto es posible ya que<br />

exist<strong>en</strong> codificaciones <strong>de</strong> cont<strong>en</strong>idos multimedia que nos permit<strong>en</strong><br />

realizar su reproducción <strong>en</strong> condiciones <strong>de</strong> pérdida <strong>de</strong> información. En<br />

cualquier caso el cli<strong>en</strong>te normalm<strong>en</strong>te no necesita comunicarse con el<br />

equipo orig<strong>en</strong> para informar <strong>de</strong> la pérdida <strong>de</strong> datos, es <strong>de</strong>cir, se trata<br />

<strong>de</strong> una comunicación unidireccional y no confiable. Usando este tipo<br />

<strong>de</strong> comunicación el sistema es altam<strong>en</strong>te escalable ya que la<br />

transmisión se realiza <strong>de</strong> manera in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>te al número <strong>de</strong><br />

<strong>de</strong>stinatarios.<br />

Sin embargo, <strong>en</strong> otros esc<strong>en</strong>arios necesitamos que el sistema sea<br />

confiable, es <strong>de</strong>cir, t<strong>en</strong>emos que asegurar la total recepción <strong>de</strong> la<br />

información por parte <strong>de</strong> los <strong>de</strong>stinatarios. Pongamos como ejemplo<br />

un servidor <strong>de</strong> software que necesita <strong>en</strong>viar la instalación <strong>de</strong> una<br />

aplicación a ci<strong>en</strong>tos o miles <strong>de</strong> cli<strong>en</strong>tes. Al final <strong>de</strong> la transmisión<br />

t<strong>en</strong>emos que asegurar que todos los cli<strong>en</strong>tes han recibido la totalidad<br />

<strong>de</strong>l paquete software. En estos casos la escalabilidad <strong>de</strong>l sistema está<br />

más cuestionada, ya que la simple confirmación <strong>de</strong> la recepción <strong>de</strong> la<br />

información se multiplica por el número <strong>de</strong> cli<strong>en</strong>tes, por lo que se<br />

pu<strong>de</strong> saturar la red con los paquetes <strong>de</strong> control.<br />

La Tabla 1 muestra una distribución <strong>de</strong> los difer<strong>en</strong>tes tipos <strong>de</strong><br />

aplicaciones que nos po<strong>de</strong>mos <strong>en</strong>contrar <strong>en</strong> función <strong>de</strong>l tipo <strong>de</strong> datos<br />

y el tipo <strong>de</strong> transmisión.<br />

Tabla 1. Tipos <strong>de</strong> aplicaciones multicast.<br />

En tiempo real Sin tiempo real<br />

Multimedia Streaming <strong>de</strong> vi<strong>de</strong>o<br />

Streaming <strong>de</strong> audio<br />

Vi<strong>de</strong>oconfer<strong>en</strong>cia<br />

Datos<br />

Distribución <strong>de</strong> noticias<br />

Juegos interactivos<br />

M<strong>en</strong>sajería instantánea<br />

Descarga <strong>de</strong> vi<strong>de</strong>o<br />

Descarga <strong>de</strong> música<br />

Replicación <strong>de</strong> repositorios multimedia<br />

Descarga <strong>de</strong> archivos<br />

Bases <strong>de</strong> datos replicadas<br />

Distribución <strong>de</strong> software<br />

Re<strong>de</strong>s <strong>de</strong> compartición <strong>de</strong> archivos


2.1 Multicast sobre IP<br />

En el caso <strong>de</strong>l protocolo IP el soporte para multicast fue implem<strong>en</strong>tado<br />

por primera vez <strong>en</strong> el año 1993 mediante una ampliación <strong>de</strong> dicho<br />

protocolo.<br />

El funcionami<strong>en</strong>to <strong>de</strong>l multicast sobre IP está fundam<strong>en</strong>tado <strong>en</strong> la<br />

suscripción a grupos <strong>de</strong> difusión [9]. Cada grupo <strong>de</strong> difusión esta<br />

asociado a una dirección IP que lo i<strong>de</strong>ntifica. Para ello se reservaron un<br />

conjunto <strong>de</strong> direcciones IP <strong>de</strong>nominadas <strong>de</strong> ‘clase D’ <strong>de</strong>stinadas a las<br />

comunicaciones <strong>en</strong> multicast. En concreto, estas direcciones son<br />

aquéllas que empiezan con el prefijo ‘1110’, es <strong>de</strong>cir, las<br />

compr<strong>en</strong>didas <strong>en</strong> el rango <strong>de</strong> 224.0.0.0 a 239.255.255.255 (ver Tabla<br />

2). De este conjunto, las compr<strong>en</strong>didas <strong>en</strong>tre la dirección 224.0.0.0 y<br />

la 224.0.0.255 están reservadas para tareas administrativas y <strong>de</strong><br />

mant<strong>en</strong>imi<strong>en</strong>to multicast.<br />

Tabla 2. Distribución <strong>de</strong> direcciones IP<br />

Clase Prefijo Dirección inicial Dirección final<br />

A 0 0.0.0.0 127.255.255.255<br />

B 10 128.0.0.0 191.255.255.255<br />

C 110 192.0.0.0 223.255.255.255<br />

D 1110 224.0.0.0 239.255.255.255<br />

Un equipo que <strong>de</strong>sea recibir paquetes difundidos por otro equipo se<br />

suscribe a una <strong>de</strong>terminada dirección IP <strong>de</strong> multicast. A partir <strong>de</strong> ese<br />

mom<strong>en</strong>to el protocolo <strong>de</strong> red se <strong>en</strong>cargará no sólo <strong>de</strong> hacer llegar a<br />

las aplicaciones <strong>de</strong>l equipo los paquetes <strong>de</strong>stinados a la propia<br />

dirección IP <strong>de</strong>l equipo, sino que también hará llegar los paquetes<br />

<strong>de</strong>stinados a las direcciones IP multicast a las que el equipo se ha<br />

suscrito. En cualquier mom<strong>en</strong>to el equipo podrá darse <strong>de</strong> baja <strong>de</strong> un<br />

grupo <strong>de</strong> difusión, con lo que <strong>de</strong>jaría <strong>de</strong> recibir los paquetes <strong>en</strong>viados<br />

a la dirección IP asociada.<br />

Por otra parte el equipo que <strong>de</strong>see <strong>en</strong>viar un paquete al grupo <strong>de</strong><br />

difusión simplem<strong>en</strong>te t<strong>en</strong>drá que <strong>en</strong>viar el paquete a la dirección IP


asociada al grupo, como si la dirección se correspondiera a un nodo<br />

más <strong>de</strong> la red.<br />

El multicast para IP está disponible tanto para el <strong>en</strong>vío <strong>de</strong> paquetes IP<br />

como para paquetes UDP. Evi<strong>de</strong>ntem<strong>en</strong>te con TCP no se pue<strong>de</strong> realizar<br />

multicast ya que se trata <strong>de</strong> un protocolo confiable ori<strong>en</strong>tado a la<br />

conexión <strong>en</strong>tre dos nodos. Con el uso <strong>de</strong> UDP obt<strong>en</strong>emos<br />

principalm<strong>en</strong>te dos v<strong>en</strong>tajas respecto a usar simplem<strong>en</strong>te IP:<br />

conseguimos una multiplexación por aplicación mediante el uso <strong>de</strong> los<br />

puertos <strong>de</strong> comunicaciones y po<strong>de</strong>mos establecer un código <strong>de</strong><br />

<strong>de</strong>tección <strong>de</strong> errores (checksum) para los datos.<br />

Para conseguir que los paquetes emitidos <strong>de</strong>s<strong>de</strong> un nodo llegu<strong>en</strong> a<br />

todos los nodos suscritos al grupo multicast, los nodos y routers que<br />

soportan multicast se comunican mediante un protocolo <strong>de</strong>nominado<br />

Internet Group Managem<strong>en</strong>t Protocol – IGMP [6]. Mediante IGMP se<br />

actualizan las tablas <strong>de</strong> <strong>en</strong>rutami<strong>en</strong>to <strong>de</strong> los routers, <strong>de</strong> manera que<br />

durante la transmisión multicast éstos pue<strong>de</strong>n t<strong>en</strong>er la información<br />

necesaria para difundir la información a<strong>de</strong>cuadam<strong>en</strong>te. Cada vez que<br />

un nodo se incorpora o abandona un grupo informa mediante este<br />

protocolo su interés o no <strong>en</strong> recibir paquetes <strong>de</strong>stinados a la dirección<br />

IP asociada.<br />

Sin embargo <strong>en</strong> la actualidad ni todos los equipos ni todos los routers<br />

soportan el multicast ya que no es obligatorio <strong>en</strong> la especificación IPv4<br />

(<strong>en</strong> IPv6 si es obligatorio), con lo que <strong>en</strong> un principio esto impediría el<br />

uso <strong>de</strong> esta tecnología <strong>en</strong>tre algunos equipos. Para solucionarlo pu<strong>de</strong><br />

utilizarse MBONE (Multicast Backbone).<br />

Mediante MBONE [10], cuando un paquete multicast <strong>de</strong>be traspasar un<br />

router que no soporta multicast, el paquete es <strong>en</strong>capsulado <strong>en</strong> un<br />

paquete unicast (IP <strong>de</strong>ntro <strong>de</strong> IP) <strong>de</strong> manera que pue<strong>de</strong> transportarse<br />

sin problemas por cualquier ruta. Posteriorm<strong>en</strong>te, <strong>en</strong> el router <strong>de</strong>stino,<br />

el paquete será recompuesto para obt<strong>en</strong>er el paquete original. Los dos<br />

extremos que conviert<strong>en</strong> <strong>de</strong> multicast a unicast y <strong>de</strong> nuevo a multicast<br />

<strong>de</strong>fin<strong>en</strong> lo que se <strong>de</strong>nomina un túnel multicast.


Los túneles <strong>en</strong>lazan lo que se podría <strong>de</strong>nominar islas multicast, por lo<br />

que, <strong>en</strong> conjunto, MBONE establece una red virtual <strong>de</strong> comunicación<br />

multicast.<br />

2.2 Confiabilidad<br />

En comunicaciones, la confiabilidad hace refer<strong>en</strong>cia a las<br />

transfer<strong>en</strong>cias <strong>en</strong> las que la información <strong>de</strong>be llegar <strong>de</strong> manera<br />

completa al <strong>de</strong>stinatario para ser útil [11]. Cuando por cualquier<br />

motivo la información no ha sido <strong>en</strong>tregada completam<strong>en</strong>te, <strong>de</strong>be<br />

informarse <strong>de</strong>l fallo a los compon<strong>en</strong>tes <strong>de</strong> la comunicación<br />

(normalm<strong>en</strong>te al emisor). Si <strong>en</strong> el proceso <strong>de</strong> comunicación no se<br />

pue<strong>de</strong> garantizar la <strong>en</strong>trega <strong>de</strong> la información, se consi<strong>de</strong>ra que es una<br />

transmisión no confiable. Si nos fijamos <strong>en</strong> la Tabla 1 solam<strong>en</strong>te la<br />

cuadrícula<br />

confiables.<br />

superior izquierda correspon<strong>de</strong> a aplicaciones no<br />

En una transmisión confiable clásica, para asegurar la recepción <strong>de</strong> la<br />

información, una <strong>de</strong> las técnicas más utilizadas es el uso <strong>de</strong> los<br />

paquetes <strong>de</strong> confirmación (ACK’s). En este esquema el emisor es el<br />

responsable <strong>de</strong> realizar la corrección <strong>de</strong> errores.<br />

Mediante el uso <strong>de</strong> los ACK’s no sólo conseguimos una transmisión<br />

confiable, también conseguimos una sincronización <strong>en</strong>tre el emisor y<br />

el receptor, dado que el emisor no <strong>en</strong>vía un nuevo paquete hasta que<br />

no ha confirmado la recepción <strong>de</strong>l anterior.<br />

El uso <strong>de</strong> estas técnicas basadas <strong>en</strong> los paquetes <strong>de</strong> confirmación para<br />

conseguir una comunicación confiable trasladada al caso <strong>de</strong>l multicast<br />

conlleva un gran problema: la falta <strong>de</strong> escalabilidad. Supongamos que<br />

un emisor <strong>en</strong>vía un paquete a un conjunto <strong>de</strong> N receptores. Cuando el<br />

paquete es recibido por los receptores se g<strong>en</strong>eran N ACK’s informando<br />

al emisor <strong>de</strong> su correcta recepción. Esto, para un número <strong>de</strong><br />

receptores elevado, provocaría que tanto la red como el emisor se<br />

saturas<strong>en</strong> con los paquetes <strong>de</strong> control. Es más, posiblem<strong>en</strong>te, el alto<br />

número <strong>de</strong> paquetes haría que muchos <strong>de</strong> ellos se perdieran o fueran<br />

<strong>de</strong>scartados por el emisor <strong>de</strong>bido a dicha saturación, con lo que se


g<strong>en</strong>erarían más re<strong>en</strong>víos <strong>de</strong> paquetes, empeorando aún más, si cabe,<br />

la situación.<br />

Es necesario, pues, aplicar otro tipo <strong>de</strong> técnicas que aport<strong>en</strong><br />

soluciones más escalables a la hora <strong>de</strong> transmitir información <strong>de</strong><br />

forma confiable mediante multicast.<br />

2.3 Protocolo <strong>de</strong> transporte multicast<br />

A la hora <strong>de</strong> resolver un problema mediante el uso <strong>de</strong> técnicas<br />

multicast confiable, los diseñadores optan por realizar una <strong>de</strong> las dos<br />

sigui<strong>en</strong>tes estrategias: crear una capa <strong>de</strong> transporte g<strong>en</strong>érica que<br />

resuelva <strong>de</strong> manera g<strong>en</strong>eral el problema <strong>de</strong> la comunicación multicast<br />

o crear un protocolo que resuelva las necesida<strong>de</strong>s particulares que<br />

requiere cada aplicación [12].<br />

Con la primera opción se pret<strong>en</strong><strong>de</strong> conseguir un protocolo lo<br />

sufici<strong>en</strong>tem<strong>en</strong>te abierto como para po<strong>de</strong>r ser utilizado por cualquier<br />

aplicación que requiera una comunicación multicast y confiable, <strong>de</strong><br />

igual manera que TCP proporciona análogas características <strong>en</strong> unicast.<br />

Si TCP nos ofrece una capa <strong>de</strong> transporte que realiza una corrección<br />

<strong>de</strong> errores y una or<strong>de</strong>nación <strong>de</strong> los paquetes <strong>en</strong>viados, las<br />

características que <strong>de</strong>bería aportar un protocolo g<strong>en</strong>érico <strong>de</strong> multicast<br />

confiable serían:<br />

• Sincronización <strong>en</strong> la comunicación: control <strong>de</strong>l ratio <strong>de</strong> <strong>en</strong>vío <strong>en</strong><br />

función <strong>de</strong> la velocidad <strong>de</strong> lectura <strong>de</strong> los receptores y la saturación<br />

<strong>de</strong> la red.<br />

• Escalabilidad: in<strong>de</strong>p<strong>en</strong><strong>de</strong>ncia respecto <strong>de</strong>l número <strong>de</strong> receptores.<br />

• Corrección <strong>de</strong> errores: control <strong>de</strong> paquetes perdidos <strong>en</strong> la<br />

comunicación.<br />

• Or<strong>de</strong>nación <strong>de</strong> paquetes: mant<strong>en</strong>imi<strong>en</strong>to <strong>en</strong> el <strong>de</strong>stino <strong>de</strong>l or<strong>de</strong>n<br />

secu<strong>en</strong>cial <strong>de</strong> los paquetes.<br />

• In<strong>de</strong>p<strong>en</strong><strong>de</strong>ncia <strong>de</strong> la red: transpar<strong>en</strong>cia ante las difer<strong>en</strong>tes<br />

topologías y arquitecturas <strong>de</strong> red.


Fig 2. Esquema <strong>de</strong> capas <strong>de</strong> un protocolo <strong>de</strong> transporte multicast y conjunto<br />

<strong>de</strong> carácterísticas<br />

Con la segunda estrategia conseguimos un protocolo que, si bi<strong>en</strong> no<br />

pu<strong>de</strong> ser usado por cualquier aplicación, sí nos aporta una solución<br />

optimizada para cada problema. Se pue<strong>de</strong> dar el caso <strong>de</strong> aplicaciones<br />

que, por ejemplo, no requieran una or<strong>de</strong>nación <strong>de</strong> paquetes, o que<br />

necesit<strong>en</strong> funcionar solam<strong>en</strong>te para una <strong>de</strong>terminada topología. En<br />

estos casos un protocolo específico podría dar mejores resultados que<br />

con una estrategia <strong>de</strong> carácter g<strong>en</strong>eral. En otros casos se hace<br />

necesaria la utilización <strong>de</strong> protocolos específicos, ya que se dan<br />

condiciones <strong>de</strong>terminantes para su uso, como podría ser el caso <strong>de</strong><br />

comunicaciones don<strong>de</strong> no existe un canal <strong>de</strong> retorno.<br />

2.4 Escalabilidad<br />

Como hemos visto, la principal causa <strong>de</strong> la falta <strong>de</strong> escalabilidad <strong>en</strong> la<br />

transmisión multicast confiable es el problema con la información <strong>de</strong><br />

vuelta, es <strong>de</strong>cir, <strong>de</strong> los paquetes <strong>de</strong> control que <strong>en</strong>vían los receptores<br />

al emisor. Por muy poca que sea esta información, si el número <strong>de</strong><br />

receptores llega a ser muy alto, el emisor terminaría por saturarse, con<br />

lo que no se podría garantizar la escalabilidad <strong>de</strong> la comunicación<br />

[13].


Para evitar esta saturación <strong>en</strong> el canal <strong>de</strong> retorno, una <strong>de</strong> las técnicas<br />

que suel<strong>en</strong> aplicarse es cambiar las confirmaciones por paquetes <strong>de</strong><br />

información <strong>de</strong> pérdidas (NACK’s) [11].<br />

En casos <strong>de</strong> pocas pérdidas <strong>en</strong> la comunicación, esta técnica reduce<br />

drásticam<strong>en</strong>te la información <strong>de</strong> control <strong>en</strong> la comunicación e incluso,<br />

<strong>en</strong> casos óptimos, podría evitarse totalm<strong>en</strong>te.<br />

Sin embargo la falta <strong>de</strong> confirmación por parte <strong>de</strong> los receptores<br />

produce una serie <strong>de</strong> inconv<strong>en</strong>i<strong>en</strong>tes. En el caso <strong>de</strong> que por ejemplo <strong>en</strong><br />

todo el proceso <strong>de</strong> transmisión no se produzca la recepción por parte<br />

<strong>de</strong>l emisor <strong>de</strong> ningún paquete NACK, no significa que todos los<br />

paquetes <strong>de</strong> datos hayan sido recibidos por todos los receptores;<br />

pue<strong>de</strong> existir algún problema <strong>en</strong> el canal <strong>de</strong> vuelta que evite la<br />

recepción <strong>de</strong> dichos paquetes. Por lo tanto, con el simple uso <strong>de</strong> los<br />

paquetes NACK no se pue<strong>de</strong> garantizar la confiabilidad <strong>de</strong> la<br />

comunicación. Una posible solución a este problema sería el <strong>en</strong>vío <strong>de</strong><br />

un único paquete <strong>de</strong> confirmación al final <strong>de</strong> toda la transmisión, <strong>de</strong><br />

manera que el servidor tuviera la seguridad <strong>de</strong> la correcta recepción <strong>de</strong><br />

la información. Esto implicaría una pérdida <strong>de</strong> escalabilidad por la<br />

<strong>de</strong>p<strong>en</strong><strong>de</strong>ncia que volveríamos a t<strong>en</strong>er <strong>de</strong>l número <strong>de</strong> receptores, si<br />

bi<strong>en</strong> este <strong>en</strong>vío sería único y localizado siempre al final <strong>de</strong> la<br />

transmisión.<br />

2.5 Control <strong>de</strong> flujo<br />

Otro <strong>de</strong> los problemas que se plantea con el cambio <strong>de</strong> ACK’s por<br />

NACK’s es la pérdida <strong>de</strong> la sincronización <strong>en</strong> la comunicación. Si bi<strong>en</strong><br />

mediante el uso <strong>de</strong> las confirmaciones el emisor y el receptor se<br />

<strong>en</strong>cu<strong>en</strong>tran siempre acompasados <strong>en</strong> el flujo <strong>de</strong> la transmisión ya que<br />

el emisor no <strong>en</strong>vía el sigui<strong>en</strong>te paquete hasta no t<strong>en</strong>er confirmado el<br />

anterior, con el uso <strong>de</strong> NACK’s esto no pue<strong>de</strong> realizarse. Mi<strong>en</strong>tras el<br />

emisor difun<strong>de</strong> los paquetes <strong>de</strong> datos no ti<strong>en</strong>e información sobre el<br />

estado ni la cantidad <strong>de</strong> paquetes recibidos por cada receptor. El<br />

principal problema que se <strong>de</strong>riva <strong>de</strong> esta situación es una falta <strong>en</strong> el<br />

control <strong>de</strong> flujo o ratio <strong>de</strong> transmisión, es <strong>de</strong>cir, el emisor podría estar


difundi<strong>en</strong>do los paquetes a una velocidad superior a la que algunos<br />

receptores podrían estar ley<strong>en</strong>do, o por el contrario, el canal podría<br />

estar <strong>de</strong>saprovechado al usar un ratio muy bajo. Este inconv<strong>en</strong>i<strong>en</strong>te<br />

también ocurriría si alguno <strong>de</strong> los routers intermedios sufriera un<br />

problema parecido y <strong>de</strong>scartara algunos <strong>de</strong> los paquetes <strong>de</strong> datos por<br />

falta <strong>de</strong> capacidad. Las consecu<strong>en</strong>cias <strong>de</strong> estas pérdidas (ya sea <strong>en</strong> el<br />

<strong>de</strong>stino como <strong>en</strong> los routers intermedios) son nefastas: algunos<br />

<strong>de</strong>stinatarios <strong>de</strong>tectarían <strong>de</strong> manera sistemática huecos <strong>en</strong> la<br />

secu<strong>en</strong>cia <strong>de</strong> recepción y saturarían al servidor con paquetes NACK.<br />

Este ciclo <strong>de</strong> continuas pérdidas y solicitu<strong>de</strong>s <strong>de</strong> re<strong>en</strong>vío producirían<br />

una clara inestabilidad <strong>en</strong> la comunicación [14].<br />

Utilizando ratios <strong>de</strong> <strong>en</strong>vío muy bajos o al m<strong>en</strong>os tan bajos como el<br />

ratio <strong>de</strong> recepción <strong>de</strong>l <strong>de</strong>stinatario más l<strong>en</strong>to tampoco solucionaría el<br />

problema. T<strong>en</strong>gamos <strong>en</strong> cu<strong>en</strong>ta que la red por la que viajan los<br />

paquetes es un medio variable con periodos <strong>de</strong> mucho uso o<br />

saturación y don<strong>de</strong> normalm<strong>en</strong>te no se pue<strong>de</strong> garantizar un<br />

<strong>de</strong>terminado ancho <strong>de</strong> banda. Por lo tanto es necesario plantear<br />

técnicas que se adapt<strong>en</strong> a las necesida<strong>de</strong>s puntuales <strong>de</strong> la red, <strong>en</strong> las<br />

que el emisor ajuste automáticam<strong>en</strong>te el ratio <strong>de</strong> <strong>en</strong>vío según las<br />

circunstancias y las características <strong>de</strong> los <strong>de</strong>stinatarios.<br />

2.6 Seguridad<br />

La seguridad <strong>en</strong> la comunicación es un aspecto que se complica aun<br />

más con el uso <strong>de</strong> las técnicas multicast. En una comunicación unicast<br />

don<strong>de</strong> los paquetes ti<strong>en</strong><strong>en</strong> un orig<strong>en</strong> y un único <strong>de</strong>stino, para que un<br />

tercer elem<strong>en</strong>to pueda t<strong>en</strong>er acceso a la información, se requiere el<br />

uso <strong>de</strong> técnicas <strong>de</strong> espionaje como pue<strong>de</strong>n ser la suplantación <strong>de</strong><br />

i<strong>de</strong>ntidad (suplantación IP) o la escucha promiscua <strong>de</strong>l medio físico<br />

(sniffer). Sin embargo, con multicast, esto mismo se pue<strong>de</strong> realizar <strong>de</strong><br />

manera mucho más s<strong>en</strong>cilla ya que bastaría con incorporarse al grupo<br />

<strong>de</strong> difusión para t<strong>en</strong>er acceso a los paquetes <strong>en</strong>viados por el emisor.<br />

Se trata pues <strong>de</strong> una transmisión pública don<strong>de</strong> el emisor no establece<br />

los receptores <strong>de</strong> sus paquetes, al estilo <strong>de</strong> cómo ocurre, por ejemplo,


<strong>en</strong> la transmisión <strong>de</strong> las señales <strong>de</strong> televisión. Al igual que <strong>en</strong> este<br />

último caso, si queremos t<strong>en</strong>er canales privados o <strong>de</strong> pago<br />

(transmisión <strong>de</strong> información segura), necesitamos aplicar algoritmos<br />

<strong>de</strong> codificación <strong>de</strong> la señal transmitida (procesos <strong>de</strong> cifrado <strong>de</strong> los<br />

datos) [8].<br />

Para el establecimi<strong>en</strong>to <strong>de</strong> unos niveles <strong>de</strong> seguridad a<strong>de</strong>cuados <strong>en</strong> la<br />

transmisión multicast se <strong>de</strong>be contemplar principalm<strong>en</strong>te los<br />

sigui<strong>en</strong>tes aspectos:<br />

• Cifrado: la información emitida <strong>de</strong>be <strong>de</strong> protegerse con<br />

mecanismos <strong>de</strong> cifrado que evit<strong>en</strong> su tratami<strong>en</strong>to por <strong>de</strong>stinatarios<br />

no permitidos.<br />

• Aut<strong>en</strong>ticidad: evitar que elem<strong>en</strong>tos externos o no permitidos <strong>de</strong> la<br />

comunicación puedan sustituir parte <strong>de</strong> la información emitida sin<br />

que los miembros <strong>de</strong> la transmisión lo <strong>de</strong>tect<strong>en</strong>.<br />

• Aut<strong>en</strong>ticación: los miembros <strong>de</strong> la comunicación ti<strong>en</strong><strong>en</strong> que ser<br />

<strong>de</strong>bidam<strong>en</strong>te i<strong>de</strong>ntificados para evitar su suplantación<br />

2.7 Tipos <strong>de</strong> distribuciones<br />

Uno <strong>de</strong> los aspectos que más condicionan el mo<strong>de</strong>lo <strong>de</strong> comunicación<br />

ti<strong>en</strong>e que ver con el rol con el que actúa cada uno <strong>de</strong> sus miembros.<br />

Algunas <strong>de</strong> las configuraciones que se pue<strong>de</strong>n dar son:<br />

• Un emisor y varios receptores. En estos casos el papel <strong>de</strong> emisor y<br />

<strong>de</strong> receptor está totalm<strong>en</strong>te <strong>de</strong>finido. Hay un único orig<strong>en</strong> <strong>de</strong> datos<br />

que se c<strong>en</strong>traliza <strong>en</strong> el emisor y los receptores simplem<strong>en</strong>te ti<strong>en</strong><strong>en</strong><br />

capacidad <strong>de</strong> <strong>en</strong>viar paquetes <strong>de</strong> control.<br />

• Varios emisores y varios receptores. En este mo<strong>de</strong>lo son varios los<br />

elem<strong>en</strong>tos capaces <strong>de</strong> emitir información. Normalm<strong>en</strong>te existe un<br />

emisor principal que manda inicialm<strong>en</strong>te la información y un<br />

conjunto <strong>de</strong> nodos con capacidad <strong>de</strong> reemitirla para, por ejemplo,<br />

realizar labores <strong>de</strong> corrección <strong>de</strong> errores.<br />

• Todos emit<strong>en</strong> y recib<strong>en</strong>. Se trata <strong>de</strong> re<strong>de</strong>s <strong>de</strong> cooperación don<strong>de</strong><br />

todos los miembros son capaces <strong>de</strong> actuar como emisor y receptor.


La función <strong>de</strong> corrección <strong>de</strong> errores está distribuida al conjunto<br />

total <strong>de</strong> los miembros [11].<br />

2.8 Conocimi<strong>en</strong>to <strong>de</strong> los <strong>de</strong>stinatarios<br />

Según la información que ti<strong>en</strong>e el emisor sobre los receptores a los<br />

que van <strong>de</strong>stinados los paquetes <strong>de</strong> datos, podríamos clasificar las<br />

comunicaciones multicast <strong>en</strong> tres grupos difer<strong>en</strong>tes [12]:<br />

• Grupo <strong>de</strong> <strong>de</strong>stinatarios in<strong>de</strong>terminado. En este primer mo<strong>de</strong>lo el<br />

emisor no conocería ni el número ni la i<strong>de</strong>ntidad <strong>de</strong> los<br />

<strong>de</strong>stinatarios a los que va dirigida la información que está<br />

emiti<strong>en</strong>do. Un ejemplo claro <strong>de</strong> este tipo <strong>de</strong> comunicación sería la<br />

transmisión <strong>de</strong> audio o ví<strong>de</strong>o por internet, don<strong>de</strong> el emisor<br />

difundiría los paquetes <strong>de</strong> información sin t<strong>en</strong>er <strong>en</strong> cu<strong>en</strong>ta los<br />

<strong>de</strong>stinatarios <strong>de</strong> los mismos. A su vez, los receptores, podrían<br />

incorporarse y abandonar el grupo <strong>de</strong> difusión sin t<strong>en</strong>er que<br />

informar ni realizar ningún tipo <strong>de</strong> proceso <strong>de</strong> conexión con el<br />

emisor. Suele tratarse <strong>de</strong> comunicaciones don<strong>de</strong> no se requiere un<br />

canal <strong>de</strong> retorno, situaciones éstas comunes <strong>en</strong> caso <strong>de</strong><br />

infraestructuras altam<strong>en</strong>te asimétricas, como por ejemplo, la<br />

transmisión vía satélite, don<strong>de</strong> el canal <strong>de</strong> bajada ti<strong>en</strong>e un ancho <strong>de</strong><br />

banda muy superior al <strong>de</strong> subida y una lat<strong>en</strong>cia muy alta [15].<br />

• Grupo <strong>de</strong> <strong>de</strong>stinatarios abierto. En este tipo <strong>de</strong> comunicación el<br />

emisor dispone <strong>de</strong> información sobre los receptores a los que está<br />

dando cobertura, si bi<strong>en</strong> este grupo no está <strong>de</strong>terminado antes <strong>de</strong>l<br />

inicio <strong>de</strong> la comunicación. Según se va <strong>de</strong>sarrollando el proceso <strong>de</strong><br />

comunicación, el emisor va actualizando la lista <strong>de</strong> receptores, bi<strong>en</strong><br />

al recibir un primer paquete <strong>de</strong> un receptor (por ejemplo un NACK),<br />

bi<strong>en</strong> mediante el uso <strong>de</strong> procesos <strong>de</strong> control, como los <strong>de</strong> conexión<br />

y <strong>de</strong>sconexión, que utilizarían los receptores para informar al<br />

emisor. En este último caso se pue<strong>de</strong>n realizar también operaciones<br />

<strong>de</strong> validación para permitir el acceso o no al grupo. Para evitar que<br />

equipos no validados t<strong>en</strong>gan acceso a la información, <strong>en</strong> el proceso<br />

<strong>de</strong> conexión el emisor podría aportar elem<strong>en</strong>tos como claves <strong>de</strong>


cifrado o filtros <strong>de</strong> datos, sin los cuales no sería posible procesar<br />

los datos emitidos por el servidor.<br />

• Grupo <strong>de</strong> <strong>de</strong>stinatarios cerrado. Por último, <strong>en</strong> este mo<strong>de</strong>lo, el<br />

emisor conoce a priori los receptores <strong>de</strong> los datos, y solam<strong>en</strong>te<br />

permitiría la comunicación con estos receptores, ignorando<br />

cualquier paquete <strong>en</strong>viado por otros equipos. Durante todo el<br />

proceso <strong>de</strong> comunicación el conjunto <strong>de</strong> receptores no varía, <strong>de</strong><br />

manera que el emisor pue<strong>de</strong> utilizar esta información para prefijar<br />

algunos parámetros <strong>de</strong>l proceso <strong>de</strong> transfer<strong>en</strong>cia <strong>en</strong> función <strong>de</strong> la<br />

cantidad o características <strong>de</strong> los <strong>de</strong>stinatarios: ratio <strong>de</strong> <strong>en</strong>vío,<br />

tamaño <strong>de</strong> los paquetes, etc.<br />

2.9 Corrección prev<strong>en</strong>tiva<br />

Como hemos visto, el principal problema que se plantea <strong>en</strong> la<br />

comunicación multicast es la falta <strong>de</strong> escalabilidad: cuanto mayor es el<br />

número <strong>de</strong> receptores más alto es el volum<strong>en</strong> <strong>de</strong> paquetes <strong>de</strong> control.<br />

Para conseguir que el mo<strong>de</strong>lo <strong>de</strong> transmisión sea escalable, la solución<br />

más evi<strong>de</strong>nte que se pue<strong>de</strong> plantear es la reducción, i<strong>de</strong>alm<strong>en</strong>te la<br />

eliminación total, <strong>de</strong> los paquetes <strong>de</strong> control. Para ello se utilizan<br />

técnicas <strong>de</strong> corrección prev<strong>en</strong>tiva (Forward Error Correction o FEC).<br />

La i<strong>de</strong>a principal <strong>de</strong> estas técnicas es la sigui<strong>en</strong>te. Supongamos que el<br />

total <strong>de</strong> la información a trasmitir se fragm<strong>en</strong>ta <strong>en</strong> n paquetes <strong>de</strong><br />

datos. En función <strong>de</strong> esos paquetes se g<strong>en</strong>eran r paquetes <strong>de</strong><br />

recuperación, cont<strong>en</strong>i<strong>en</strong>do información redundante <strong>de</strong> los paquetes <strong>de</strong><br />

datos originales. El emisor manda tanto los paquetes <strong>de</strong> datos como<br />

los paquetes redundantes. Si un <strong>de</strong>stinatario no recibe uno <strong>de</strong> los<br />

paquetes <strong>de</strong> datos <strong>en</strong>viados, podrá reg<strong>en</strong>erarlo a partir <strong>de</strong> uno o más<br />

paquetes <strong>de</strong> recuperación, sin t<strong>en</strong>er así que solicitar el re<strong>en</strong>vío <strong>de</strong>l<br />

paquete perdido.<br />

I<strong>de</strong>alm<strong>en</strong>te la codificación <strong>de</strong> los paquetes <strong>de</strong> recuperación se<br />

realizaría <strong>de</strong> manera que, para reg<strong>en</strong>erar un conjunto <strong>de</strong> paquetes<br />

perdidos, se necesit<strong>en</strong> la misma cantidad <strong>de</strong> paquetes correctores.<br />

Una <strong>de</strong> las codificaciones más utilizadas y que cumple esta última


característica es la <strong>de</strong> Reed-Solomon [11]. Si embargo estas<br />

codificaciones conllevan un alta complejidad temporal para su cálculo<br />

(aum<strong>en</strong>ta expon<strong>en</strong>cialm<strong>en</strong>te con el número <strong>de</strong> paquetes), con lo que<br />

se p<strong>en</strong>aliza su uso <strong>en</strong> la mayoría <strong>de</strong> los casos. Para evitarlo, la<br />

información se agrupa <strong>en</strong> bloques <strong>de</strong> paquetes <strong>de</strong> datos sobre los que<br />

se computan localm<strong>en</strong>te los paquetes <strong>de</strong> recuperación. Por lo tanto los<br />

paquetes g<strong>en</strong>erados solam<strong>en</strong>te sirv<strong>en</strong> para recuperar pérdidas <strong>de</strong>ntro<br />

<strong>de</strong>l bloque <strong>de</strong> paquetes <strong>de</strong> datos que se utilizó para su g<strong>en</strong>eración. El<br />

tamaño <strong>de</strong> los bloques se <strong>de</strong>ci<strong>de</strong> <strong>en</strong> función <strong>de</strong> los límites que se<br />

quieran establecer, <strong>de</strong>p<strong>en</strong>di<strong>en</strong>do <strong>de</strong> la capacidad <strong>de</strong> cómputo que se<br />

disponga.<br />

En la actualidad también se están aplicando FEC’s basados <strong>en</strong> la<br />

primitiva XOR, don<strong>de</strong> los tiempos <strong>de</strong> computo <strong>de</strong> los paquetes <strong>de</strong><br />

recuperación son bajos y <strong>de</strong> coste lineal. Por contra, con estas técnicas<br />

se requier<strong>en</strong> más paquetes <strong>de</strong> recuperación para reg<strong>en</strong>erar un paquete<br />

<strong>de</strong> datos, con lo que se increm<strong>en</strong>ta el volum<strong>en</strong> <strong>de</strong> información<br />

trasmitida.<br />

Incorporando FEC a la comunicación se logra una disminución, tanto<br />

<strong>en</strong> la cantidad <strong>de</strong> retransmisión <strong>de</strong> paquetes, como <strong>en</strong> la cantidad <strong>de</strong><br />

paquetes <strong>de</strong> control, con lo que se suele justificar el ancho <strong>de</strong> banda<br />

extra que se utiliza <strong>en</strong> la emisión <strong>de</strong> los paquetes <strong>de</strong> recuperación y,<br />

<strong>en</strong> el caso <strong>de</strong> las trasmisiones multicast, se consigue una mayor<br />

escalabilidad.<br />

Otra <strong>de</strong> las v<strong>en</strong>tajas que aporta estas técnicas es la reducción <strong>de</strong><br />

re<strong>en</strong>víos <strong>en</strong> el caso <strong>de</strong> pérdidas simultáneas <strong>en</strong> diversos <strong>de</strong>stinos. Si<br />

por ejemplo un receptor pier<strong>de</strong> un paquete <strong>de</strong> datos p1 y otro equipo<br />

pier<strong>de</strong> un segundo paquete p2 el emisor solam<strong>en</strong>te t<strong>en</strong>dría que<br />

retransmitir un único paquete r1 con el que ambos <strong>de</strong>stinatarios<br />

podrían recuperarse <strong>de</strong> su pérdida. En el caso <strong>de</strong> un esquema basado<br />

<strong>en</strong> XOR t<strong>en</strong>dríamos que el paquete <strong>de</strong> recuperación sería r1 = p1 XOR p2,<br />

con lo que el primer receptor calcularía p1 con r1 XOR p2 y el segundo<br />

realizaría r1 XOR p1 para calcular p2.


A<strong>de</strong>más <strong>de</strong>l tiempo <strong>de</strong> computo necesario, el uso <strong>de</strong> FEC’s también<br />

conlleva normalm<strong>en</strong>te la utilización <strong>de</strong> un buffer <strong>de</strong> trabajo sobre el<br />

que se van componi<strong>en</strong>do los paquetes redundantes.<br />

2.10 Uso <strong>de</strong> repres<strong>en</strong>tantes<br />

Otra <strong>de</strong> las técnicas utilizadas para la disminución <strong>de</strong>l tráfico <strong>de</strong><br />

control y conseguir <strong>de</strong> esta manera una mayor escalabilidad es el uso<br />

<strong>de</strong> nodos repres<strong>en</strong>tantes [16]. Un repres<strong>en</strong>tante es un compon<strong>en</strong>te <strong>de</strong><br />

la comunicación, normalm<strong>en</strong>te uno <strong>de</strong> los <strong>de</strong>stinatarios, que se<br />

<strong>en</strong>carga <strong>de</strong> c<strong>en</strong>tralizar la información <strong>de</strong> vuelta <strong>de</strong> un conjunto <strong>de</strong><br />

receptores, agrupándola <strong>en</strong> un bloque <strong>de</strong> información compacto,<br />

normalm<strong>en</strong>te un único paquete, y reduci<strong>en</strong>do así la cantidad <strong>de</strong><br />

paquetes que recibiría el emisor.<br />

Estas técnicas se aprovechan <strong>de</strong> la jerarquía establecida por la<br />

topología <strong>de</strong> red, <strong>de</strong> manera que la información <strong>de</strong> vuelta se va<br />

agrupando según se acerca al emisor; facilitando, <strong>de</strong> esta forma, la<br />

escalabilidad.<br />

En algunos casos interesa que el nodo repres<strong>en</strong>tativo pueda realizar<br />

también labores <strong>de</strong> corrección <strong>de</strong> errores, con lo que se reduciría aun<br />

más el <strong>en</strong>vío <strong>de</strong> paquetes <strong>de</strong> control hacía el emisor, pudi<strong>en</strong>do incluso<br />

llegar a evitarse. En estos casos el nodo <strong>de</strong>signado almac<strong>en</strong>a la<br />

información recibida para po<strong>de</strong>r actuar como un emisor secundario.<br />

Si bi<strong>en</strong> el nodo repres<strong>en</strong>tante suele ser uno <strong>de</strong> los <strong>de</strong>stinatarios <strong>de</strong> la<br />

información, <strong>en</strong> algunos casos se pu<strong>de</strong>n utilizar nodos habilitados<br />

explícitam<strong>en</strong>te para esta función o bi<strong>en</strong> se <strong>de</strong>lega a los routers, ya que<br />

estos se sitúan <strong>en</strong> los puntos <strong>de</strong> conflu<strong>en</strong>cia <strong>de</strong> los paquetes <strong>de</strong><br />

control.


2.11 Trabajos relacionados<br />

En la actualidad exist<strong>en</strong> multitud <strong>de</strong> protocolos multicast que<br />

resuelv<strong>en</strong> <strong>de</strong> manera g<strong>en</strong>eral o más o m<strong>en</strong>os condicionada el problema<br />

<strong>de</strong> la difusión <strong>de</strong> información a multiples <strong>de</strong>stinatarios.<br />

Algunos <strong>de</strong> estos protocolos son: SRM [11] un protocolo ori<strong>en</strong>tado a la<br />

distribución compartida <strong>de</strong> información <strong>de</strong>ntro <strong>de</strong> un grupo <strong>de</strong><br />

participantes con la corrección <strong>de</strong> errores también distribuida; MTFP<br />

[12] es un protocolo <strong>de</strong> transporte multicast que c<strong>en</strong>tra su objetivo <strong>en</strong><br />

conseguir una comunicación altam<strong>en</strong>te escalable y con un soporte<br />

universal para todo tipo <strong>de</strong> re<strong>de</strong>s, incluy<strong>en</strong>do las altam<strong>en</strong>te<br />

asimétricas; Digital Fountain [17] un protocolo totalm<strong>en</strong>te escalable<br />

para la distribución <strong>de</strong> información masiva a múltiples <strong>de</strong>stinatarios<br />

fundam<strong>en</strong>tado <strong>en</strong> un FEC ori<strong>en</strong>tado a XOR <strong>de</strong>nominado Tornado<br />

Co<strong>de</strong>s.<br />

3 Streaming <strong>de</strong> Archivos<br />

Como se ha <strong>de</strong>scrito el problema <strong>de</strong> la difusión <strong>de</strong> información masiva<br />

a difer<strong>en</strong>tes <strong>de</strong>stinatarios es bastante complejo, y al respecto ya<br />

exist<strong>en</strong> difer<strong>en</strong>tes soluciones <strong>en</strong> m<strong>en</strong>or o mayor medida.<br />

Sin embargo <strong>en</strong> otro tipo <strong>de</strong> esc<strong>en</strong>arios nos <strong>en</strong>contramos con una<br />

serie <strong>de</strong> restricciones que complican aun más si cabe el problema<br />

anteriorm<strong>en</strong>te <strong>de</strong>scrito. Se trata <strong>de</strong> los casos <strong>en</strong> los que los<br />

<strong>de</strong>stinatarios no dispon<strong>en</strong> <strong>de</strong> memoria intermedia para almac<strong>en</strong>ar toda<br />

la información, antes <strong>de</strong> pasar a la fase <strong>de</strong> reconstrucción <strong>de</strong>l paquete<br />

<strong>de</strong> información software, por lo que ésta <strong>de</strong>berá ir reconstruyéndose a<br />

medida que se recibe. En caso <strong>de</strong> necesitar almac<strong>en</strong>ami<strong>en</strong>to temporal<br />

el proceso <strong>de</strong> recepción t<strong>en</strong>drá que po<strong>de</strong>r adaptarse a cantida<strong>de</strong>s <strong>de</strong><br />

memoria pequeñas (para el caso <strong>de</strong> equipos con pocas prestaciones).<br />

Este proceso sería similar al streaming <strong>de</strong> audio o vi<strong>de</strong>o pero <strong>en</strong> este<br />

caso consi<strong>de</strong>rando que la información es <strong>de</strong> carácter g<strong>en</strong>eral y que<br />

requerimos una confiabilidad total <strong>en</strong> la comunicación.


En estos tipos <strong>de</strong> transmisiones los procesos <strong>de</strong> sincronización<br />

emisor-receptores, la reor<strong>de</strong>nación <strong>de</strong> paquetes y la recuperación <strong>de</strong><br />

paquetes perdidos se v<strong>en</strong> muy condicionadas ya que los protocolos <strong>de</strong><br />

transporte multicast se val<strong>en</strong> precisam<strong>en</strong>te <strong>de</strong> memoria intermedia<br />

para realizar u optimizar estas labores.<br />

4 Propuesta <strong>de</strong> solución<br />

Se propone un mo<strong>de</strong>lo <strong>de</strong> transmisión para la difusión masiva <strong>de</strong><br />

información a través <strong>de</strong> re<strong>de</strong>s heterogéneas, que contemple los<br />

requerimi<strong>en</strong>tos establecidos <strong>en</strong> el planteami<strong>en</strong>to <strong>de</strong>l problema. A<br />

partir <strong>de</strong> este mo<strong>de</strong>lo se ha diseñado una arquitectura que plasma<br />

funcionalm<strong>en</strong>te dicho mo<strong>de</strong>lo. Finalm<strong>en</strong>te, y para validar la corrección<br />

<strong>de</strong>l mo<strong>de</strong>lo y arquitectura propuestos, se ha implem<strong>en</strong>tado un<br />

protocolo <strong>de</strong> transporte <strong>de</strong> red basado <strong>en</strong> la tecnología IP multicast.<br />

El protocolo permite distribuir una serie <strong>de</strong> paquetes software <strong>de</strong><br />

información <strong>de</strong>s<strong>de</strong> un repositorio a un conjunto <strong>de</strong> receptores,<br />

increm<strong>en</strong>tando el aprovechami<strong>en</strong>to <strong>de</strong> la infraestructura <strong>de</strong> red. El<br />

protocolo es lo sufici<strong>en</strong>tem<strong>en</strong>te g<strong>en</strong>érico como para po<strong>de</strong>r ser usado<br />

por diversas aplicaciones, aportando una capa <strong>de</strong> servicios para la<br />

difusión confiable <strong>de</strong> información. Como protocolo base, sobre el que<br />

residiría la capa <strong>de</strong> transporte a implem<strong>en</strong>tar, se utilizará IP con<br />

soporte para multicast, <strong>de</strong>bido a su alta aceptación <strong>en</strong> la actualidad.<br />

Dado que <strong>en</strong> los <strong>de</strong>stinatarios no po<strong>de</strong>mos contar con memoria<br />

intermedia éstos irán procesando la información según la van<br />

recibi<strong>en</strong>do, con lo que la capa <strong>de</strong> transporte multicast proporciona a<br />

los receptores un flujo <strong>de</strong> información or<strong>de</strong>nado y acompasado con el<br />

emisor.<br />

En la Fig. 3 se muestra un esquema <strong>de</strong> los difer<strong>en</strong>tes módulos que<br />

compon<strong>en</strong> el emisor y el receptor <strong>de</strong>l mo<strong>de</strong>lo multicast propuesto.<br />

El emisor tras realizar una serialización <strong>de</strong> la información que <strong>de</strong>sea<br />

transmitir, realiza un proceso <strong>de</strong> cifrado para proteger los datos.<br />

Posteriorm<strong>en</strong>te la información cifrada es fraccionada <strong>en</strong> paquetes <strong>de</strong>


datos. Estos paquetes son almac<strong>en</strong>ados <strong>en</strong> un buffer (B1) para que<br />

que<strong>de</strong>n disponibles <strong>en</strong> el mom<strong>en</strong>to <strong>en</strong> que sea necesaria su<br />

retransmisión.<br />

Fig 3. Diagrama <strong>de</strong> bloques <strong>de</strong>l proceso <strong>de</strong> difusión <strong>de</strong> información<br />

A los paquetes <strong>de</strong> datos se les aplica un FEC para reducir los<br />

problemas <strong>de</strong> escalabilidad, reduci<strong>en</strong>do la solicitud <strong>de</strong> paquetes<br />

perdidos. Dada la heterog<strong>en</strong>eidad <strong>de</strong> los <strong>de</strong>stinatarios se propone el<br />

uso <strong>de</strong> FEC’s con bajo coste computacional, como los basados <strong>en</strong> XOR,


para evitar gran<strong>de</strong>s retardos <strong>en</strong> la recepción <strong>en</strong> cli<strong>en</strong>tes l<strong>en</strong>tos o<br />

saturados.<br />

En la retransmisión <strong>de</strong> los paquetes solicitados por los <strong>de</strong>stinatarios,<br />

también se incorpora el uso <strong>de</strong> FEC’s que reduzcan la cantidad <strong>de</strong><br />

información retransmitida. Los buffers <strong>de</strong> trabajo <strong>de</strong> los FEC (B2 y B4),<br />

especialm<strong>en</strong>te el <strong>de</strong>l <strong>de</strong>stinatario, serán <strong>de</strong> tamaño limitado, <strong>de</strong>bido a<br />

las condiciones impuestas <strong>en</strong> el problema.<br />

El receptor irá obt<strong>en</strong>i<strong>en</strong>do un conjunto <strong>de</strong> paquetes <strong>de</strong> datos<br />

<strong>de</strong>sor<strong>de</strong>nados, bi<strong>en</strong> sea por recepción directa <strong>de</strong>l emisor, por una<br />

retransmisión o por una recuperación realizada por el FEC. Para<br />

suministrar una secu<strong>en</strong>cia or<strong>de</strong>nada <strong>de</strong> los datos a las capas<br />

superiores el receptor usará un buffer <strong>de</strong> paquetes (B3), que también<br />

t<strong>en</strong>drá una capacidad limitada y reducida. Por ello el proceso <strong>de</strong><br />

solicitud y <strong>en</strong>trega <strong>de</strong> paquetes perdidos <strong>de</strong>berá ser lo más efici<strong>en</strong>te<br />

posible, <strong>de</strong> manera que la recepción <strong>en</strong> cada <strong>de</strong>stinatario esté lo más<br />

acompasada posible con el emisor.<br />

5 Un caso práctico<br />

El <strong>en</strong>torno <strong>de</strong> pruebas <strong>en</strong> el que se va ha poner <strong>en</strong> marcha inicialm<strong>en</strong>te<br />

el sistema <strong>de</strong> transfer<strong>en</strong>cia masiva que se propone es Gaia, un sistema<br />

<strong>de</strong> reg<strong>en</strong>eración <strong>de</strong> equipos que permite restaurar completam<strong>en</strong>te la<br />

información cont<strong>en</strong>ida <strong>en</strong> los equipos que compon<strong>en</strong> una red. El<br />

objetivo principal <strong>de</strong> Gaia es automatizar muchas <strong>de</strong> las tareas <strong>de</strong><br />

mant<strong>en</strong>imi<strong>en</strong>to <strong>de</strong> las re<strong>de</strong>s <strong>de</strong> computadores, para conseguir una<br />

gestión <strong>de</strong>sat<strong>en</strong>dida <strong>de</strong> dicha red.<br />

El proceso <strong>de</strong> reg<strong>en</strong>eración se gestiona mediante un sistema que<br />

opera <strong>en</strong> el equipo <strong>de</strong> manera in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>te al hardware y software<br />

instalado, y que <strong>de</strong> manera automatizada y <strong>de</strong>sat<strong>en</strong>dida realiza<br />

básicam<strong>en</strong>te los sigui<strong>en</strong>tes procesos:<br />

• Analizar el hardware <strong>de</strong>l equipo, examinando principalm<strong>en</strong>te los<br />

difer<strong>en</strong>tes discos y particiones con los que cu<strong>en</strong>ta


• Obt<strong>en</strong>er la configuración establecida para ese equipo, la cual resi<strong>de</strong><br />

<strong>en</strong> un sistema <strong>de</strong> inv<strong>en</strong>tario que gestiona el administrador. En él se<br />

indica las particiones que <strong>de</strong>be t<strong>en</strong>er el equipo tras la reinstalación,<br />

los sistemas <strong>de</strong> archivos que <strong>de</strong>be cont<strong>en</strong>er, así como los sistemas<br />

operativos, aplicaciones y otros datos que <strong>de</strong>b<strong>en</strong> residir <strong>en</strong> estos<br />

sistemas <strong>de</strong> archivos.<br />

• Preparar el equipo física y lógicam<strong>en</strong>te para recibir loa información<br />

a instalar.<br />

• Obt<strong>en</strong>er y almac<strong>en</strong>ar los datos que <strong>de</strong>b<strong>en</strong> residir <strong>en</strong> el equipo <strong>de</strong>s<strong>de</strong><br />

un repositorio previam<strong>en</strong>te configurado por el administrador. La<br />

información se ofrece <strong>en</strong> forma <strong>de</strong> paquetes software <strong>de</strong><br />

instalación, como podrían ser <strong>de</strong> sistemas operativos, <strong>de</strong><br />

aplicaciones, <strong>de</strong> datos, etc. La información almac<strong>en</strong>ada <strong>en</strong> los<br />

paquetes esta comprimida para optimizar el espacio <strong>de</strong><br />

almac<strong>en</strong>ami<strong>en</strong>to y agilizar su transmisión por la red.<br />

Por lo tanto con este sistema para mant<strong>en</strong>er una red <strong>de</strong> computadores<br />

simplem<strong>en</strong>te hay que indicar la secu<strong>en</strong>cia or<strong>de</strong>nada <strong>de</strong> paquetes que<br />

hay que instalar por cada equipo, agilizando <strong>de</strong> esta manera las<br />

costosas tareas <strong>de</strong> instalación y configuración <strong>de</strong>l software.<br />

En algunos casos, cuando la información que hay que instalar <strong>en</strong> un<br />

equipo no pueda fraccionarse <strong>en</strong> diversos paquetes, existirá un único<br />

paquete que <strong>de</strong>scribe la totalidad <strong>de</strong>l cont<strong>en</strong>ido <strong>de</strong>l equipo, es <strong>de</strong>cir el<br />

paquete es una copia exacta <strong>de</strong>l cont<strong>en</strong>ido físico <strong>de</strong> las unida<strong>de</strong>s <strong>de</strong><br />

dicho equipo. Este modo <strong>de</strong> trabajo se utiliza cuando el sistema <strong>de</strong><br />

reinstalación no <strong>en</strong>ti<strong>en</strong><strong>de</strong> la estructura interna <strong>de</strong>l sistema <strong>de</strong> archivos<br />

<strong>de</strong>l equipo.<br />

Mediante el uso <strong>de</strong> un sistema <strong>de</strong> transfer<strong>en</strong>cia tradicional <strong>de</strong><br />

información, cuando un paquete va dirigido a más <strong>de</strong> un equipo, la<br />

transmisión se realiza <strong>de</strong> manera individual <strong>en</strong>tre el repositorio y los<br />

equipos, repitiéndose esta operación tantas veces como <strong>de</strong>stinatarios<br />

difer<strong>en</strong>tes t<strong>en</strong>ga el paquete.


DHCP<br />

TCP/IP<br />

NIC<br />

NIC<br />

HTTP<br />

Servidor<br />

GAIA<br />

NFS<br />

MySQL<br />

FS Proc<br />

Transfer<strong>en</strong>cia<br />

<strong>de</strong> archivos<br />

Mem.<br />

Virtual<br />

I/O CPU MEM<br />

I/O CPU MEM<br />

Nivel <strong>de</strong><br />

Aplicación<br />

Nivel <strong>de</strong><br />

Nivel <strong>de</strong><br />

Sistema<br />

Operativo<br />

Nivel<br />

Hardware<br />

RED<br />

TCP/IP<br />

Fig 4. Arquitectura <strong>de</strong>l sistema <strong>de</strong> reg<strong>en</strong>eración GAIA<br />

Por norma g<strong>en</strong>eral, el mant<strong>en</strong>imi<strong>en</strong>to <strong>de</strong> los equipos se pue<strong>de</strong> agrupar<br />

<strong>en</strong> grupos que compart<strong>en</strong> una misma configuración. Estos grupos<br />

estarían formados por equipos <strong>de</strong> características similares que<br />

compart<strong>en</strong> un mismo perfil software, como suele ocurrir <strong>en</strong> aulas o<br />

laboratorios informáticos. Mediante el uso <strong>de</strong> un sistema <strong>de</strong><br />

transfer<strong>en</strong>cia tradicional <strong>de</strong> información, cuando un paquete va<br />

dirigido a más <strong>de</strong> un equipo, la transmisión se realiza <strong>de</strong> manera<br />

individual <strong>en</strong>tre el repositorio y los equipos, repitiéndose esta<br />

operación tantas veces como <strong>de</strong>stinatarios difer<strong>en</strong>tes t<strong>en</strong>ga el<br />

paquete. Esto produce una disminución <strong>en</strong> el r<strong>en</strong>dimi<strong>en</strong>to global <strong>de</strong>l<br />

proceso, ya que se satura tanto el repositorio con solicitu<strong>de</strong>s repetidas<br />

<strong>de</strong> paquetes, como la red con la transfer<strong>en</strong>cia <strong>de</strong> dichos paquetes.<br />

Por todo esto, se propone sustituir el sistema <strong>de</strong> transfer<strong>en</strong>cia <strong>de</strong><br />

archivos actual (ver Fig.4 y Fig. 5) por el sistema <strong>de</strong> transmisión<br />

propuesto, <strong>de</strong> forma que la distribución <strong>de</strong> los paquetes software se<br />

realice <strong>de</strong> manera mucho más efici<strong>en</strong>te. Con ello se pret<strong>en</strong><strong>de</strong><br />

conseguir mejorar la transfer<strong>en</strong>cia <strong>en</strong> los sigui<strong>en</strong>tes aspectos:<br />

• Conseguir una in<strong>de</strong>p<strong>en</strong><strong>de</strong>ncia <strong>de</strong>l número <strong>de</strong> cli<strong>en</strong>tes que se<br />

reg<strong>en</strong>er<strong>en</strong> simultáneam<strong>en</strong>te con la mismo paquete software.<br />

NFS<br />

NIC<br />

NIC<br />

Cli<strong>en</strong>te<br />

GAIA<br />

MySQL<br />

FS Proc<br />

Transfer<strong>en</strong>cia<br />

<strong>de</strong> archivos<br />

Mem.<br />

Virtual<br />

I/O CPU MEM<br />

I/O CPU MEM


• Mejorar la transmisión incluso cuando los cli<strong>en</strong>tes se <strong>en</strong>cu<strong>en</strong>tran a<br />

largas distancias, asegurando su finalización <strong>en</strong> tiempos acotados.<br />

• Favorecer la transmisión <strong>de</strong> información masiva al reducir el trafico<br />

<strong>de</strong> control, <strong>de</strong> manera que incluso sea factible el uso <strong>de</strong><br />

comunicaciones asimétricas como podría ser una conexión ADSL o<br />

una transmisión vía satélite.<br />

Cli<strong>en</strong>te<br />

Reg<strong>en</strong>eración<br />

Cli<strong>en</strong>te<br />

Administració<br />

Navegador<br />

Web<br />

Ag<strong>en</strong>te<br />

Reg<strong>en</strong>eración<br />

Cli<strong>en</strong>te ubicuo <strong>de</strong><br />

reg<strong>en</strong>eración<br />

(PDA, portátil,<br />

Móvil, ...)<br />

Fig. 5. Esc<strong>en</strong>ario <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong>l Sistema <strong>de</strong> Reg<strong>en</strong>eración <strong>de</strong> Nodos<br />

6 Conclusiones<br />

Control <strong>de</strong> acceso<br />

mediante tarjetas<br />

intelig<strong>en</strong>tes (Smart Card)<br />

Internet<br />

Ag<strong>en</strong>te<br />

Reg<strong>en</strong>eración<br />

Servidor <strong>de</strong><br />

Aut<strong>en</strong>ticación<br />

Directorio,<br />

Perfiles y<br />

Certificados<br />

Router/ Proxy/ Firewall<br />

Servidor<br />

Web<br />

Interfaz<br />

El problema <strong>de</strong> la difusión masiva <strong>de</strong> información g<strong>en</strong>érica es <strong>en</strong> la<br />

actualidad un problema abierto y objeto <strong>de</strong> numerosas<br />

investigaciones. La escalabilidad es el principal factor a t<strong>en</strong>er <strong>en</strong><br />

cu<strong>en</strong>ta <strong>en</strong> el <strong>de</strong>sarrollo <strong>de</strong> un protocolo <strong>de</strong> transfer<strong>en</strong>cia multicast<br />

confiable.<br />

No existe un protocolo g<strong>en</strong>eral <strong>de</strong> transporte multicast que <strong>de</strong><br />

solución a todos los problemas <strong>de</strong> difusión, principalm<strong>en</strong>te <strong>en</strong> el caso<br />

<strong>de</strong>l streaming <strong>de</strong> archivos. En este docum<strong>en</strong>to se aporta una solución<br />

al problema, estableci<strong>en</strong>do un marco formal sobre el que ir<br />

<strong>de</strong>sarrollando un mo<strong>de</strong>lo y una arquitectura para la difusión <strong>de</strong><br />

información masiva.<br />

Como proyectos futuros estamos trabajando <strong>en</strong> la incorporación <strong>de</strong><br />

mecanismos <strong>de</strong> corrección <strong>de</strong> errores <strong>de</strong> forma local mediante una<br />

HTML<br />

Dir<br />

Servidor <strong>de</strong><br />

<strong>Aplicaciones</strong><br />

Lógica <strong>de</strong><br />

Negocio<br />

DB<br />

Entorno <strong>de</strong><br />

Almac<strong>en</strong>ami<strong>en</strong>to y<br />

repositorio software<br />

DB<br />

DB<br />

DB<br />

Sistema <strong>de</strong><br />

Información


estructuración jerárquica <strong>de</strong> los compon<strong>en</strong>tes <strong>de</strong> la comunicación <strong>en</strong><br />

forma <strong>de</strong> grafos, especialm<strong>en</strong>te <strong>en</strong> forma <strong>de</strong> árboles. En este s<strong>en</strong>tido<br />

se está trabajando <strong>en</strong> heurísticas <strong>de</strong> vecindad <strong>en</strong>tre los difer<strong>en</strong>tes<br />

<strong>de</strong>stinatarios que nos permitan optimizar los canales <strong>de</strong> vuelta <strong>en</strong> los<br />

procesos <strong>de</strong> corrección <strong>de</strong> errores.<br />

También se están realizando estudios que permitan incorporar<br />

mecanismos <strong>de</strong> seguridad <strong>en</strong> la difusión <strong>de</strong> la información a<br />

transmitir.<br />

7 Refer<strong>en</strong>cias<br />

1. Marcos Jorquera, D.; Maciá Pérez, F.; Monllor Pérez, J.C: Sistema <strong>de</strong><br />

reg<strong>en</strong>eración <strong>de</strong> nodos <strong>de</strong> red. GAIA. Desarrollo De Gran<strong>de</strong>s <strong>Aplicaciones</strong><br />

<strong>Distribuidas</strong> Sobre Internet. Servicio <strong>de</strong> Publicaciones <strong>de</strong> la Universidad <strong>de</strong><br />

Alicante, Cap. 10, pp. 275-298. (2004)<br />

2. Tan<strong>en</strong>baum, A. S.:. Re<strong>de</strong>s <strong>de</strong> computadoras. Tercera edición. Pr<strong>en</strong>tice<br />

Hall. (1997)<br />

3. Forouzan, B. A.: Transmisión <strong>de</strong> datos y re<strong>de</strong>s <strong>de</strong> comunicaciones.<br />

Segunda edición. McGraw-Hill. (2002)<br />

4. Halsall, F.: Comunicación <strong>de</strong> datos, re<strong>de</strong>s <strong>de</strong> computadores y sistemas<br />

abiertos. Cuarta edición. Addison Wesley Longman. (1998)<br />

5. García Tomas, J.: Sistemas y re<strong>de</strong>s teleinformáticas. Sociedad para<br />

Estudios Pedagógicos Arg<strong>en</strong>tinos (SEPA). (1989)<br />

6. Comer D. E.: Re<strong>de</strong>s globales <strong>de</strong> información con internet y TCP/IP.<br />

Principios básicos, protocolos y arquitectura. Tercera Edición. Pr<strong>en</strong>tice-<br />

Hall Hispanoamericana. (1996)<br />

7. Mack, s.: Streaming Media Bible. Hungry Minds. (2002)<br />

8. Stallings, W.: Comunicaciones y re<strong>de</strong>s <strong>de</strong> computadores. Sexta edición.<br />

Pr<strong>en</strong>tice Hall. (2000)<br />

9. Deering. S. E.: Host Ext<strong>en</strong>sions for IP Multicasting. Request for Comm<strong>en</strong>ts<br />

(RFC) 988. (1986)<br />

10. Handley, M.:. An Examination of Mbone Performance. Technical Report<br />

RR-97-450, USC/ISI. (1997)


11. Floyd, S., Jacobson, V., Liu, C., McCanne , S. y Zhang, L.: A Reliable<br />

Multicast Framework for Light-weight Sessions and Application Level<br />

Framing. IEEE/ACM Transactions on Networking. (1996)<br />

12. Miller, K., Robertson, K., Tweedly, A. y White M.: StarBusrt Multicast File<br />

Transfer Protocol (MFTP) Specification”. Internet Draft. (1997)<br />

13. Bolot, J., Turletti, T. y Wakeman., I.: Scalable Feedback Control for<br />

Multicast vi<strong>de</strong>o Distribution in the Internet. ACM SIGCOMM Computer<br />

Communication Review. Vol 24, pp. 58-67. (1994)<br />

14. Mankin, A., Romanow, A., Bradner, S. y Paxson., V.: IETF Criteria For<br />

Evaluating Reliable Multicast Transport and Application Protocols.<br />

Request for Comm<strong>en</strong>ts 2357 (RFC 2357). (1998)<br />

15. Tunpan, A. y Corson, M. S.: Bulk Data Multicast Rate Scheduling For<br />

Hybrid Het-erog<strong>en</strong>eous Satellite-Terrestrial Networks. Proceedings of the<br />

Fifth IEEE Symposium on Computers and Communications (ISCC 2000).<br />

pp. 238. (2000)<br />

16. DeLucia, D. y Obraczka, K.: Multicast Feedback Suppression Using<br />

Repres<strong>en</strong>tatives. Proceedings of the IEEE INFOCOM 1997. pp. 463-470.<br />

(1997)<br />

17. Byers, J. W. y Luby M.: A Digital Fountain Approach to Reliable<br />

Distribution of Bulk Data. Proceedings of ACM SIGCOMM’98. pp. 56–67.<br />

(1998)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!