Creación de un gateway entre SMS y JMS para Kannel

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Creación de un gateway entre SMS y JMS para Kannel"

Transcripción

1 UNIVERSIDAD DE LAS AMÉRICAS PUEBLA Escuela de Ingeniería Departamento de Ingeniería en Sistemas Computacionales Creación de un gateway entre SMS y JMS para Kannel Tesis profesional presentada por Oscar Medina Duarte como requisito parcial para obtener el título de Licenciado en Ingeniería en Sistemas Computacionales Sta. Catarina Mártir, Puebla. Primavera de 2005

2 UNIVERSIDAD DE LAS AMÉRICAS PUEBLA Escuela de Ingeniería Departamento de Ingeniería en Sistemas Computacionales Creación de un gateway entre SMS y JMS para Kannel Tesis profesional presentada por Oscar Medina Duarte como requisito parcial para obtener el título de Licenciado en Ingeniería en Sistemas Computacionales Jurado Jose Luis Zechinelli Presidente Oleg Starostenko Vocal y Director Yuhsi Takahashi Secretario Sta. Catarina Mártir, Puebla. Mayo de 2005

3 UNIVERSIDAD DE LAS AMÉRICAS PUEBLA ESCUELA DE INGENIERÍA DEPARTAMENTO DE INGENIERÍA EN SISTEMAS COMPUTACIONALES HOJA DE FIRMAS Tesis presentada por Oscar Medina Duarte como requisito parcial para obtener el título de Licenciado en Ingeniería en Sistemas Computacionales. Aceptada por el Departamento de Ingeniería en Sistemas Computacionales Dr. Oleg Starostenko Vocal y Director Dr. Jose Luis Zechinelli Presidente M.C. Yuhsi Takahashi Secretario Dr. David Sol Martínez Jefe del Departamento Sta. Catarina Mártir, Cholula, Puebla a 17 de Mayo de 2005

4 A mis padres que con tanto esfuerzo y cariño me dieron la oportunidad de estudiar, a mis hermanos que siempre me alentaron a seguir, a mi novia Pao que siempre tuvo una caricia a pesar de mi ansiedad y un beso alentador para darme, a EC por su amistad y por esas 4 líneas de código y a todas las personas que tuvieron que ver con la realización de este trabajo. OM MANI PEME HUM

5 Índice general 1. Introducción Definición del problema Persistencia y fallas Componentes Objetivos Objetivos generales Objetivos específicos Alcances y limitaciones Alcances Limitaciones Recursos a utilizar Estado actual del problema Sistemas existentes Aportación Técnicas y tecnologías a usar Análisis de tecnologías Tecnologías existentes en el mercado Productos y tecnologías i

6 ÍNDICE GENERAL ii 2.2. Protocolo de intercambio de información y control en Kannel Método de desciframiento Descripción General del protocolo Análisis del protocolo Arquitectura Implementación kjprotocol API kjgateway Ejemplo simple Pruebas Funcionamiento del protocolo Funcionamiento del gateway Transacciones y persistencia Comentarios Evaluación del sistema Conclusiones Trabajo a futuro A. Kannel box protocol description 56 A.1. Current C structures A.2. Protocol Definition A.3. BNF of protocol packets A.3.1. Protocol Glossary B. Propiedades de configuración 65

7 ÍNDICE GENERAL iii C. Código fuente 67 C.1. mx.udlap.kjprotocol.adminkmessage C.2. mx.udlap.kjgateway.simplejmstransport C.3. mx.udlap.kjgateway.simplemessage C.4. mx.udlap.kjgateway.simpleservice D. Configuración de Kannel 81 E. Sniffing de sesiones 83 E.1. kjgateway sniffing E.2. smsbox sniffing Bibliografía 91

8 Capítulo 1 Introducción En los últimos años, se ha presentado una enorme demanda por servicios portátiles, a los que se les ha llamado tecnologías móviles, este repentino crecimiento de tecnologías ha traído consigo nuevas formas de hacer negocios y nuevos paradigmas para ofrecer servicios de información. Tal es el caso de los servicios de texto o SMS [1] [4] por sus siglas en inglés Short Message Service que permiten el intercambio de mensajes cortos (entre 140 y 160 caracteres como límite) entre teléfonos celulares o entre teléfonos celulares y una central de SMS (llamada SMSC [1] [4] por sus siglas en inglés Short Message Service Center) que a su vez, puede redirigir los mensajes a una entidad externa de mensajes cortos (llamada ESME [4] por sus siglas en inglés External Short Message Entity) donde pueden ser procesados para brindar servicios más complejos. Para que un ESME sea capaz de hospedar servicios, éste debe comunicarse con el SMSC mediante un protocolo de propósito específico, generalmente SMPP [4] que permite el intercambio de mensajes a través de una conexión punto a punto, que puede realizarse usando protocolos de más bajo nivel como TCP [3], PPP [8] u otros. Este enlace debe ser establecido por un gateway (SMS gateway) que implemente dicho protocolo e integre el enlace a los servicios de información que se van a ofrecer. Los servicios son atendidos por un software que recibe el mensaje del cliente, lo procesa y envía una 1

9 CAPÍTULO 1. INTRODUCCIÓN 2 ESME Servicio 1 Servicio 2 SMS Gateway SMPP SMSC Red Celular Servicio 3 SMPP Teléfono móvil Figura 1.1: Trayectoria de los mensajes transmitidos entre un servicio y un teléfono móvil respuesta de regreso en caso de ser requerido. A este software vamos a llamarlo servicio de ahora en adelante. Uno de los SMS gateways más populares actualmente, es el proyecto Kannel [2] [9], que es un WAP [7] y SMS gateway que sigue la filosofía OpenSource [10]. Kannel posee, entre otras características, la capacidad para crear servicios muy sencillos mediante el uso de archivos de configuración, pero para una aplicación en el mundo real, esta capacidad es bastante reducida, por lo que posee características que le permiten comunicarse con otros procesos usando HTTP [6], de este modo, servicios más complejos pueden ser desarrollados como aplicaciones web Definición del problema El protocolo que usa Kannel para comunicarse con otras aplicaciones (HTTP) funciona correctamente, pero tiene la desventaja de no haber sido diseñado específicamente

10 CAPÍTULO 1. INTRODUCCIÓN 3 para este propósito, lo cual trae con sigo algunos aspectos a considerar Persistencia y fallas HTTP no incorpora características para mantenimiento de persistencia, por lo que en caso de falla del sistema, pueden llegar a perderse mensajes, ya que no existe un método para recuperarlos. Tampoco existe el concepto de transacciones por lo que no se tiene un control de las acciones que son iniciadas y terminadas con éxito Componentes Kannel puede ser configurado para funcionar de manera distribuida, pero sus componentes realizan demasiadas tareas que en la mayoría de los casos no son utilizadas. El funcionamiento de unos componentes depende del de otros de manera directa, por lo que podemos decir que los módulos de Kannel no son del todo autónomos Objetivos Objetivos generales Crear un módulo para Kannel (box) que sirva como gateway entre el protocolo nativo/intenrno de Kannel y Java mediante el uso de JMS que permita persistencia de los mensajes y uso de transacciones Objetivos específicos 1. Habilitar la persistencia de mensajes transferidos entre Kannel y un servicio SMS mediante la integración con JMS que permite administrar esta característica.

11 CAPÍTULO 1. INTRODUCCIÓN 4 2. Habilitar las características de JMS para uso de transacciones en las colas de mensajes compartidas por el gateway y una aplicación de servicio SMS. 3. Reducir el tamaño de los componentes de un Gateway basado en Kannel. 4. Aumentar la autonomía de la administración de los componentes. 5. Determinar si es necesario modificar el bearerbox para una conexión más estable Alcances y limitaciones Alcances 1. Desarrollar un módulo (box) capaz de mantener una conexión con el bearerbox de Kannel. 2. El software resultante tendrá las características necesarias para la etapa de pruebas. 3. Crear una arquitectura que permita mayor autonomía de los componentes del sistema. 4. Realizar pruebas con el nuevo módulo: a) Que demuestren la funcionalidad básica de la implementación del protocolo. b) Con simulaciones de casos de tráfico extremo. c) Con un servicio de ejemplo.

12 CAPÍTULO 1. INTRODUCCIÓN Limitaciones 1. La manera de configurar el software resultante será principalmente mediante archivos de configuración. 2. El manual resultante tendrá sólo las características necesarias para que otras personas de la comunidad puedan experimentar con él. 3. La documentación del software deberá estar escrita en inglés con el objeto de facilitar la participación de la comunidad en el proyecto. 4. Las pruebas se limitarán al hardware, software y conexiones disponibles al momento de la experimentación Recursos a utilizar Hardware Los requerimientos de hardware dependerán de los requerimientos de las herramientas de software a utilizar. Software Las pruebas se realizarán usando la versión CVS de Kannel más reciente disponible y compatible al momento de realizar las pruebas. Se utilizará cualquier sistema operativo que soporte el uso de las herramientas requeridas: 1. Java como plataforma y lenguaje de programación principal 2. jedit como interfaz de desarrollo 3. gcc Kannel está escrito en C asi que es probable llegar a utilizar algunas librerías o desarrollar partes en C.

13 CAPÍTULO 1. INTRODUCCIÓN 6 4. ethereal/tcpdump software de monitoreo de bajo nivel para analizar la información transferida. 5. Kannel es preferente trabajar con la última versión cvs de Kannel. 6. JBoss para usar su implementación de JMS y otras características Estado actual del problema Sistemas existentes No hay sistemas disponibles en la red que resuelvan estos problemas en Kannel, lo más cercano a éste, son sistemas que reciben los mensajes de Kannel por HTTP y a continuación los traducen a una especificación de JMS para distribuirlos a sus servicios. Esto es, usando el smsbox incluido en Kannel que presenta las desventajas mostradas en la sección 1.1. Componentes de Kannel Los componentes en Kannel son llamados box es en el lenguaje del proyecto, y existen tres tipos principales: bearerbox smsbox wapbox El bearerbox o bearer es el encargado de realizar las conexiones con los SMSC s y realizar el ruteo entre las conexiones y los servicios, el smsbox se conecta al bearer mediante un protocolo interno y es el encargado de atender los servicios SMS, y el wapbox

14 CAPÍTULO 1. INTRODUCCIÓN 7 se encarga del mismo modo de atender servicios WAP. De los problemas que se han expuesto en la sección 1.1, el único que ha intentado resolverse ha sido el de la persistencia, pero su solución hasta el momento no ha mostrado buenos resultados, actualmente (Octubre 2004) es la parte más discutida y modificada diariamente por los desarrolladores interesados. Para intentar resolver este problema, el bearerbox implementa una cola de mensajes interna que almacena los mensajes de tres modos posibles: Memoria RAM - Veloz pero no es persistente. Archivo - Persistente pero muy lento. Base de Datos - Promedio de los anteriores. Estos métodos, en condiciones de alto tráfico o tráfico con ciertas características, suele fallar, resultando en la pérdida de algunos mensajes Aportación La idea aquí es la implementación de un smsbox que en lugar de proveer sus servicios a través de HTTP, lo haga a través de JMS. Podríamos decir que se va a implementar un jsmsbox que tomará en cuenta los aspectos negativos del smsbox (Secc. 1.1 ) para corregirlos Técnicas y tecnologías a usar Reverse Engineering, para descifrar el protocolo nativo de Kannel Packet Sniffing, para descifrar el protocolo nativo de Kannel principalmente. J2EE, se usará como ambiente en algunos casos y pruebas para demostrar integración.

15 CAPÍTULO 1. INTRODUCCIÓN 8 JMS, especificación de MQ de Java. Los lenguajes que serán más probablemente utilizados son: Java, C, Bourne Shell.

16 Capítulo 2 Análisis de tecnologías 2.1. Tecnologías existentes en el mercado Dado el acelerado crecimiento comercial en la prestación de servicicios móviles basados en texto, existe en el mercado una oferta considerable de soluciones con distintos enfoques y características, mismas que a continuación, serán exploradas de manera general Productos y tecnologías Hay una buena gama de opciones y diferencias entre los distintos productos SMS. La razón por la que se ha escogido Kannel para este proyecto, es que de todos, es uno de los más aceptados a nivel general por las empresas, ya que implementa una gran cantidad de protocolos smsc de manera correcta, por ser suficientemente estable en condiciones de producción, y por ser Open Source, lo que implica que es un proyecto constantemente actualizado y con un buen control de calidad, ya que la cantidad de desarrolladores y usuarios es alta, y todos están en constante comunicación.(tabla 2.1) 9

17 CAPÍTULO 2. ANÁLISIS DE TECNOLOGÍAS 10 Plataforma El primer punto a explorar es la integración con Java, es decir que un producto esté preparado naturalmente para interactuar con Java o no; en este caso, Kannel no lo está. De ahi nace la necesidad de crear un gateway entre el protocolo nativo de Kannel y Java, para dicho efecto, es necesaria la implementación de un API que pueda descifrar y codificar dicho protocolo. J2SE es la versión estándard de java, que cuenta únicamente con las herramientas para que un programa use la máquina virtual (JVM). Comunicación entre aplicaciones/componentes Éste es un punto clave en el diseño de un producto SMS, ya que de ello depende en gran medida la flexibilidad que pueda llegar a tener una aplicación soportada por éste. Actualmente, el modelo más popular por su facilidad de implementación es HTTP, que padece de los problemas descritos en el capítulo 1. Un método que aún no ha sido explotado por completo, y que resuelve muchos de los problemas presentados por HTTP son las colas de mensajes (MQ). Cabe señalar, que para este trabajo, la atención será en particular para el servicio de mensajes de Java (JMS). Open Source El tipo de licencia de un producto es importante por que de éste depende el alcance del proyecto y el costo. En nuestro caso, Kannel usa una licencia tipo BSD que no restringe ni el tipo de uso del software ni del código fuente del mismo, siempre y cuando se conserve dicha licencia, a diferencia de otros productos que son caros y de accesso restringido al código fuente para desarrollo experimental.

18 CAPÍTULO 2. ANÁLISIS DE TECNOLOGÍAS 11 J2SE J2EE JMS HTTP WebService OpenSource Dist. Sist.Oper. Kannel X Tipo BSD X Multi Provato NCL X X X X X No X Multi Now SMS X No Windows Donald X No X Windows EMS X X X X X No X Multi Tabla 2.1: Relación entre algunos productos similares a Kannel, tecnologías y otras características relevantes 2.2. Protocolo de intercambio de información y control en Kannel Para lograr comunicar cada módulo, Kannel implementa un sencillo protocolo de propósito especifico basado en estructuras (struct) de C (Ver A.1). Para realizar un análisis de este protocolo, primero fue necesario descifrarlo, para generar una especificación del mismo (Apéndice A) Método de desciframiento El problema para usar el mismo protocolo que Kannel usa, radica en que no existe documentacion del mismo, nadie más que él que lo desarrolló sabe exactamente cómo es que éste de hecho funciona. Entonces, el siguiente paso fue preguntar en la lista de desarrolladores, pero al hacerlo nadie pudo responder con un docuemnto detallado al respecto y sugirieron investigarlo en el código fuente de Kannel. Ingeniería inversa con código fuente Para descifrar el protocolo usando el código fuente, hubo que ir rastreando y corriendo el código a mano hasta hallar los archivos y líneas que manejan en primer lugar la representación de los datos, lo cual fue encontrado en los archivos msg.c, msg.h y

