Transferencia multicast de archivos en una LAN

Una trasferencia multicast consiste en que la máquina origen de la comunicación envía datos a través de la LAN, que reciben varios equipos de manera simultánea y todos ellos se identifican como destinatarios del mensaje, a diferencia de las transmisiones unicast, en las que un sólo dispositivo de la red es el destinatario del mensaje enviado.

La transmisiones multicast tampoco son broadcast. Las transmisiones broadcast son recibidas por todos los dispositivos de la red, mientras que la multicast van dirigidas a un grupo específico de dispositivos.

Copia de archivos

Este método tiene la ventaja sobre otros modos de transmitir archivos como ftp, scp o nc de que en éstos últimos funcionan sobre un protocolo unicast, es decir, si hay que hacer n copias, el dispositivo origen ha de enviar a la red n veces el archivo, mientras que la transmisión multicast realiza copias a varias máquinas de manera simultánea enviando el archivo una sola vez.

El protocolo udp es un protocolo no orientado a conexión con el que es posible el multicast y es precisamente sobre el cual trabaja la aplicación UDPCast.

La joya UDPCast está en los repositorios de muchas distribuciones y, por su puesto, sus fuentes están disponibles en la página oficial.

Instalación

Asumo que quién esté interesado en instalar UDPCast tiene un conocimiento mínimo sobre como usar Linux, por lo que no entraré en detalle sobre como instalar la aplicación.

Para este escrito, he utilizado los repositorios de Debian Wheeze y Linux Mint 15.

El paquete udpcast ha de estar instalado en cada máquina, tanto la que envia el archivo como las que lo reciben. Se trata en ambos casos del mismo paquete, que provee de los comandos necesarios tanto para el envio multicast como para la recepción de los archivos.

Usando

El comando udp-receiver crea un grupo multicast en la red, dejando a cada dispositivo de ese grupo a la escucha, y otro comando udp-sender para enviar arhivos a cada uno de los dispositivos multicast de manera simultánea.

Pongamos que tenemos dos máquinas a las que enviar el archivo. En cada uno de los dispositivos de destino, escribimos el comando udp-receiver indicando como parametro el nombre de archivo de destino:

En cada una de las máquinas destino escribimos:

$ udp-receiver –file imagen.iso

La consola de la máquina destino A nos desvuelve los siguientes mensajes:

Udp-receiver 20100130

UDP receiver for imagen.iso at 192.168.1.151 on eth0

received message, cap=00000009

Connected as #0 to 192.168.1.44

Listening to multicast on 232.168.1.44

Press any key to start receiving data!

Y la de la maquina destino B de manera casi identica:

Udp-receiver 20100130

UDP receiver for imagen.iso at 192.168.1.150 on eth0

received message, cap=00000009

Connected as #1 to 192.168.1.44

Listening to multicast on 232.168.1.44

Press any key to start receiving data!

Así dejamos los dispositivos en escucha para la transimisión multicast. Para enviar el archivo de manera que la máquina A y B lo reciban.

En la maquina origen Z que envía el archivo hay que escribir.

$ udp-sender –file archivo.iso

Que nos dará algo como esto:

Using full duplex mode

Using mcast address 232.168.1.44

UDP sender for archivo.iso at 192.168.1.44 on eth1

Broadcasting control to 192.168.1.255

New connection from 192.168.1.151 (#0) 00000009

Ready. Press any key to start sending data.

New connection from 192.168.1.150 (#1) 00000009

Ready. Press any key to start sending data.

Esto es lo mínimo que se puede hacer para transferir archivos en multicast con la aplicación.

UDPCast tiene otras opciones. Una muy interesante es la opción –pipe la cual permite hacer tuberias con otros comandos, por ejemplo, para descomprimir un archivo al recibirlo.

Espero que os haya gustado el post.

1 comentario sobre “Transferencia multicast de archivos en una LAN

  1. excelente articulo, me a sido de mucha ayuda; me saco de apuros. Logre transferir archivos de entre dos computadoras una con conección por medio de ethernet y otra wireless por medio del modem del provedor de servicio.
    muchas gracias

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *