[[PageOutline(2-5,Índice)]] NOTA: Información a espera de ser confirmada por el grupo. = updcast (udp-sender; udp-receiver) - Implementación Multicast linux-gnu = version: 20100130 == Introducción comunicación udp-sender y udp-receiver == Un cliente (udp-receiver), cuando se inicia, espera hasta encontrar, por broadcast, al equipo que por defecto tenga abierto el puerto (portbase) 9000. El servidor (udp-sender) recibe las peticiones de participar en la sesión multicast en el puerto (portbase). Después utilizará otro puerto de control (portbase +1; por defecto el 9001) y una dirección de mulitcast donde enviará los datos, y los cliente estará escuchando. (Estos dos últimos valores se los proporciona el servidor a los cliente. NOTA: el portbase será usado por OpengGnSys como identificador de sessión mulitcast. === SESION MULTICAST === Para opengnsys, inicialmente una sesión multicast el formato o sintaxis es diferente para el servidor y los clientes (el identificador de la sessión es el $PORTBASE) NOTA: $PORTBASE será el identificador de la sessión. Descripción de las opcciones de la sesión multicast: * PORTBASE: * Identificador de la sessión: Puerto utilizado por los clientes para detectar al host que serve el mulsticast. * El valor de este puerto por defecto es el 9000, aúnque también utiliza el portbase+1 (9001) para el control de la transferencia multicast. * Si qeremos utilizar varias sesiones multicast al mismo tiempo en una misa subred debemos utilizar como PORTBASE 9000 9002 9004 9006 ... . NOTA, los impares (9001,9003,9005 ....) son utilizados como control de transferencia. * METHOD: * full-duplex * half-duplex * broadcast * ADDRESS: * BITRATE: * Tasa de transferencia en Mega bits / segundos. * Máximo soportado por udpcast 100M * NCLIENTS: * número de clientes que participarán en la sesión. * El servidor esperará el inicio de su sesión hasta que este número de clientes esten unidos a la sessión. * ver MAXTIME * MAXTIME: * Valor que modifica al NCLIENTS. * En el caso de que el tiempo indicado en segundos se haya agotado, se inicia la transferencia, aunque el NCLIENTS no == FUNCIONES ENGINE Protocol.lib == * Composición de la instrucción. * ogGenerateSintaxMcast * Envio de ficheros por multicast para !UpdateCache * ogSendFileMcast * ogReceiveFileMcast * Envio por multicast del contenido de los ficheros-imagenes directamente a las particiones destino - Para !restorePartition. * ogSendImageMcast * ogRestoreMcastImage * Envio por multicast el contenido de una particion a multiples particiones destinio - Para !CloneRemotePartition * ogSendPartitionMcast * ogReceivePartitionMcast ==== Ejemplo Sesión Multicast para el servidor ==== Formato: PORTBASE:METHOD:ADDRESS:BITRATE:NCLIENTS:MAXTIME ==== Ejemplo Sesión Multicast para el/los cliente/s ==== Formato: PORTBASE == Ejemplo de un Deploy (UpdateCache+restore) con multicast con OG == NOTA: observar que el identificador de la sesión es el PORTBASE (9000) === El REPO - usa la función ogMcastSendFile- === sintaxis scripts-proceso para el REPO: {{{ sendFileMcast "path_file" "SESSIONMULTICASTserver" }}} ejemplo scripts-proceso para el REPO: {{{ sendFileMcast "/opt/opengnsys/images/PS1_PH1.img" "9000:full-duplex:239.194.17.36:90M:15:120" }}} === El cliente -usa la función ogMcastReceiverFile- === sintaxis scripts: {{{ restoreImage CACHE /imagen 1 1 MULTICAST $SESSIONMULTICASTclient }}} ejemplo scripts: {{{ restoreImage CACHE /PS1_PH1 1 1 MULTICAST 9000 }}} === Funciones usadas por sendFileMcast y restoreImage [MULTICAST] === Explicación sintaxis de función ogMcastSendFile(origen destino) usada por el scripts-proceso sendFileMcast {{{ * Origen: file 1 parametro: /path_fichero 2-3 parámetros: ContenedorIMAGEN /file -- contenedor específico para los ficheros_imagenes 2-3-4 parámetros: int_disk int_partition /file * Destinio SESSIONMULTICASTserver PORTBASE:METHOD:ADDRESS:BITRATE:NCLIENTS:MAXTIME }}} Sintaxis funcion: ogMcastReceiverFile Origen Destino {{{ * param 1 Origen: SESSIONMULTICASTclient * param 2-3 Destino: 2 parametro: /path_fichero 2-3 parámetros: ContenedorIMAGEN /file -- específico para las imagenes 2-3-4 parámetros: int_disk int_partition /file }}} == Ejemplo de un restoreImage por multicast con OG == == Ejemplo de una Clonación por multicast con OG ==