19 CAPÍTULO 2. ANÁLISIS DE TECNOLOGÍAS 12 msg-decl.h. Una vez hallados estos archivos hubo que ejecutar el preprocesador de C para llegar a una definición de estructuras de C entendible por el programador promedio (Ver A.1). Ingeniería inversa con sniffer Para observar en realidad como es que se comportan los paquetes del protocolo en el medio usando un sniffer (Figura 2.1), lo primero que debe hacerse es identificar un paquete correspondiente al protocolo, en este caso se observa el primer paquete enviado por un smsbox al iniciar una sesión con el bearerbox : 0 x a c397 7 f E.. 0 x f a4 1 a0b 1 c28 15 c3 1 c80 99 e0...(... 0 x fff 9 bb a cda... l. 0 x cda c l... 0 x0040 ffff ffff... Los primeros 20 bytes corresponden al encabezado IP: a c397 7 f f Los siguientes 32 bytes, corresponden al encabezado TCP: 80 a4 1 a0b 1 c28 15 c3 1 c80 99 e fff 9 bb a cda cda Y finalmente los ultimos 16 bytes, corresponden al paquete de identificación de Kannel : c ffff ffff

20 CAPÍTULO 2. ANÁLISIS DE TECNOLOGÍAS 13 Figura 2.1: Paquete de identificación de un smsbox a un bearerbox desplegados en una ventana de ethereal Donde, los primeros 4 bytes, corresponden al tamaño del paquete: c = 13 Los siguientes 4 bytes, corresponden al tipo de paquete: = 1 = admin Los siguientes 4 bytes, corresponden al comando solicitado: = 3 = Identification Y los 4 bytes restantes al identificador interno del smsbox Descripción General del protocolo Este protocolo mantiene conectados dos módulos de kannel entre sí, permitiendo la transferencia de datos y paquetes entre ellos.

21 CAPÍTULO 2. ANÁLISIS DE TECNOLOGÍAS 14 Una sesión es iniciada cuando un módulo cliente solicita conectarse al bearerbox enviando un comando administrativo que solicita ser identificado. La misma es terminada cuando el bearerbox solicita al cliente ser apagado o reiniciado. Durante la sesión, ambas partes pueden enviar latidos (heartbeats) entre sí para indicar a la otra parte que el enlace está activo y la aplicación esta viva. En una sesión con uns smsbox cuando un smsbox ha establecido una sesión, puede enviar y recibir packetes tipo SMS. En una sesión con un wapbox cuando un smsbox ha establecido una sesión, puede enviar y recibir datagramas WDP (Wireless Datagram Protocol). Nota: Para mayores detalles sobre el protocolo ver el apéndice A Análisis del protocolo La intención original, fue hacer una especificación del protocolo que usa Kannel, pero después de descifrarlo y estudiarlo, he creído que no es apropiado nombrarle especificación, sino nombrarle descripción (Apéndice A), ya que la única instancia del protocolo se encuentra implícita dentro del código fuente, sin una estructura clara del mismo que pudiera fácilmente ser descrita usando pseudocódigo. Seguridad El protcolo no soporta actualmente mecanismos formales de autenticación más que por medio de la dirección IP, pero este tipo de autenticación no forma parte del protocolo, sino de la implementación. Otra forma en la que puede autenticarse una conexión por medio de este protocolo es mediante el uso de tecnologías como SSL (Secure Socket Layer s), pero éste sigue estando fuera de los verdaderos alcances del protocolo y es también un factor de implementación.

22 CAPÍTULO 2. ANÁLISIS DE TECNOLOGÍAS 15 Desempeño El planteamiento estructural del protocolo es apropiado, pero está implementado usando tipos de datos nativos de C, lo cual hace que la cantidad de información transmitida sea tan excesiva, que algunos paquetes llegan a ser casi 3 veces más grandes de lo que realmente necesitan ser. Tomemos por ejemplo, el paquete de la sección 2.2.1: c ffff ffff Si lo agrupamos por campos, c ffffffff ^------^ ^------^ ^------^ ^------^ Longitud Tipo Comando ID podemos ver que dado el tipo de aplicación: La longitud, nunca llegará a ser mayor a unos cuantos cientos de bytes, para los casos más extremos, siendo el promedio de unos cuantos cientos de bytes, por lo que el uso de un entero con signo de 4 bytes es excesivo, el uso de un entero con signo de 2 bytes, estaría muy holgado en este campo. Los tipos de paquetes actualmente definidos son 5, por lo que 3 bits, serían suficientes, el problema en dicho caso, sería la necesidad del uso de bits de relleno para transmitirlo con facilidad; por esto, sería conveniente la asignación de 4 bits (medio byte) para dicho campo, lo cual nos daría una buena holgura para siguientes diseños basados en este protocolo. Comando, la situación es la misma que la anterior. Si para este caso asignáramos otra vez 4 bits, podríamos fusionar el campo anterior con este para tener un byte completo para ambos campos.

23 CAPÍTULO 2. ANÁLISIS DE TECNOLOGÍAS 16 ID, se refiere al identificador del cliente que se conecta al bearerbox. Para éste tenemos que el número real de clientes que tendría el bearerbox raramente sería mayor a una docena, pero si suponemos que todos los servicios SMS del mundo fueran a concentrarse a través de un bearerbox, y que cada país necesitara 10 clientes bearerbox para satisfacer la demanda (ambos casos excesivos), tomando en cuenta el conteo actual (2004) de países miembors de la ONU (para tener un número más o menos estable), tendríamos la necesidad de asignar = 1910 identificadores lo cual puede hacerse en con 11 bits; si esta cantidad la redondeamos a 16 bits, para tener un identificador de 2 bytes, tendríamos espacio para asignar identidicadores, mucho más que lo que hace un momento creíamos suficiente. Tomando en cuenta estos cálculos, podríamos mejorar esto: c ffff ffff en esto : 000 c 13 ffff una formación optimizada del paquete, de 5 bytes contra 16 bytes. Después de analizar este protocolo, es fácil notar que es mejorable en muchos aspectos, pero a pesar de todo puede ser usado para nuestros propósitos, con mínimas o ninguna adaptación tanto del bearerbox como del protocolo.

24 Capítulo 3 Arquitectura Este sistema de manera global presenta cuatro módulos: bearerbox de Kannel, kj- Gateway, Java Message Service y aplicación de servicio (Ver figura 3.1). bearerbox Este es el módulo de kannel que se conecta a una central de sms (SMSC), es la parte básica de un ESME (External Short Message Entity). Es el nivel más bajo de conexión que concede un proveedor de servicios de texto en telefonía celular para agregadores de servicio. El protocolo más popular para este efecto es SMPP mismo que ha sido elegido para realizar las pruebas. kjgateway Este es el módulo principal. Es un intermediario entre kannel y JMS. Al integrarse con JMS, características como persistencia y transacciones pueden ser fácilmente configuradas. Éste se comunica con el bearerbox usando el protocolo interno de Kannel, mismo que fue decodificado e implementado en Java para la realización de este proyecto. En la figura 3.2 podemos ver de modo un poco más detallado los módulos internos de kjgateway. 17

25 CAPÍTULO 3. ARQUITECTURA 18 Teléfono Móvil Red de Telefonía Celular bearerbox kjgateway Java Message Service Servicio 1 Servicio n Figura 3.1: Modo en que cada componente se conecta en un sistema sms gateway basado en JMS

26 CAPÍTULO 3. ARQUITECTURA 19 Flujo de entrada bearerbox Flujo de salida Flujo de salida kjgateway Flujo de entrada KjWriting Thread ack Thread KjReading Thread JMS Transfer Flujo de salida Flujo de entrada Flujo de entrada Java Message Service Flujo de salida Figura 3.2: Arquitectura de kjgateway

27 CAPÍTULO 3. ARQUITECTURA 20 Para detallar el diseño de este módulo, podemos observar en el diagrama de la figura 3.3 cómo es que las clases y objetos que modelan este componente se relacionan. La clase principal desde el punto de vista del gateway es la clase KannelJMSGateway, que instancía a las clases KjWritingThread, KjReadingThread, AckCycleThread, KannelBinding y una implementación de la clase JMSTransport que es cargada de manera dinámica como se le indique desde un Objeto Properties. kjreadingthread Esta clase es un subproceso o hilo encargado de leer mensajes entrantes del bearerbox usando la conexión especificada por KannelBinding. Este thread hace una lectura que se bloquea hasta que recibe un mensaje completo; al desbloquearse, si el mensaje es válido, lo procesa de acuerdo a su tipo: 1. SMS - Llama a un método de la interfase JMSTransport para indicarle que un nuevo mensaje ha llegado. 2. ACK - Llama a un método de la clase AckCycleThread para indicarle que se ha recibido la confirmación de un mensaje enviado anteriomente. 3. Otros - Son ignorados ya que el prototipo no los requiere para la etapa de pruebas. JMSTransport Esta interfase está diseñada para intercambiar mensajes entre JMS y Kannel (Figura 3.4). Contiene los prototipos de los métodos: gotmomessage, gotmtmessage, addkjwritingthread y start. gotmomessage - este método es llamado por kjreadingthread para notificar que ha recibido un mensaje originado en la red de telefonía, típicamente un teléfono celular.

28 CAPÍTULO 3. ARQUITECTURA 21 Figura 3.3: Diagrama de clases de kjgateway

29 CAPÍTULO 3. ARQUITECTURA 22 jmstransport K a n n e l Flujo de entrada Flujo de salida Kannel to JMS Converter JMS to Kannel Converter JMS Publisher JMS Subscriber J M S P r o v i d e r Figura 3.4: Funcionamiento de jmstransport gotmtmessage (uso futuro) - La semántica de este método se refiere a las acciones a llevar a cabo cuando un mensaje con destino a la red de telefonía ha llegado al sistema. addkjwritingthread - Agrega un objeto de la clase KjWritingThread al objeto actual, para permitirle enviar mensajes a la red de telefonía celular. start inicializa un objeto de esta clase tomando las propiedades que recibe como parámetro. Típicamente, este método implementará los mecanismos necesarios para permitir que las funciones básicas del mismo estén vigentes. kjwritingthread Este subproceso se encarga de escribir mensajes para el bearerbox, ya sea de contenido o de control. Cuando envía un mensaje de contenido, manda una copia del mismo mensaje al AckCycleThread en espera de una confirmación de entrega. El principal

30 CAPÍTULO 3. ARQUITECTURA 23 Figura 3.5: Diagrama de clase de kjwritingthread método que implementa esta clase es send. Esta clase (Figura 3.5) puede funcionar en forma de hilo y en forma de objeto normal, la diferencia es que cuando funciona como thread, se usa el método sendonthread para enviar mensajes. Al llamar a este método, los mensajes se agregan a una lista ligada (LinkedList) que funciona como un buffer y se intentan enviar los mensajes de la cola en un ciclo que se repite en un lapso de tiempo determinado. En el caso contrario, los mensajes son enviados tan pronto como sea posible, bloqueando el método hasta que se logre enviar el mensaje; esto significa que si existe previamente un buffer para escribir, el método podría bloquearse indefinidamente. AckCycleThread Esta clase es un subproceso que administra el reenvío de mensajes, y su tiempo de vida dentro de la aplicación, es decir, cuanto tiempo hay que esperar antes de reenviar un mensaje o si se ha recibido una confirmación de su entrega. Cada vez que un mensaje es enviado, esta clase es notificada en espera de un acuse de recibo (acknowledge) de la parte receptora, en caso de no recibir tal mensaje en un periodo determinado de tiempo, intentará reenviar dicho mensaje nuevamente hasta

31 CAPÍTULO 3. ARQUITECTURA 24 Figura 3.6: Diagrama de clase de AckCycleThread expirar su tiempo de vida o hasta recibir dicha respuesta. Figura 3.6. Sus principales métodos son waitack y confirmack. waitack recibe un mensaje de texto para el que hay que esperar un acknowledge. confirmack recibe un acknowledge que en caso de coincidir con un mensaje, confirmará su recepción. El funcionamiento de esta clase está basado en un Hashtable que contiene los mensajes indexados usando su correspondiente UUID, cuya confirmación es esperada. La llamada de waitack agrega una entrada en dicho Hashtable y la llamada de confirmack lo elimina. Cada determinado lapso de tiempo (frecuency) se intentan reenviar los mensajes aún contenidos en el Hashtable. kjprotocol API Las conexiones con Kannel usan una implementación de un protocolo de bajo nivel

32 CAPÍTULO 3. ARQUITECTURA 25 creado por los primeros desarrolladores de Kannel, a ésta se le ha llamado kjprotocol. Contiene las clases esenciales (Figura 3.7) para leer y escribir mensajes del mismo modo que lo hacen los módulos de Kannel, permitiendo así el desarrollo de componentes compatibles con Kannel bajo Java. BasicPacket Esta clase 3.8 hereda los atributos length y type para los demás tipos de paquetes, de modo que los métodos que requieran saber el tipo o longitud de un mensaje, puedan hacerlo sin tener que escribir un método sobrecargado para cada tipo de paquete existente. BasicKannelProtocolMessage Esta interfase especifica los métodos getmessage y setmessage que son usados por métodos que leen o escriben paquetes de un flujo de datos conectado con un módulo de kannel, en este caso con un bearer box. Aplicación de servicio Son módulos que se conectan usando JMS como protocolo de conexión para intercambiar mensajes SMS entre la aplicación o servicio y los clientes de la red de telefonía. Algunos ejemplos de servicios que pueden ser ofrecidos son los micro pagos por servicios materiales o la venta de contenido de personalización para celulares. En el capítulo 4.3 se presenta de manera más detallada el diseño e implementación de una aplicación de servicio de ejemplo. Conclusión En este capítulo, hemos mostrado de modo general como es que los principales módulos están relacionados con las clases que fueron implementadas

En este capítulo se analizará la correctitud de implementación y funcionamiento de

En este capítulo se analizará la correctitud de implementación y funcionamiento de Capítulo 5 Pruebas En este capítulo se analizará la correctitud de implementación y funcionamiento de algunos aspectos del software. Para tener un ambiente de pruebas apropiado, se debe tener en primer

Más detalles

En los últimos años, se ha presentado una enorme demanda por servicios portátiles,

En los últimos años, se ha presentado una enorme demanda por servicios portátiles, Capítulo 1 Introducción En los últimos años, se ha presentado una enorme demanda por servicios portátiles, a los que se les ha llamado tecnologías móviles, este repentino crecimiento de tecnologías ha

Más detalles

Este sistema de manera global presenta cuatro módulos: bearerbox de Kannel, kj-

Este sistema de manera global presenta cuatro módulos: bearerbox de Kannel, kj- Capítulo 3 Arquitectura Este sistema de manera global presenta cuatro módulos: bearerbox de Kannel, kj- Gateway, Java Message Service y aplicación de servicio (Ver figura 3.1). bearerbox Este es el módulo

Más detalles

Creación de un gateway entre SMS y JMS para Kannel

Creación de un gateway entre SMS y JMS para Kannel UNIVERSIDAD DE LAS AMÉRICAS - PUEBLA Escuela de Ingeniería Departamento de Ingeniería en Sistemas Computacionales Presentación de la tesis titulada: Creación de un gateway entre SMS y JMS para Kannel Oscar

Más detalles

MOM LSUB. 3 de abril de 2013 GSYC

MOM LSUB. 3 de abril de 2013 GSYC MOM LSUB GSYC 3 de abril de 2013 (cc) 2013 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial - SinObraDerivada

Más detalles

Utilización de los puertos serial y paralelo de una PC usando LabView

Utilización de los puertos serial y paralelo de una PC usando LabView Universidad del Táchira Departamento de Ingeniería Electrónica Instrumentación Electrónica Utilización de los puertos serial y paralelo de una PC usando LabView Hecho Por: Ing. Rafael Chacón Ing. José

Más detalles

Redes (IS20) Ingeniería Técnica en Informática de Sistemas. http://www.icc.uji.es. CAPÍTULO 8: El nivel de transporte en Internet

Redes (IS20) Ingeniería Técnica en Informática de Sistemas. http://www.icc.uji.es. CAPÍTULO 8: El nivel de transporte en Internet Redes (IS20) Ingeniería Técnica en Informática de Sistemas http://www.icc.uji.es CAPÍTULO 8: El nivel de transporte en Internet ÍNDICE 1. Introducción Curso 2002-2003 - Redes (IS20) -Capítulo 8 1 1. Introducción

Más detalles

Ethereal. Este instructivo describe el uso del programa Ethereal para examinar paquetes en una red de datos.

Ethereal. Este instructivo describe el uso del programa Ethereal para examinar paquetes en una red de datos. Instituto de Ingeniería Eléctrica Redes de Datos. Objetivo. Ethereal Este instructivo describe el uso del programa Ethereal para examinar paquetes en una red de datos. Analizadores de Protocolos de Red.

Más detalles

Escritorios Remotos 1. RDP

Escritorios Remotos 1. RDP Escritorios Remotos 1. RDP RDP (Remote Desktop Protocol = Protocolo de Acceso a un Escritorio Remoto) es un protocolo desarrollado por Microsoft que permite manipular, de manera remota, el escritorio de

Más detalles

CONFIGURACION DEL MODULO SMS EN ELASTIX

CONFIGURACION DEL MODULO SMS EN ELASTIX En esta guía se explica cómo instalar y configurar el modulo para el envío masivo de mensajes SMS en Elastix. En esta Guía se explica cómo Instalar y Configurar el modulo de SMS en Elastix El conocimiento

Más detalles

CAPÍTULO MODBUS TCP ECOM100 PARA H0/H2- En este capítulo...

CAPÍTULO MODBUS TCP ECOM100 PARA H0/H2- En este capítulo... TCP PARA H0/H2- ECOM100 CAPÍTULO 5 En este capítulo... TCP - Definiciones...............................5-2 Códigos de funciones apoyados....................5-4 Operación de servidor (esclavo) de la red.....................5-5

Más detalles

Análisis de comunicaciones TCP/IP con Ethereal

Análisis de comunicaciones TCP/IP con Ethereal Taller Federico Lazcano flazcano@eie.fceia.unr.edu.ar Área Comunicaciones Escuela de Ingeniería Electrónica Facultad de Ciencias Exactas, Ingeniería y Agrimensura Universidad Nacional de Rosario Página

Más detalles

Componentes de Integración entre Plataformas Información Detallada

Componentes de Integración entre Plataformas Información Detallada Componentes de Integración entre Plataformas Información Detallada Active Directory Integration Integración con el Directorio Activo Active Directory es el servicio de directorio para Windows 2000 Server.

Más detalles

Laboratorio práctico 8.3.4.4 Configuración y prueba del cliente VPN

Laboratorio práctico 8.3.4.4 Configuración y prueba del cliente VPN Laboratorio práctico 8.3.4.4 Configuración y prueba del cliente VPN Dispositivo Nombre de Host FastEthernet 0/0 o dirección IP de NIC Dirección IP de FastEthernet 0/1 Gateway predeterminado Contraseña

Más detalles

SEGURIDAD EN REDES. NOMBRE: Daniel Leonardo Proaño Rosero. TEMA: SSH server

SEGURIDAD EN REDES. NOMBRE: Daniel Leonardo Proaño Rosero. TEMA: SSH server SEGURIDAD EN REDES NOMBRE: Daniel Leonardo Proaño Rosero TEMA: SSH server SSH (Secure SHell, en español: intérprete de órdenes segura) es el nombre de un protocolo y del programa que lo implementa, y sirve

Más detalles

Taller Desarrollando aplicaciones con Bluevia y Java

Taller Desarrollando aplicaciones con Bluevia y Java Taller Desarrollando aplicaciones con Bluevia y Java Versión 1.0 Junio 30 de 2011 TABLA DE CONTENIDO 1. OBJETIVOS... 3 2. INTRODUCCIÓN... 3 3. REQUISITOS... 3 4. PREPARACIÓN DEL AMBIENTE... 3 5. REGISTRO

Más detalles

WireShark. Este instructivo describe el uso del programa WireShark (antes llamado Ethereal) para examinar paquetes en una red de datos.

WireShark. Este instructivo describe el uso del programa WireShark (antes llamado Ethereal) para examinar paquetes en una red de datos. Redes de Datos - Laboratorio Objetivo WireShark Este instructivo describe el uso del programa WireShark (antes llamado Ethereal) para examinar paquetes en una red de datos. Analizadores de Protocolos de

Más detalles

Instalación, creación y configuración del servicio FTP

Instalación, creación y configuración del servicio FTP Instalación, creación y configuración del servicio OBJETIVOS Instalar el servicio de en Windows. Configurar y administrar el Servicio de en Windows. Prueba de acceso desde la LAN al servidor. Apertura

Más detalles

Tekla Structures Guía del Administrador de Licencias. Versión del producto 21.1 septiembre 2015. 2015 Tekla Corporation

Tekla Structures Guía del Administrador de Licencias. Versión del producto 21.1 septiembre 2015. 2015 Tekla Corporation Tekla Structures Guía del Administrador de Licencias Versión del producto 21.1 septiembre 2015 2015 Tekla Corporation Contenido 1 Sistema de licencias de Tekla Structures... 5 1.1 Lista de comprobación

Más detalles

2.1 Compuertas para Bases de Datos

2.1 Compuertas para Bases de Datos 1 Colección de Tesis Digitales Universidad de las Américas Puebla Romero Martínez, Modesto Uno de los aspectos mas importantes en un sistema multibase de datos es la forma en como llevar a cabo la comunicación

Más detalles

Instituto Tecnológico y de Estudios Superiores de Monterrey Práctica de Laboratorio 4 Implementación de un NAPT

Instituto Tecnológico y de Estudios Superiores de Monterrey Práctica de Laboratorio 4 Implementación de un NAPT Instituto Tecnológico y de Estudios Superiores de Monterrey Práctica de Laboratorio 4 Implementación de un NAPT Marco teórico: La red más grande del mundo, Internet, ha tenido un gran crecimiento en la

Más detalles

Message Oriented Middleware: Java JMS

Message Oriented Middleware: Java JMS Message Oriented Middleware: Java JMS LSUB GSYC 29 de abril de 2015 (cc) 2013 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento

Más detalles

UNIVERSIDADE DA CORUÑA Departamento de Tecnoloxías da Información e as Comunicacións LABORATORIO DE RC: TUTORIAL DE SOCKETS EN JAVA

UNIVERSIDADE DA CORUÑA Departamento de Tecnoloxías da Información e as Comunicacións LABORATORIO DE RC: TUTORIAL DE SOCKETS EN JAVA UNIVERSIDADE DA CORUÑA Departamento de Tecnoloxías da Información e as Comunicacións LABORATORIO DE RC: TUTORIAL DE SOCKETS EN JAVA Índice 1. Presentación...3 2. Conceptos básicos...4 2.1. TCP...4 2.2.

Más detalles

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK. Introducción Java surgió en 1991 dentro de la empresa Sun Microsystems como un lenguaje de programación sencillo y universal destinado a electrodomésticos. La reducida potencia de cálculo y memoria de

Más detalles

REDES DE COMPUTADORES REDES Y SISTEMAS DISTRIBUIDOS

REDES DE COMPUTADORES REDES Y SISTEMAS DISTRIBUIDOS REDES DE COMPUTADORES REDES Y SISTEMAS DISTRIBUIDOS Título de la práctica Sesión Monitorización de redes con Ethereal Semana 15/01/2007 Laboratorio 2.2 Material utilizado PCs, PC-Router, Routers Linksys

Más detalles

Manual de Configuración Cámaras IP Wanscam

Manual de Configuración Cámaras IP Wanscam Manual de Configuración Cámaras IP Wanscam 1 1.- Configuración ----------------------------------------------------------------------------------------- 3 1.1.- Configuración inicial en pc-------------------------------------------------------------------------------

Más detalles

Capítulo III. Análisis y diseño.

Capítulo III. Análisis y diseño. Capítulo III. Análisis y diseño. 3.1 Análisis. El análisis es el intermediario entre los requisitos del sistema y el diseño, esta sección definiremos el análisis con una serie de modelos técnicos del sistema,

Más detalles

Asignatura: Laboratorio de Computadores. Curso 2007-08. 5º Semestre, 3er. Curso. Ingeniería Informática. Práctica de SOCKETS

Asignatura: Laboratorio de Computadores. Curso 2007-08. 5º Semestre, 3er. Curso. Ingeniería Informática. Práctica de SOCKETS Asignatura: Laboratorio de Computadores. Curso 2007-08. 5º Semestre, 3er. Curso. Ingeniería Informática. Práctica de SOCKETS Especificación de la práctica: Un protocolo sencillo para transferencia de ficheros

Más detalles

IS23 Mantenimiento de Instalaciones Informáticas Práctica 7. Análisis de redes

IS23 Mantenimiento de Instalaciones Informáticas Práctica 7. Análisis de redes IS23 Mantenimiento de Instalaciones Informáticas Práctica 7. Análisis de redes 1 Objetivos Ingeniería Técnica Informática de Sistemas Curso 2003/2004 En la presente sesión se pretende familiarizar al alumno

Más detalles

Manual de Usuario. Manual de Instalación Compucaja.Net y SQL Server 2012

Manual de Usuario. Manual de Instalación Compucaja.Net y SQL Server 2012 Manual de Usuario Manual de Instalación Compucaja.Net y SQL Server 2012 Hoja de Contenido Requerimientos mínimos 4 Instalación de COMPUCAJA.net 5 Instalación Microsoft SQL Server 2012 Express 11 Herramientas

Más detalles

TCP/IP. IRI 2 do cuatrimestre 2015

TCP/IP. IRI 2 do cuatrimestre 2015 TCP/IP IRI 2 do cuatrimestre 2015 Redes y Protocolos Una red es un conjunto de computadoras o dispositivos que pueden comunicarse a través de un medio de transmisión en una red. Los pedidos y datos de

Más detalles

U.T.4.EL ENTORNO DE DESARROLLO

U.T.4.EL ENTORNO DE DESARROLLO U.T.4.EL ENTORNO DE DESARROLLO Lenguaje Java Estamos en unos días en los que cada vez más la informática invade más campos de nuestra vida, estando el ciudadano medio cada vez más familiarizado con términos

Más detalles

TEMA: PROTOCOLOS TCP/IP

TEMA: PROTOCOLOS TCP/IP TEMA: PROTOCOLOS TCP/IP HISTORIA: El Protocolo de Internet (IP) y el Protocolo de Transmisión (TCP), fueron desarrollados inicialmente en 1973 por el informático estadounidense Vinton Cerf como parte de

Más detalles

Técnicas y Herramientas de Ataque a Redes TCP/IP

Técnicas y Herramientas de Ataque a Redes TCP/IP Introducción Wireshark,, antes conocido como Ethereal, es un sniffer que se compone de un gran número de utilidades, capaz de analizar múltiples protocolos, de ahí que sea uno de los sniffers más conocidos

Más detalles

PRÁCTICA # 3 CAPTURA Y ANÁLISIS DE TRÁFICO MEDIANTE EL USO DE UN ANALIZADOR DE PROTOCOLOS

PRÁCTICA # 3 CAPTURA Y ANÁLISIS DE TRÁFICO MEDIANTE EL USO DE UN ANALIZADOR DE PROTOCOLOS REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA DEFENSA UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA NÚCLEO CARACAS INGENIERÍA EN TELECOMUNICACIONES REDES DE

Más detalles

Reproductor Multimedia Streaming v0.1

Reproductor Multimedia Streaming v0.1 Reproductor Multimedia Streaming v0.1 Joaquín Gutiérrez Gil Universidad Pablo de Olavide Ingeniería Técnica en Informática de Gestión Asignatura Proyecto Introducción El presente documento trata sobre

Más detalles

Guía 7: Virtualización. 1. Configurar una infraestructura de hardware por varios sistemas operativos funcionando de forma totalmente independiente.

Guía 7: Virtualización. 1. Configurar una infraestructura de hardware por varios sistemas operativos funcionando de forma totalmente independiente. Arquitectura de Computadoras: Guía 7 1 Facultad: Ingeniería. Escuela: Electrónica Asignatura: Arquitectura de Computadoras Guía 7: Virtualización. Objetivo General 1. Configurar una infraestructura de

Más detalles

Práctica de laboratorio: Uso de Wireshark para examinar una captura de UDP y DNS

Práctica de laboratorio: Uso de Wireshark para examinar una captura de UDP y DNS Práctica de laboratorio: Uso de Wireshark para examinar una captura de UDP y DNS Topología Objetivos Parte 1: Registrar la información de configuración IP de una PC Parte 2: Utilizar Wireshark para capturar

Más detalles

Router Teldat. Agente SNMP

Router Teldat. Agente SNMP Router Teldat Agente SNMP Doc. DM512 Rev. 8.40 Septiembre, 2000 ÍNDICE Capítulo 1 Introducción al protocolo SNMP... 1 1. Introducción...2 2. Tipos de paquetes SNMP...3 3. Autenticación...4 Capítulo 2 Configuración

Más detalles

Capítulo 6: Instrumentación: Diseño del Sistema de H2O

Capítulo 6: Instrumentación: Diseño del Sistema de H2O Capítulo 6: Instrumentación: Diseño del Sistema de H2O Digital Media Server El video en demanda a través del web aún está restringido a las grandes empresas que pueden pagar por contar por un servicio

Más detalles

Laboratorio 2.6.2: Uso de Wireshark para ver las unidades de datos del protocolo

Laboratorio 2.6.2: Uso de Wireshark para ver las unidades de datos del protocolo Laboratorio 2.6.2: Uso de Wireshark para ver las unidades de datos del protocolo Objetivos de aprendizaje Poder explicar el propósito de un analizador de protocolos (Wireshark). Poder realizar capturas

Más detalles

Nombre: Francis Ariel Jiménez Zapata. Matricula: 2010-0077. Tema: Trabajando con Windows Server 2008 Módulo 6. Materia: Sistema Operativo II

Nombre: Francis Ariel Jiménez Zapata. Matricula: 2010-0077. Tema: Trabajando con Windows Server 2008 Módulo 6. Materia: Sistema Operativo II Nombre: Francis Ariel Jiménez Zapata Matricula: 2010-0077 Tema: Trabajando con Windows Server 2008 Módulo 6 Materia: Sistema Operativo II Facilitador: José Doñe Introducción En este trabajo estaremos tratando

Más detalles

1. Definición. Open Source. Escalable. Alto desempeño. Arquitectura Modular. Producto de licencia de código abierto sin coste adicional.

1. Definición. Open Source. Escalable. Alto desempeño. Arquitectura Modular. Producto de licencia de código abierto sin coste adicional. 1. Definición JBoss es un proyecto de código abierto, con el que se consigue un servidor de aplicaciones basado en J2EE, e implementado al 100% en Java. Por lo tanto al estar basado en Java, JBoss puede

Más detalles

Apuestas de lotería on-line mediante teléfonos móviles

Apuestas de lotería on-line mediante teléfonos móviles Proyecto Exploratorio. Apuestas de lotería on-line mediante teléfonos móviles Propuesta presentada por: Manuel Alvarez-Campana (mac@dit.upm.es) Teléfono: 91 3367337 Departamento de Ingeniería de Sistemas

Más detalles

La obra se proporciona bajo los términos de esta licencia pública de Sisoft de México

La obra se proporciona bajo los términos de esta licencia pública de Sisoft de México Licencia La obra se proporciona bajo los términos de esta licencia pública de Sisoft de México S. A de C.V., Está protegida por derechos de autor y / u otras leyes aplicables. Cualquier uso diferente a

Más detalles

Nivel de Transporte en Internet

Nivel de Transporte en Internet Nivel de Transporte en Internet Nivel de Transporte en TCP/ La capa de transporte transmite mensajes entre las aplicaciones de dos ordenadores. La programación de aplicaciones sobre el nivel de transporte

Más detalles

Redes y servicios móviles

Redes y servicios móviles Redes y servicios móviles Prácticas de laboratorio José Ángel Vallejo Pinto (vallejo@uniovi.es) Universidad de Oviedo Área de Redes y servicios móviles Prácticas de laboratorio 1/16 Creación de servicios

Más detalles

Fractalia Remote Systems Departamento de Ingeniería. Manual de Operador y Cliente Fractalia Remote Support FRS 0.1. 01/09/2011 Arturo Mencía Martínez

Fractalia Remote Systems Departamento de Ingeniería. Manual de Operador y Cliente Fractalia Remote Support FRS 0.1. 01/09/2011 Arturo Mencía Martínez Fractalia Remote Systems Departamento de Ingeniería Manual de Operador y Cliente Fractalia Remote Support FRS 0.1 01/09/2011 Arturo Mencía Martínez Propiedades del documento Fractalia Remote Systems, S.L.

Más detalles

Fundamentos de Redes de Computadoras

Fundamentos de Redes de Computadoras Fundamentos de Redes de Computadoras Modulo III: Fundamentos de Redes de Area Extendida (WAN) Objetivos Redes conmutadas Circuito Paquetes Conmutación por paquetes Datagrama Circuito virtual Frame Relay

Más detalles

Martínez Navarro, Germán Fco.

Martínez Navarro, Germán Fco. Martínez Navarro, Germán Fco. Ampliación de Redes 2011-2012 ÍNDICE 1 Introducción... 3 2 Paquetes... 4 3 Cuerpo del mensaje... 5 4 Circuitos... 7 5 Sistema de mensajes... 8 6 Arquitectura del cliente...

Más detalles

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5.

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5. ARQUITECTURAS DE COMPUTADORES 2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5. Unidad de E/S 1 Unidad de E/S Indice Introducción.

Más detalles

Direcciones IP. Identifican unívocamente un punto de acceso (interfaz) a la red. Un router o un host multi-homed tienen varias.

Direcciones IP. Identifican unívocamente un punto de acceso (interfaz) a la red. Un router o un host multi-homed tienen varias. Subnetting 1 Direcciones IP Identifican unívocamente un punto de acceso (interfaz) a la red. Un router o un host multi-homed tienen varias. Tienen un significado global en la Internet. Son asignadas por

Más detalles

Qué es DHCP? Funcionamiento del protocolo DHCP. DHCP 20 de octubre de 2011

Qué es DHCP? Funcionamiento del protocolo DHCP. DHCP 20 de octubre de 2011 Qué es DHCP? DHCP significa Protocolo de configuración de host dinámico. Es un protocolo que permite que un equipo conectado a una red pueda obtener su configuración (principalmente, su configuración de

Más detalles

TELEPROCESO Y SISTEMAS DISTRIBUIDOS

TELEPROCESO Y SISTEMAS DISTRIBUIDOS Universidad Nacional del Nordeste TELEPROCESO Y SISTEMAS DISTRIBUIDOS La Interfaz Socket Lic. Vanesa S. Roffé Año 2009 Introducción - Origen de la INTERFAZ SOCKET La Interfaz Socket es una API para redes

Más detalles

Introducción. Requerimientos

Introducción. Requerimientos char c-link server 2.0 Introducción c-link server es un servicio WIN32 creado para permitir la total integración de sistemas telefónicos, habitualmente centrales telefónicas (PBX), con aplicaciones informáticas.

Más detalles

WebRatio. Otro camino para el BPM. Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8

WebRatio. Otro camino para el BPM. Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8 WebRatio Otro camino para el BPM Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8 El BPM El BPM (Business Process Management) no es solo una tecnología, además a grandes rasgos es una disciplina

Más detalles

Tutorial BMS Server Studio UDP

Tutorial BMS Server Studio UDP Tutorial BMS Server Studio UDP ÍNDICE Página 0. Introducción...3 1. Configuración del puerto UDP...4 2. Ejemplos...6 2.1 Configuración manual...6 2.1.1 Configuración SocketTest...6 2.1.2 Configuración

Más detalles

Configuración del acceso a Internet en una red

Configuración del acceso a Internet en una red Configuración del acceso a Internet en una red Contenido Descripción general 1 Opciones para conectar una red a Internet 2 Configuración del acceso a Internet utilizando un router 12 Configuración del

Más detalles

IVista: es la interfaz con la que el Presentador se comunica con la vista.

IVista: es la interfaz con la que el Presentador se comunica con la vista. Capítulo 3 MODELO DE DISEÑO 3.1 Arquitectura Modelo-Vista-Presentador La arquitectura Modelo-Vista-Presentador (MVP) [11] separa el modelo, la presentación y las acciones basadas en la interacción con

Más detalles

Introducción a IP versión 4

Introducción a IP versión 4 Notas de clase IPv4 PROTOTIPO Por Ernesto Alvarez Introducción a IPv4 Introducción a IP versión 4 IPv4 (Internet Protocol versión 4) es el protocolo de nivel de red usado en Internet. Junto con otros protocolos

Más detalles

Manual de Usuario IFI Web. Transmisión / recepción de ficheros.

Manual de Usuario IFI Web. Transmisión / recepción de ficheros. Manual de Usuario IFI Web. Transmisión / recepción de ficheros. Servicios de cesión de datos para las Administraciones Públicas Unidad de Infraestructuras Octubre 2013 Versión: 2.1 INDICE 0. INTRODUCCIÓN...

Más detalles

Multi Traffic Routing Grapher (MRTG)

Multi Traffic Routing Grapher (MRTG) UNIVERSIDAD CENTROCCIDENTAL LISANDRO ALVARADO DECANATO DE CIENCIAS Y TECNOLOGÍA COORDINACIÓN DE POST-GRADO Maestría en Ciencias de la Computación- Mención Redes de Computadoras Multi Traffic Routing Grapher

Más detalles

Tutorial para la comunicación TCP en el BMS Server

Tutorial para la comunicación TCP en el BMS Server Tutorial para la comunicación TCP en el BMS Server Contenido 1. Pasos iniciales para trabajar empleando conexión TCP... 2 2. Configuración de la conexión TCP... 4 2.1. Comprobación de la conexión TCP...

Más detalles

Sistema de Recepción de Información de Resoluciones en materia de Comprobación Fiscal Manual del Usuario

Sistema de Recepción de Información de Resoluciones en materia de Comprobación Fiscal Manual del Usuario Sistema de Recepción de Información de Resoluciones en materia de Comprobación Fiscal Manual del Usuario 1 ÍNDICE INTRODUCCIÓN...3 OBJETIVO...4 ALCANCE...5 CONFIGURACION...6 REQUERIMIENTOS Y CARACTERÍSTICAS

Más detalles

IP Office Guía del usuario para correo de voz incorporado de IP Office

IP Office Guía del usuario para correo de voz incorporado de IP Office Guía del usuario para correo de voz incorporado de 15-604067 Issue 09a - (19/04/2011) 2011 AVAYA Reservados todos los derechos. Aviso Si bien es cierto que se hizo todo lo posible para garantizar que la

Más detalles

Curso: Programación con JAVA SE Estándar Edition.

Curso: Programación con JAVA SE Estándar Edition. Curso: Programación con JAVA SE Estándar Edition. Código: 1062 Familia Profesional: Programación. Acreditación: Formación reconocida a través de vías no formales Modalidad: Distancia Duración: 150 horas

Más detalles

Examen 21 de febrero de 2011 (ref: eirc1103.odt)

Examen 21 de febrero de 2011 (ref: eirc1103.odt) Introducción a las Redes de Computador{aes y Comunicación de Datos Examen 21 de febrero de 2011 (ref: eirc1103.odt) Instrucciones Indique su nombre completo y número de cédula en cada hoja. Numere todas

Más detalles

En el servidor Proxy se creara una regla de acceso donde se prohibe la entrada a páginas relacionadas con sexo, pornografía, etc.

En el servidor Proxy se creara una regla de acceso donde se prohibe la entrada a páginas relacionadas con sexo, pornografía, etc. Instalación y Configuración de un servidor Proxy con En esta práctica se pretende instalar y configurar un servidor Proxy en Linux con Squid y un cortafuegos GuFW en el servidor Ubuntu. La administración

Más detalles

1) Proxy, Cortafuegos, que son? Pág.2. 2) Funcionamiento de un proxy Pág.3. 3) Proxy NAT / Enmascaramiento Pág.3

1) Proxy, Cortafuegos, que son? Pág.2. 2) Funcionamiento de un proxy Pág.3. 3) Proxy NAT / Enmascaramiento Pág.3 Indice 1) Proxy, Cortafuegos, que son? Pág.2 2) Funcionamiento de un proxy Pág.3 3) Proxy NAT / Enmascaramiento Pág.3 4) Servidores proxy / Servidores de Sockets Pág.4 5) Proxy de web / Proxy cache de

Más detalles

Ministerio de Educación,Cultura y Deporte. Aulas en Red. Windows. Módulo 4: Servicios de Internet. FTP

Ministerio de Educación,Cultura y Deporte. Aulas en Red. Windows. Módulo 4: Servicios de Internet. FTP Ministerio de Educación,Cultura y Deporte. Aulas en Red. Windows Módulo 4: Servicios de Internet. FTP Aulas en red. Aplicaciones y servicios. Windows Servicio FTP Con anterioridad, en este mismo módulo

Más detalles

Seminario de Redes TRABAJO PRACTICO Nº 3. UDP y TCP. E-mail: deimos_azul@yahoo.com Padrón: 77902. E-mail: gonzalojosa@hotmail.

Seminario de Redes TRABAJO PRACTICO Nº 3. UDP y TCP. E-mail: deimos_azul@yahoo.com Padrón: 77902. E-mail: gonzalojosa@hotmail. Departamento de Electrónica Facultad de Ingeniería Seminario de Redes TRABAJO PRACTICO Nº 3 UDP y TCP. Grupo: NMNK Responsable a cargo: Integrantes: Guzmán Pegazzano, Ma. Azul E-mail: deimos_azul@yahoo.com

Más detalles

JAVA EE 5. Arquitectura, conceptos y ejemplos.

JAVA EE 5. Arquitectura, conceptos y ejemplos. JAVA EE 5. Arquitectura, conceptos y ejemplos. INTRODUCCIÓN. MODELO DE LA APLICACIÓN JEE5. El modelo de aplicación Java EE define una arquitectura para implementar servicios como lo hacen las aplicaciones

Más detalles

LA ARQUITECTURA TCP/IP

LA ARQUITECTURA TCP/IP LA ARQUITECTURA TCP/IP Hemos visto ya como el Modelo de Referencia de Interconexión de Sistemas Abiertos, OSI-RM (Open System Interconection- Reference Model) proporcionó a los fabricantes un conjunto

Más detalles

Capitulo VI. GetME: Módulo de Software de Lectura de Mensajes de Texto para un Ambiente de Aprendizaje.

Capitulo VI. GetME: Módulo de Software de Lectura de Mensajes de Texto para un Ambiente de Aprendizaje. Capitulo VI. GetME: Módulo de Software de Lectura de Mensajes de Texto para un Ambiente de Aprendizaje. 6.1. Arquitectura General de GetME. La inclusión de tecnología de voz en teléfonos celulares y/o

Más detalles

Módulo 2 Comunicación

Módulo 2 Comunicación Sistemas Distribuidos Módulo 2 Comunicación Facultad de Ingeniería Departamento de Informática Universidad Nacional de la Patagonia San Juan Bosco Comunicación en Sistemas Distribuidos Modelos de Comunicaciones

Más detalles

Proyecto de Grado 2008 Anexo VII IP4JVM Glosario

Proyecto de Grado 2008 Anexo VII IP4JVM Glosario Proyecto de Grado 2008 Anexo VII I Glosario Autores: Leandro Scasso Marcos Techera Tutor: Ariel Sabiguero Tribunal: Andrés Aguirre Eduardo Grampín Carlos Martínez address o dirección: Un identificador

Más detalles

Juan de Dios Murillo Morera e-mail: jmurillo@una.ac.cr Santiago Caamaño Polini e-mail: scaamano@costarricense.cr INTRODUCCIÓN

Juan de Dios Murillo Morera e-mail: jmurillo@una.ac.cr Santiago Caamaño Polini e-mail: scaamano@costarricense.cr INTRODUCCIÓN UNICIENCIA 24 pp. 83-89 2010 IMPLEMENTACIÓN DE UN SERVIDOR FTP UTILIZANDO EL MODELO CLIENTE/SERVIDOR MEDIANTE EL USO DE SOCKETS EN LENGUAJE C UNIX CON EL FIN DE MEJORAR LOS TIEMPOS DE RESPUESTA EN LA RED

Más detalles

2. Ejecutando JMeter en el laboratorio

2. Ejecutando JMeter en el laboratorio PARTE 2.- Introducción a Apache JMeter 1. Introducción JMeter 1 es un programa Java diseñado para hacer pruebas de carga de servidores, por ejemplo servidores web. Utilizaremos este software para evaluar

Más detalles

SISTEMAS DISTRIBUIDOS DE REDES 3.- ESTANDAR CORBA. 3.1. Características

SISTEMAS DISTRIBUIDOS DE REDES 3.- ESTANDAR CORBA. 3.1. Características SISTEMAS DISTRIBUIDOS DE REDES 3.- ESTANDAR CORBA 3.1. Características La tendencia hacia el futuro es el de lograr la integración total de componentes realizados por terceras partes, para lo cual es necesario

Más detalles

Router Teldat. Interfaz PPPoE

Router Teldat. Interfaz PPPoE Router Teldat Interfaz PPPoE Doc. DM708 Rev. 10.00 Febrero, 2003 ÍNDICE Capítulo 1 Protocolo PPPoE...1 1. Introducción... 2 2. Descripción del protocolo PPPoE... 3 2.1. Fase de descubrimiento... 3 2.2.

Más detalles

Especificación de la secuencia de mensajes que se han de intercambiar. Especificación del formato de los datos en los mensajes.

Especificación de la secuencia de mensajes que se han de intercambiar. Especificación del formato de los datos en los mensajes. SISTEMAS DISTRIBUIDOS DE REDES 2.- MODELOS ORIENTADOS A OBJETOS DISTRIBUIDOS 2.1. Tecnologías de sistemas distribuidos Para la implementación de sistemas distribuidos se requiere de tener bien identificados

Más detalles

ARQUITECTURAS CLIENTE/SERVIDOR

ARQUITECTURAS CLIENTE/SERVIDOR Arquitecturas Cliente/Servidor, Sem 2016-1 M.I.Yasmine Macedo Reza 1 ARQUITECTURAS CLIENTE/SERVIDOR Conceptos básicos Arquitecturas Cliente/Servidor, Sem 2016-1 M.I.Yasmine Macedo Reza 2 Conceptos básicos

Más detalles

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011 Módulo 1. Fundamentos de Computadores Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011 1 CONTENIDO Tema 1. Introducción

Más detalles

Uso del servidor gráfico X en los servidores del CESGA mediante PuTTY y Cygwin

Uso del servidor gráfico X en los servidores del CESGA mediante PuTTY y Cygwin Uso del servidor gráfico X en los servidores del CESGA mediante PuTTY y Cygwin Contenido Introducción... 2 Obtención e instalación del software necesario... 2 Configuración de PuTTY para su uso con Cygwin...

Más detalles

Servidor de Protocolo de Transferencia de

Servidor de Protocolo de Transferencia de Servidor de Protocolo de Transferencia de Archivos (FTP) Etiquetas: ftp «Volver a Administración de... Imprimir Table of Contents [-] 1 Acerca del Protocolo FTP 2 Funcionamiento del Protocolo FTP 3 Modos

Más detalles

Tipos de comunicación La comunicación puede ser:

Tipos de comunicación La comunicación puede ser: Unidad 3. Procesos concurrentes 3.3 Semáforos (informática) Un semáforo es una variable especial (o tipo abstracto de datos) que constituye el método clásico para restringir o permitir el acceso a recursos

Más detalles

Técnico Superior en Programación con Java SE Standard Edition

Técnico Superior en Programación con Java SE Standard Edition Código: M087_04 Técnico Superior en Programación con Java SE Standard Edition Modalidad: Distancia Duración: 120 horas Objetivos: Este pack de materiales formativos proporcionará al alumnado la base que

Más detalles

Práctica 5: Servidor web concurrente en Java

Práctica 5: Servidor web concurrente en Java Práctica 5: Servidor web concurrente en Java Esta práctica pretende familiarizar al alumno con la programación de servidores que emplean sockets TCP. Para ello partiremos del servidor web básico visto

Más detalles

Contenidos. Sistemas operativos Tema 3: Estructura del sistema operativo. Componentes típicos de un SO. Gestión de procesos.

Contenidos. Sistemas operativos Tema 3: Estructura del sistema operativo. Componentes típicos de un SO. Gestión de procesos. Contenidos Sistemas operativos Tema 3: Estructura del sistema operativo Componentes típicos del SO Servicios del SO Llamadas al sistema Programas del sistema El núcleo o kernel Modelos de diseño del SO

Más detalles

Ismael Briones Vilar ARP SPOOFING Espiando en redes segmentadas

Ismael Briones Vilar ARP SPOOFING Espiando en redes segmentadas Ismael Briones Vilar ARP SPOOFING Espiando en redes segmentadas La segmentación de redes mediante el uso de Switches parecía la solución perfecta para evitar los temibles sniffers. Pero no es oro todo

Más detalles

Diplomado Java. Descripción. Objetivo. A quien está dirigido. Requisitos. Beneficios

Diplomado Java. Descripción. Objetivo. A quien está dirigido. Requisitos. Beneficios Diplomado Java Descripción El lenguaje de programación Java es uno de los más utilizados hoy en día. Su potencia, simplicidad, funcionalidad y capacidad hacen que este lenguaje sea una de las herramientas

Más detalles

Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez. Matrícula: 2010-2946.

Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez. Matrícula: 2010-2946. Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez Matrícula: 2010-2946 How to How to: Web Server (Apache)!!! Servidor Web El servidor HTTP Apache es

Más detalles

Manual de integración con el TPV Virtual para comercios con conexión por Redirección

Manual de integración con el TPV Virtual para comercios con conexión por Redirección Manual de integración con el TPV Virtual para comercios con conexión por Redirección Versión: 1.6 Versión: 1.6 i Autorizaciones y control de versión Versión Fecha Afecta Breve descripción del cambio 1.0

Más detalles

Capítulo 1: Consideraciones previas

Capítulo 1: Consideraciones previas Capítulo 1: Consideraciones previas En Windows Server 2008 R2 cambia el nombre del rol de Terminal Services a Remote Desktop Services, esto específicamente para abarcar todas las funcionalidades necesarias

Más detalles

TOMO II. Línea de Investigación. Redes y Sistema Operativo. Nombre del egresado. Antonio Nicolás Rodríguez Andrade.

TOMO II. Línea de Investigación. Redes y Sistema Operativo. Nombre del egresado. Antonio Nicolás Rodríguez Andrade. TOMO II Línea de Investigación Redes y Sistema Operativo Nombre del egresado Antonio Nicolás Rodríguez Andrade Nombre del Tema Evaluación de la plataforma Android para dispositivos móviles Número de Proyecto

Más detalles

Guía de instalación de COMPRESS

Guía de instalación de COMPRESS Guía de instalación de COMPRESS Instalación nueva Licencia de red Versión 6310 Índice Requisitos del sistema... 1 Aspectos generales de la instalación de red... 2 Paso 1: Seleccionar tipo de instalación...

Más detalles

REDES DE COMPUTADORES Laboratorio

REDES DE COMPUTADORES Laboratorio 1nsloo.cl REDES DE COMPUTADORES Laboratorio Práctica 1: Emulación de redes con NetGUI. 1. OBJETIVOS. El objetivo de esta práctica es aprender a utilizar la herramienta de emulación de redes Netkit / NetGUI,

Más detalles

Antes de imprimir este documento piense en el medio ambiente!

Antes de imprimir este documento piense en el medio ambiente! Versión 1.0 Página 1 de 14 1. OBJETIVO: Suministrar la metodología que se aplicará para la estimación de esfuerzo para los desarrollos nuevos en el ICBF, para lo cual se detallan los aspectos a tener en

Más detalles

FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE RED

FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE RED FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE RED Dolly Gómez Santacruz dolly.gomez@gmail.com CAPA DE RED La capa de red se ocupa de enviar paquetes de un punto a otro, para lo cual utiliza los servicios

Más detalles

Suplemento informativo: aclaración del requisito 6.6 sobre revisiones de códigos y firewalls de aplicaciones

Suplemento informativo: aclaración del requisito 6.6 sobre revisiones de códigos y firewalls de aplicaciones Norma: Normas de Seguridad de Datos (DSS) Requisito: 6.6 Fecha: febrero de 2008 Suplemento informativo: aclaración del requisito 6.6 sobre revisiones de códigos y firewalls de aplicaciones Fecha de publicación:

Más detalles