Unidad 4. Introducción a los sistemas distribuidos
|
|
- Francisca Velázquez Fidalgo
- hace 5 años
- Vistas:
Transcripción
1 Unidad 4. Introducción a los sistemas distribuidos
2 En el capítulo anterior se mostraron los mecanismos para sincronización entre procesos/hilos que comparten el mismo espacio de direccionamiento y la forma de concurrencia se refiere principalmente a alternancia en el tiempo (i.e. mediante cambios de contexto en una política de tiempo compartido). Aún cuando dos o más hilos en espacios de direccionamiento distintos no pueden interferir entre sí respecto a sus variables y por tanto no podrán ocurrir condiciones de contención, necesitan sincronizar su ejecución y establecer comunicación. Por ejemplo, en el caso de una pareja de productor-consumidor residiendo en máquinas separadas, los elementos producidos por el consumidor necesitan enviarse al consumidor, el cual, debe esperar (bloquearse) si el buffer (de tamaño limitado) está vacío, mientras que el productor debe esperar si el buffer está lleno.
3 Sin embargo, en general los hilos que se encuentran en tareas de memoria separadas no pueden utilizar semáforos o monitores para sincronizarse o comunicarse. En éste capítulo discutiremos el mecanismo de paso de mensajes el cual permitirá establecer comunicación y a su vez sincronización de hilos geográficamente separados, pero inclusive también puede utilizarse para coordinar hilos dentro del mismo espacio de direccionamiento, funcionando por tanto como una forma de memoria compartida. Primero discutiremos las diferentes presentaciones o formas de paso de mensajes y después mencionaremos las bases para la interacción en el modelo cliente/- servidor.
4 Tipos de comunicación Los constructores de sincronización revisados hasta el momento están basados en la lectura y escritura de variables compartidas. Como consecuencia, son más utilizados en programas concurrentes que se ejecutan en procesadores que comparten memoria. Las arquitecturas de memoria distribuida son ahora muy comunes. Estos incluyen multicomputadoras de memoria distribuida. En una arquitectura distribuida, los procesadores tienen su propia memoria privada e interactúan por medio de la comunicación en red.
5 Por esto, los procesos no pueden comunicarse directamente por variables compartidas, necesitan intercambiar mensajes. Con el paso de mensajes, los procesos comparten canales.
6 El envío de un mensaje de un proceso a otro involucra el movimiento de información de un espacio de direccionamiento a otro. Los programas concurrentes que emplean el paso de mensajes son llamados programas distribuidos, porque los procesos pueden distribuirse a través de los procesadores de una arquitectura de memoria distribuida.
7 El paso de mensajes puede ser síncrona y asíncrona. El término síncrono se usa para rutinas que regresan cuando la transferencia del mensaje se ha terminado.
8 La comunicación asíncrona está determinada por el momento en que se regresa el control. En este tipo de comunicación la primitiva send no necesariamente debe estar sincronizada con una primitiva receive y viceversa.
9 Las primitivas fundamentales para transmisión de mensajes entre procesos son 1. send(destino, mensaje) 2. receive(origen, mensaje) en donde destino y origen indican las direcciones hacia donde se dirige el mensaje y de donde es originado, respectivamente; mensaje es una referencia al objeto que contiene el mensaje. Los términos canal, puerto y buzón describen los medios en donde los mensajes se envían y de donde se reciben.
10 Existen 4 aspectos de diseño principales para definir al sistema de paso de mensajes: 1. Con o sin bloqueo: estos aspectos de diseño a menudo se denominan también modalidad sincróna y asincróna respectivamente Si las operaciones de recepción son bloqueadoras y no hay mensajes disponibles, el receptor se bloquea hasta que un mensaje llegue. Si las operaciones de emisión son bloqueadoras el emisor se bloque si no hay algún receptor listo para recibir el mensaje. Si las operaciones de emisión no son bloqueadoras, el control se regresa inmediatamente, ya que el mensaje ha sido encolado por el sistema para paso de mensajes. Si las operaciones de recepción no son bloqueadoras, se regresa un indicador de fallo si no hay mensaje disponible.
11 Los procesos comparten canales para realizar el paso de mensajes, los cuales pueden considerarse como una forma extendida de referencias: el envío de un mensaje es análogo a un proceso realizando un asignamiento remoto de un valor a una variable que se encuentra en otro espacio de direccionamiento. Si los send son bloqueadores entonces el proceso emisor se espera hasta que se realice el asignamiento remoto. El paso de mensajes asíncrono es una extensión o ampliación a las operaciones sobre semáforos P y V para incluír datos. Si ambas operaciones send y receive son bloqueadoras se dice que ocurre una forma de encuentro simple (simple redezvous) cuando el mensaje pasa del emisor al receptor ( de información unidireccional, ya que los hilos respectivos coinciden en puntos específicos de su código a la vez).
12 Se dice que ocurre un encuentro extendido (extended redezvous) si el emisor realiza una operación send bloqueadora seguida de un receive también bloqueadora, y por su parte el receptor realiza un receive bloqueadora seguido por un send bloqueadora (i.e. ocurren dos encuentros simples coordinados inmediatos). A menudo, a ésta forma de encuentro extendido se le denomina también RPC: invocación a procedimientos remotos, particularmente si el emisor y el receptor están en máquinas distintas conectadas por una LAN y si un hilo nuevo se crea en la máquina remota (i.e. hacia donde va la solicitud -destino del primer send-) para ejecutar el código del procedimiento remoto a beneficio del emisor. El soporte para ofrecer encapsular los detalles de la transmisión, de tal forma que para el programador asemeje una invocación a procedimiento convencional, lo ofrecen generalmente bibliotecas o paquetes para RPC.
13 En resumen, una forma de comunicación es sincróna si el emisor y receptor deben coincidir en el tiempo para el intercambio de los mensajes (una forma de apretón de manos), mientras que se trata de tipo asincróna si el emisor continúa con la ejecución de las siguientes instrucciones tras emitir el mensaje, el cual podrá no tener el mismo orden respecto a otros mensajes que se hayan enviado, y el destinatario lo consultará eventualmente al revisar su buzón.
14 2. Con o sin buffer: una operación send sin buffer provoca bloqueo hasta que un hilo receptor ejecute un receive. En contraste, una operación send con buffer generalmente no provoca bloqueo, pero puede ocurrir un límite en el tamaño del buffer sobre el cual el emisor se bloquee. En realidad se tienen las siguientes variantes, siendo combinaciones factibles todas excepto (b)/(c), (c)/(b) y (c)/(c). Para send: (a) Con bloqueo: espera por el receptor ó un receptor ya está esperando. (b) Con buffer, sin bloqueos: el mensaje es almacenado en el buffer pero el receptor no necesariamente lo ha recogido. (c) Sin buffer, sin bloqueo: se regresa un error si no hay receptor listo o esperando, regresa `ok' si el mensaje se envió y ha sido recibido. Para receive: (a) Con bloqueo: espera por un emisor (mensaje) (b) Con buffer, sin bloqueo: regresa error si no hay mensaje, de lo contrario regresa `ok' (c) Sin buffer, sin bloqueo: regresa un error si no hay emisor esperando o listo, regresa `ok' si el mensaje se envió y ha sido recibido.
15 3. Aspectos de Nombrado/ Direccionamiento de mensajes: se deben responder las pregunta: cómo establece la dirección del proceso receptor el proceso emisor? cómo especifica el proceso receptor la fuente u origen deseado del mensaje? Para ello, se establece la noción de canal, puerto ó buzón antes mencionado, de tal manera que tanto el emisor como el receptor se refieren al canal en sus operaciones de comunicación: compartidos por el emisor y receptor: channel c; emisor: receptor: send(c, msg); msg = receive(c); A un canal compartido por un único emisor y único receptor se denomina enlace uno a uno entre 2 hilos.
16 4. Compartimiento de canales por múltiples procesos: si el aspecto anterior (i.e. compartir canales) se extiende a varios procesos, se pueden tener múltiples emisores, un receptor: muchos a uno, múltiples receptores, un emisor: uno a muchos, múltiples receptores, múltiples emisores: muchos a muchos.
17 Origen de Paso de Mensajes Se emplean en sistemas que no comparten reloj o memoria y por tanto no es posible la comunicación entre procesos mediante variables compartidas. La forma natural de comunicación es hacer que los procesos intercambien mensajes entre ellos con las primitivas básicas de envio(send) y recepción(receive). Permite la portabilidad de las soluciones para diferentes arquitecturas.
18 Inconvenientes Las comunicaciones se hacen mediante la red lo que puede ocasionar: Perdida de mensajes Llegada de mensaje desordenados Diferencia de rendimiento
19 Identificación en el proceso de comunicación Se entiende como la forma en que el emisor indica a quien va dirigido el mensaje Comunicación directa: se caracteriza porque el emisor identifica explícitamente al receptor del mensaje en la operación de envío. El receptor identifica el emisor del mensaje. Sintaxis Send(A, mensaje) Receive(B, mensaje) Comunicación Indirecta: no se identifican explícitamente a los procesos emisor y receptor. La comunicación se realiza por medio de un buzón Sintaxis Send(Buzon, mensaje) Receive(Buzon, mensaje)
20 Sockets Los sockets son un sistema de comunicación entre procesos de diferentes máquinas de una red. Más exactamente, un socket es un punto de comunicación por el cual un proceso puede emitir o recibir información.
21 Sockets Utilizan una serie de primitivas para: establecer el punto de comunicación conectarse a una máquina remota en un determinado puerto que esté disponible escuchar en el canal leer o escribir y publicar información en el puerto desconectarse.
22 Sockets en Java El paquete java.net de la plataforma Java proporciona una clase Socket, la cual implementa una de las partes de la comunicación bidireccional entre un programa Java y otro programa en la red. La clase Socket se sitúa en la parte más alta de una implementación dependiente de la plataforma, ocultando los detalles de cualquier sistema particular al programa Java. Usando la clase java.net.socket en lugar de utilizar código nativo de la plataforma, los programas Java pueden comunicarse a través de la red de una forma totalmente independiente de la plataforma.
23 Sockets en Java Por otra parte, si intentamos conectar a través de la Web, la clase URL y clases relacionadas (URLConnection, URLEncoder) son probablemente más apropiadas que las clases de sockets. Pero de hecho, las clases URL no son más que una conexión a un nivel más alto a la Web y utlilizan como parte de su implementación interna los sockets.
24 Arquitectura Cliente Servidor Servidor ServerSocket(port) accept() Cliente Socket(host,port) OutputStream InputStream OutputStream InputStream close() close()
25 InetAddress Proporciona objetos que se pueden utilizar para manipular tanto direcciones IP como nombres de dominio. gethostname() regresa un string equivalente al nombre de dominio de la dirección IP. gethostaddress() regresa un string representación decimal de la dirección IP. de la getaddress() toma la dirección IP como un array de bytes
26 Socket vs DatagramSocket Existen dos tipos de conexiones de red TCP: es un protocolo confiable en el que los paquetes de los datos están garantizados al ser enviados, si un paquete se pierde no se envia un nuevo hasta que se mande el primero se usa la clase Socket es más confiable que rápido UDP: no garantiza el envio de paquetes o el orden en que serán enviados se usa la clase DatagramSocket, es más rápido que confiable.
27 DatagramSocket La clase de sockets datagrama puede ser utilizada para implementar datagramas no fiables (sockets UDP), no ordenados. Aunque la comunicación por estos sockets es muy rápida porque no hay que perder tiempo estableciendo la conexión entre cliente y servidor. Necesita de la Clase DatagramPacket:Clase que representa un paquete datagrama conteniendo información de paquete, longitud de paquete, direcciones Internet y número de puerto.
28 Socket vs ServerSocket ServerSocket es una clase que solo espera por información que llegue hacia él. Este objeto no realiza el servicio, sino que crea un objeto Socket en función del cliente para realizar toda la comunicación a través de él. Socket debe saber de antemano con quien debe conectarse.
29 Programa Cliente Programa Servidor 4. Instanciación 2. Accept 1. Instanciación ServerSocket 5. Conexión TCP Puerto Destino 3. Return del Accept Socket Nodo Destino Puerto Destino 6. Comunicación Puerto Socket
30 Métodos de Socket Socket s=new Socket(): Crea un Socket por defecto y no conectado. Socket s=new Socket(InetAdrees direccion, int puerto): Crea y conecta un Socket a la IP especificada y el puerto especificado. Socket s=new Socket(String host, int puerto); Crea y conecta un Socket al host y al puerto especificados. InputStream getinputstream() OutputStream getoutputstream() Las clases OutputStream e InputStream son abstractas, por lo que no podemos emplear directamente todos sus métodos por lo que se emplea: DataOutputStream, DataInputStream,FileOutputStream,FileInputStream Se ligan los flujos genéricos con uno específico DataInputStream Flujo= new DataInputStream(FlujoDeEntrada); DataOutputStream Flujo=new DataOutputStream(FlujodeSalida);
31 Métodos de Socket void close(): Método que cierra el Socket. InetAddres getinetaddress(): método que retorna la IP a la cual esta conectado el socket. int getport(): Método que devuelve el puerto remoto al que esta conectado el socket. boolean isclosed(): Método que devuelve true si el socket está cerrado y false si no lo está. boolean isconnected(): Método que devuelve true si el socket está conectado y false si no lo está. void shutdowninput(): Método que cierra el flujo de entrada del socket. void shutdownoutput(): Método que cierra el flujo de salida del socket.
32 Métodos ServerSocket ServerSocket ss=new ServerSocket(int puerto): Constructor que crea un ServerSocket a la escucha del puerto indicado.
33 Métodos de DatagramSocket DatagramSocket(): constructor sin argumentos que permite que el sistema elija un puerto entre los que estén libres y selecciona una de las direcciones locales. DatagramSocket(int port): constructor que toma un número de puerto como argumento, apropiado para los procesos que necesitan un número de puerto (servicios). DatagramSocket(int port, InetAddress laddr): constructor que toma como argumentos el número de puerto y una determinada dirección local.
34 Métodos de DatagramSocket send(datagrampacket p) receive(datagrampacket p) Estos métodos sirven para transmitir datagramas entre un par de conectores. El argumento de send es una instancia de DatagramPacket conteniendo el mensaje y el destino. El argumento de receive es un DatagramPacket vacío en el que colocar el mensaje, su longitud y su origen. Ambos métodos pueden lanzar excepciones IOException
35 Métodos de DatagramSocket setsotimeout(int timeout): este método permite establecer un tiempo de espera límite. Cuando se fija un límite, el método receive se bloquea durante el tiempo fijado y después lanza una excepción InterruptedIOException. connect(inetaddress address, int port): este método se utiliza para conectarse a un puerto remoto y a una dirección Internet concretos, en cuyo caso el conector sólo podrá enviar y recibir mensajes de esa dirección.
36 Métodos de DatagramPacket Constructores para datagramas que van a ser enviados: DatagramPacket(byte[] buf, int length) DatagramPacket(byte[] buf, int length, InetAddress address, int port) Estos constructores crean una instancia de datagrama compuesta por una cadena de bytes que almacena el mensaje, la longitud del mensaje y la dirección de Internet y el número de puerto local del conector destino.
37 Métodos de DatagramPacket getdata() : para obtener el mensaje contenido en el datagrama regresa el contenido en bytes hay que convertirlo con tostring. getaddress() : para obtener la dirección IP. getport(): para obtener el puerto.
Desarrollo de Aplicaciones Distribuidas. Sockets. Daniel Avellaneda
Desarrollo de Aplicaciones Distribuidas Sockets Daniel Avellaneda Sockets en Java Qué es un Socket Un socket es una abstracción a través de la cual una aplicación pueden mandar y recibir datos. Un socket
Más detallesSockets UDP. Arquitecturas Cliente/Servidor, Sem M.I.Yasmine Macedo Reza
Sockets UDP No orientado a conexión Envío de datagramas de tamaño fijo. No es fiable, puede haber pérdidas de información y duplicados, y la información puede llegar en distinto orden del que se envía.
Más detallesArquitecturas cliente/servidor
Arquitecturas cliente/servidor Creación de Sockets Cliente Servidor Creación de Sockets Cliente/Servidor Sockets en TCP Definición de DAEMON Concepto de Hilos Sockets en UDP Qué es un socket? Un socket
Más detallesTema II. Sockets. Desarrollo de Aplicaciones para Internet Curso Miguel Reboiro Jato
Tema II. Sockets Desarrollo de Aplicaciones para Internet Curso 12 13 Miguel Reboiro Jato Índice 1. Qué es un Socket? 2. Tipos de Socket 3. Sockets en Java 1. InetAddress y SocketAddress 2. Socket y ServerSocket
Más detallesRed LSUB. 4 de marzo de 2015 GSYC
Red LSUB GSYC 4 de marzo de 2015 (cc) 2015 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial - SinObraDerivada
Más detallesComunicación entre procesos: sockets udp. Jorge Iván Meza Martínez
Comunicación entre procesos: sockets udp Jorge Iván Meza Martínez jimezam@gmail.com Especialización en Gestión de Redes de Datos Universidad Nacional de Colombia Sede Manizales 1/31 Contenidos Conceptos
Más detallesArquitecturas cliente/servidor
Arquitecturas cliente/servidor Creación de Sockets Cliente Servidor Creación de Sockets Cliente/Servidor Sockets en TCP Sockets en UDP Definición de DAEMON Concepto de Hilos Qué es un socket? Un socket
Más detallesSi un candado mutex es usado por hilos en el mismo proceso pero no por hilos en diferentes procesos, los primeros dos pasos pueden simplificarse a:
Pthreads La biblioteca también soporta candados y variables de condición. Los candados pueden usarse para proteger la sección crítica, o pueden usarse en combinación con las variables de condición para
Más detallesSockets. Los sockets son un mecanismo de comunicación entre procesos que se utiliza en Internet.
Sockets La biblioteca estándar de clases de Java nos proporciona todo lo que necesitamos para utilizar sockets en nuestras aplicaciones en el paquete java.net, por lo que tendremos que añadir la siguiente
Más detallesTema 3: COMUNICACIÓN ENTRE PROCESOS
Tema 3: COMUNICACIÓN ENTRE PROCESOS E. U. Informática en Segovia Departamento de Informática Universidad de Valladolid 1 Introducción Estudia las comunicaciones punto a punto entre los lados de un enlace
Más detallesSockets en Java. Prof. Wílmer Pereira Universidad Simón Bolívar
Sockets en Java Prof. Wílmer Pereira Universidad Simón Bolívar Arquitectura Cliente/Servidor Cliente Request Reply Servidor Cómo permitir comunicación entre objetos situados en diferentes máquinas? Sockets
Más detallesTema 3. Paso de mensajes. mensajes. Bibliografía. Sistemas de paso de mensajes (2) Sistemas de paso de mensajes. Ventajas del paso de.
Tema 3. Paso de mensajes Bibliografía Programación Concurrente J. Palma, C. Garrido, F. Sánchez, A. Quesada, 2003 Capítulo 7 Principles of Concurrent and Distributed Programming M. Ben-Ari. Prentice Hall,
Más detallesIntroducción a las Redes de Computadoras
Introducción a las Redes de Computadoras Capitulo 2 Capa de Aplicación Nota acerca de las transparencias del curso: Estas transparencias están basadas en el sitio web que acompaña el libro, y han sido
Más detallesIntroducción a las Redes de Computadoras. Capa de aplicación. Programación con Sockets. Capitulo 2 Capa de Aplicación
Introducción a las Redes de Computadoras Capitulo 2 Capa de Aplicación Nota acerca de las transparencias del curso: Estas transparencias están basadas en el sitio web que acompaña el libro, y han sido
Más detallesFormato para prácticas de laboratorio
CARRERA PLAN DE ESTUDIO CLAVE ASIGNATURA NOMBRE DE LA ASIGNATURA IC y LSC 2003-1 5038 Programación Orientada a Objetos II PRÁCTICA No. 3 LABORATORIO DE NOMBRE DE LA PRÁCTICA DURACIÓN (HORA) Sockets 4 1
Más detallesCapítulo 5. Programación de aplicaciones de red
Capítulo 5. Programación de aplicaciones de red Redes de Ordenadores 2º Grado en Ingeniería en Tecnologías de Telecomunicación 1 Área de Ingeniería Telemática Capítulo 5: Programación de aplicaciones de
Más detallesCLASE SOCKET. 1. Crear un nuevo socket usando un constructor de la clase. 2. El socket trata de conectarse al host remoto.
CLASE SOCKET 1. Crear un nuevo socket usando un constructor de la clase. 2. El socket trata de conectarse al host remoto. 3. Una vez establecida la conexión, tanto el host local como el remoto obtienen
Más detallesTEMA 1. Introducción a las arquitecturas distribuidas
TEMA 1. Introducción a las arquitecturas distribuidas Tema 1. ARQUITECTURAS DISTRIBUIDAS: CONCEPTOS BÁSICOS 1. Qué es un sistema distribuido? 2. Servicios 3. Arquitectura 4. Definición de AD 5. Modelos
Más detalles1.- FUNDAMENTOS...2 2.- FUNCIONAMIENTO GENÉRICO...3 3.- JAVA SOCKETS... 4. 3.4.1.- Creación de Streams de Entrada...7
1.- FUNDAMENTOS...2 2.- FUNCIONAMIENTO GENÉRICO...3 3.- JAVA SOCKETS... 4 3.1.- INTRODUCCION... 4 3.2.- MODELO DE COMUNICACIONES CON JAVA...5 3.3.- APERTURA DE SOCKETS... 6 3.4.- CREACIÓN DE STREAMS...
Más detallesUnidad 1: Gestión de Procesos
Unidad 1: Gestión de Procesos Tema 1, Concurrencia: Exclusión mutua y sincronización. 1.1 Problema de la sección crítica, alternativas al uso de semáforos: - Regiones críticas, Monitores, Variables de
Más detallesMaterial Apoyo Práctica 2. Programación de la interfaz de acceso a los servicios de transporte de Internet en JAVA
Material Apoyo Práctica 2 Programación de la interfaz de acceso a los servicios de transporte de Internet en JAVA Primeros pasos Restaurar imagen y desactivar Firewall. Descargar de Internet los fuentes
Más detallesCurso de Java Java Redes
Curso de Java Java Rogelio Ferreira Escutia Conceptos de Modelo OSI Java Network Programming and Distributed Computing, David Reilly y Michael Reilly, Addison Wesley 2002 3 Capas TCP/IP Java Network Programming
Más detallesINGENIERÍA DE PROTOCOLOS DE COMUNICACIONES (MÓDULO 2)
INGENIERÍA F. I. M. DE PROTOCOLOS DE COMUNICACIONES - IMPLEMENTACIÓN DE PROTOCOLOS F. I. M. L.S.I.I.S L.S.I.I.S INGENIERÍA DE PROTOCOLOS DE COMUNICACIONES (MÓDULO 2) http://www.personal.fi.upm.es/~lmengual/inicio_ip.html
Más detallesPROGRAMACION DISTRIBUIDA
PROGRAMACION DISTRIBUIDA Mecanismo básico de comunicación: Sockets en Java 2 Introducción: Concepto de Socket Es una abstracción software proporcionada por el sistema operativo representa la interfaz entre
Más detallesTema 7. Programacion en red.
Tema 7 Programacion en red. Departament d Informàtica. Índice 1. Direcciones IP 1 2. UDP 3 2.1. Ejemplo.................................................. 7 3. TCP 7 4. HTTP 10 4.1. La clase URL...............................................
Más detallesFederico Peinado www.federicopeinado.es
Federico Peinado www.federicopeinado.es Depto. de Ingeniería del Software e Inteligencia Artificial disia.fdi.ucm.es Facultad de Informática www.fdi.ucm.es Universidad Complutense de Madrid www.ucm.es
Más detallesSISTEMAS OPERATIVOS Manejo de procesos
SISTEMAS OPERATIVOS Manejo de procesos Amilcar Meneses Viveros ameneses@computacion.cs.cinvestav.mx Universidad de Occidente Presentación Concepto de proceso Despacho de procesos Operaciones sobre procesos
Más detallesSistemas Distribuidos -Comunicación entre Procesos (IPC)
Sistemas Distribuidos -Comunicación entre Procesos (IPC) M.C. Fernando Pech May Instituto Tecnológico Superior de los Ríos auxtecomp@gmail.com Materia: Sistemas Distribuidos Curso de verano, 2011 Fernando
Más detallesSockets. Introducción. Las redes de computadoras permiten al usuario. Curso Propedéutico Maestría en Ciencias de la Computación BUAP
Sockets Curso Propedéutico Maestría en Ciencias de la Computación BUAP Introducción Las redes de computadoras permiten al usuario Acceder a datos remotos Procesamiento remoto Recursos remotos Dr. Ivan
Más detalles1 SOCKETS EN JAVA. Sistemas Distribuidos::Sockets en Java EUI-SG/INFOR.UVA.ES 1
1 SOCKETS EN JAVA La programación en red siempre ha sido dificultosa, el programador debía de conocer la mayoría de los detalles de la red, incluyendo el hardware utilizado, los distintos niveles en que
Más detallesJava: comunicación en Internet. Modem. Satelite UMTS W-LAN. Láser. Fibra óptica. Conceptos básicos
Conceptos básicos Los computadores conectados a Internet se comunican entre ellos usando protocolos: Java: comunicación en Internet Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad
Más detallesUNIVERSIDADE 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 detallesPROCESAMIENTO DISTRIBUIDO
Pág. 1 INTRODUCCIÓN PROCESAMIENTO DISTRIBUIDO Arquitectura de comunicaciones: Software básico de una red de computadoras Brinda soporte para aplicaciones distribuidas Permite diferentes Sistemas Operativos
Más detallesUniversidad de Cantabria corcuerp@unican.es
Networking Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Aprender los conceptos básicos de redes y su implementación en Java
Más detallesDesarrollo de Aplicativos con winsockets
Seminario de Redes de Computadoras 66.48 Desarrollo de Aplicativos con winsockets Docentes: Ing. Marcelo Utard Ing. Pablo Ronco Alumnos: Baños, Germán Gámez, Pablo Rabino, Juan Pablo Salas, Federico Introducción
Más detallesPráctica 4: Programación con el protocolo UDP
Práctica 4: Programación con el protocolo UDP En esta práctica se va a experimentar con la programación del protocolo UDP. Para ello, un ordenador del laboratorio está difundiendo periódicamente el código
Más detallesArquitecturas cliente/servidor
Arquitecturas cliente/servidor Creación de Sockets Cliente Servidor 1 Creación de Sockets Cliente/Servidor Sockets en TCP Concepto de Hilos Definición de DAEMON Sockets en UDP 2 THREADS 3 Qué es un thread?
Más detallesPráctica 2 Programación de Aplicaciones Distribuidas: Sockets TCP. Laboratorio de Comunicación de Datos ITT Telemática 26 de Septiembre 2011
Práctica 2 Programación de Aplicaciones Distribuidas: Sockets TCP Laboratorio de Comunicación de Datos ITT Telemática 26 de Septiembre 2011 Introducción Aplicaciones Orientadas a Conexión TCP:Servicio
Más detallesTCP Transmission Control Protocol
1 TCP Transmission Control Protocol TCP es un protocolo orientado a conexión que crea una conexión virtual entre dos TCPs para enviar datos. Además, TCP usa mecanismos de control de flujo y error en la
Más detallesTema 4 CURSO 2015/16 (PLAN 2009) PRIMER SEMESTRE. Internet
Tema 4 SUPUESTO 1 CURSO 2015/16 (PLAN 2009) PRIMER SEMESTRE A B Una entidad TCP de un equipo A desea establecer una conexión con otra entidad TCP de otro equipo "B" remoto por. La entidad TCP de "A" maneja
Más detallesPráctica 4: Desarrollo de clientes bajo TCP y UDP.
Práctica 4: Desarrollo de clientes bajo TCP y UDP. Autores: Enrique Bonet Rogelio Montañana Paco Soriano Objetivo y descripción general. El objetivo de esta práctica es el desarrollo de dos clientes, uno
Más detallesADMINISTRACIÓN GENERAL DE TECNOLOGÍA DE LA INFORMACIÓN ADMINISTRACIÓN CENTRAL DE DESARROLLO Y MANTENIMIENTO DE APLICACIONES
ADMINISTRACIÓN GENERAL DE TECNOLOGÍA DE LA INFORMACIÓN ADMINISTRACIÓN CENTRAL DE DESARROLLO Y MANTENIMIENTO DE APLICACIONES SISTEMA DE AUTOMATIZACIÓN ADUANERA INTEGRAL (S. A. A. I.) PROTOCOLOS DE COMUNICACIÓN
Más detallesProtocolos de transporte y aplicación
Protocolos de transporte y aplicación Tema 1 SRI Vicente Sánchez Patón I.E.S Gregorio Prieto Funciones protocolos de aplicación Los protocolos de la capa de aplicación los utilizan tanto los dispositivos
Más detallesTecnologías para el Desarrollo de Aplicaciones para Dispositivos Móviles. Parte 2
Tecnologías para el Desarrollo de Aplicaciones para Dispositivos Móviles. Parte 2 Sesión 4. Proyecto final. Protocolos de comunicación en red. TCP/IP 2014-2015 Escuela Politécnica Superior Puntos a tratar!
Más detallesPráctica 3: Introducción a los sockets en Java
Práctica 3: Introducción a los sockets en Java En esta práctica se va a tener una primera toma de contacto con la interfaz de los sockets en Java. Para ello plantearemos una serie de ejercicios muy sencillos
Más detallesLaboratorio de Redes de Comunicaciones Programación con Sockets en Java
Laboratorio de Redes de Comunicaciones Programación con Sockets en Java Sockets orientados a conexión Sockets no orientados a conexión Java: Distribuido Java se ha construido con extensas capacidades de
Más detallesPráctica 5: Implementación en C++ de sistemas cliente/servidor basados en comunicación
Práctica 5: Implementación en C++ de sistemas cliente/servidor basados en comunicación síncrona Programación de Sistemas Concurrentes y Distribuidos Grado de Ingeniería Informática Dpto. de Informática
Más detallesFacultad de Ingeniería Industrial y de Sistemas v1.0 MA781U PROCESOS DISTRIBUIDOS
PROCESOS DISTRIBUIDOS Preparado por: Angel Chata Tintaya (angelchata@hotmail.com) Resumen El proceso cliente servidor es la clave para comprender el potencial de los sistemas de información y las redes
Más detallesAPLICACIONES TELEMÁTICAS
APLICACIONES TELEMÁTICAS Grado en Ingeniería Telemática Celeste Campo (celeste@it.uc3m.es) Carlos García Rubio (cgr@it.uc3m.es) CONTEXTO EN LA TITULACIÓN Celeste Campo (celeste@it.uc3m.es) Carlos García
Más detallesEJEMPLOS PROGRAMACIÓN SOCKET - JAVA
EJEMPLOS PROGRAMACIÓN SOCKET - JAVA 1.- Calcular el Cuadrado TCP En esta aplicación el cliente se conecta al servidor, para ello debe introducir la dirección IP del servidor y los parámetros sobre los
Más detallesProgramación Concurrente y Paralela. Unidad 1 Introducción
Programación Concurrente y Paralela Unidad 1 Introducción Contenido 1.1 Concepto de Concurrencia 1.2 Exclusión Mutua y Sincronización 1.3 Corrección en Sistemas Concurrentes 1.4 Consideraciones sobre el
Más detallesEL LENGUAJE DE PROGRAMACIÓN JAVA TM
EL LENGUAJE DE PROGRAMACIÓN JAVA TM Por MIGUEL SÁNCHEZ LÓPEZ y VICTOR ALONSO BARBERÁN Disponible en el Servicio de Publicaciones de la Universidad Politécnica de Valencia con el número 922. 7.COMUNICACIONES
Más detallesCOMUNICACIÓN Sistemas Distribuidos
COMUNICACIÓN Sistemas Distribuidos Alvaro Ospina Sanjuan Universidad Pontificia Bolivariana Medellín 2010 Agenda Comunicación centralizada y distribuida Protocolos con capas Modelo cliente servidor Sockets
Más detallesServicios de Internet
Servicios de Internet Area de Ingeniería Telemática http://www.tlm.unavarra.es Arquitectura de es, Sistemas y Servicios 3º Ingeniería de Telecomunicación Temario 1. Introducción 2. Arquitecturas, protocolos
Más detallesProblema de agotamiento de direcciones
Problema de agotamiento de direcciones Area de Ingeniería Telemática http://www.tlm.unavarra.es Laboratorio de Programación de Redes 3º Ingeniería Técnica en Informática de Gestión Objetivo Ver diferentes
Más detallesIngeniería en Automática Industrial Software para Aplicaciones Industriales I
Formas de comunicación! " Formas de comunicación! " TRABAJO EN RED BÁSICO Los computadores en una red se comunican unos con otros a través de protocolos de comunicación. Un protocolo establece una descripción
Más detallesCapítulo 3: Capa Transporte - I
Capítulo 3: Capa Transporte - I ELO322: Redes de Computadores Tomás Arredondo Vidal Este material está basado en: material de apoyo al texto Computer Networking: A Top Down Approach Featuring the Internet
Más detallesSockets en Java. La Creatividad proviene de un conflicto de ideas. Uso de Sockets
Uso de Sockets Este pequeño manual, le muestra cómo funciona el Socket Server para crear un pequeño servidor web que envía una página HTML a cualquier Navegador Web como Firefox, Internet Explorer, etc..
Más detallesSockets. Sockets. 1 Introducción
1 Introducción Los URL y las conexiones URL (URLConnection) proporcionan un mecanismo de un nivel relativamente alto (nivel 7 del modelo OSI) para acceder a los recursos de Internet. Algunas veces, los
Más detallesContenido. 3 Capa de Red. 1 Esquema 2 Introducción. 3 Las capas del Modelo OSI. 4 Referencias 5 Contacto. Modelo OSI. Ing. Silvestre Palafox Vargas
Instala y mantiene redes LAN de acuerdo a estándares oficiales Centro de Bachillerato Tecnológico Industrial y de Servicios 75 2 de octubre de 2016 Contenido 1 2 3 4 5 Contacto 1 Durante las últimas dos
Más detalles4. Configuración de la conexión de un sistema LXI
4. Configuración de la conexión de un sistema LXI Existen diversas formas de configurar la conexión de un sistema LXI. En este apartado se describen algunos de los métodos más utilizados, pero antes se
Más detallesTCP: Características Establecimiento y finalización de conexiones
TCP: Características Establecimiento y finalización de conexiones Area de Ingeniería Telemática http://www.tlm.unavarra.es Arquitectura de Redes, Sistemas y Servicios 3º Ingeniería de Telecomunicación
Más detallesMECANISMOS PARA SINCRONIZACIÓN. Semáforos
MECANISMOS PARA SINCRONIZACIÓN Semáforos Mecanismos para sincronización Una vez discutidos los principales problemas a enfrentar para coordinar procesos/hilos que comparten espacio de direccionamiento,
Más detallesModelo OSI y TCP/IP. Teleprocesamiento Ing. Zoila Marquez.
Modelo OSI y TCP/IP Teleprocesamiento Ing. Zoila Marquez. Modelo OSI El Modelo OSI divide en 7 capas el proceso de transmisión de la información entre equipo informáticos, donde cada capa se encarga de
Más detallesUNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA. Daniel Díaz Sánchez
UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA Sockets para servidor Daniel Díaz Sánchez Florina Almenárez Andrés Marín Departamento de Ingeniería Telemática Universidad Carlos
Más detallesVisualizador del examen - ENetwork Chapter 4 - CCNA Exploration: Network Fundamentals (Versión 4.0)
1 of 5 Visualizador del examen - ENetwork Chapter 4 - CCNA Exploration: Network Fundamentals (Versión 4.0) 1 Según el encabezado de la capa de transporte que se muestra en el diagrama, cuál de las siguientes
Más detallesEl código de uso sería el siguiente:
NXA funciones XCON Contenido xcon.create... 3 xcon.createudp... 4 Xcon.CreateTCP... 4 Xcon.CreateCOM... 5 xcon.createhttp... 5 xcon.createrss... 5 Aclaración sobre la creación de los diferentes sockets...
Más detallesRedes de Computadores
es de Computadores Tema 4 Nivel, TCP, UDP Arquitectura en capas de comunicación de datos 1 Capas Mensajes SW App Extremos Formatos Sesiones Segmentos SO Paquetes HW NIC Infra Tramos Tramas Bits Capas y
Más detallesUNIVERSIDAD POLITÉCNICA DE PACHUCA SOCKETS EN JAVA
SOCKETS EN JAVA Los sockets son puntos finales de enlaces de comunicaciones entre procesos. Los procesos los tratan como descriptores de ficheros, de forma que se pueden intercambiar datos con otros procesos
Más detallesDirecciones IP y puertos
Redes en Java HTTP, Telnet, FTP, SMTP, SNMP, etc (Aplicaciones usuario) TCP/IP TCP UDP IP Acceso a la red TCP: Transmission Control Protocol UDP: User Datagram Protocol IP: Internet Protocol TCP Protocolo
Más detallesLa pila TCP/IP es la familia de protocolos que dirige el internet actual. Mientras otros protocolos también se usa en redes de computador, TCP/IP es
La pila TCP/IP es la familia de protocolos que dirige el internet actual. Mientras otros protocolos también se usa en redes de computador, TCP/IP es sin duda el más común de todos. TCP/ip puede compararse
Más detallesTema 6: Clases. Índice
Tema 6: Clases Antonio J. Sierra Índice 1. Fundamentos. 2. Declaración de objetos. 3. Asignación de objetos a variables referencia. 4. Métodos. 5. Constructores. 6. this. 7. Recogida de basura. 8. Modelado
Más detallesBloque III: El nivel de transporte. Tema 6: Conexiones TCP
Bloque III: El nivel de transporte Tema 6: Conexiones TCP Índice Bloque III: El nivel de transporte Tema 6: Conexiones TCP Establecimiento de conexión Finalización de conexión Diagrama de estados Segmentos
Más detallesBloque III: El nivel de transporte. Tema 6: Conexiones TCP
Bloque III: El nivel de transporte Tema 6: Conexiones TCP Índice Bloque III: El nivel de transporte Tema 6: Conexiones TCP Establecimiento de conexión Finalización de conexión Diagrama de estados Segmentos
Más detallesPROGRAMACIÓN PARALELA. Modelos de programación paralela Paradigmas de programación paralela
PROGRAMACIÓN PARALELA Modelos de programación paralela Paradigmas de programación paralela Tipos de paralelismo Paso de mensajes Paralelismo de datos Memoria compartida Paradigmas de programación paralela
Más detallesProtocolos, Servicios e Interfaces
Protocolos, Servicios e Interfaces Area de Ingeniería Telemática http://www.tlm.unavarra.es Arquitectura de Redes, Sistemas y Servicios 3º Ingeniería de Telecomunicación Temario 1. Introducción 2. Arquitecturas,
Más detallesProgramación Orientada a Objetos con Java
Programa de Formación y Actualización Docente Programación Orientada a Objetos con Java Rafael Rivera López Departamento de Sistemas y Computación Invierno 2005 1 Veracruz, Ver. IV Temas Avanzados 2 IV.2
Más detallesCOMUNICACIÓN ENTRE PROCESOS SOCKETS
COMUNICACIÓN ENTRE PROCESOS SOCKETS Diseño de Sistemas Operativos Curso 2007/08 Grupo: Mi30 Martín Santana, A. David Martínez Santana, Luis Ignacio Qué son?(definición) n) Los sockets son mecanismos de
Más detallesProtocolos, Servicios e Interfaces
Protocolos, Servicios e Interfaces Area de Ingeniería Telemática http://www.tlm.unavarra.es Arquitectura de Redes, Sistemas y Servicios 3º Ingeniería de Telecomunicación Temario 1. Introducción 2. Arquitecturas,
Más detallesUnidad II Modelos de Referencias TCP/IP
Unidad II Modelos de Referencias TCP/IP Historia El Departamento de Defensa de EE.UU. (DoD) creó el modelo TCP/IP porque necesitaba una red que pudiera sobrevivir ante cualquier circunstancia, incluso
Más detallesConcurrencia, exclusión mutua y sincronización. Capítulo 5 HungriaBerbesi
Concurrencia, exclusión mutua y sincronización Capítulo 5 HungriaBerbesi 1 Concurrencia Múltiples aplicaciones Aplicaciones estructuradas Estructura del sistema operativo 2 Concurrencia 3 Sección Crítica:
Más detallesLenguajes de Programación
Lenguajes de Programación Concurrencia Ma. Laura Cobo Departamento de Ciencias e Ingeniería de la Computación 2018 Prof. Ma. Laura Cobo Página 1 Motivación Un programa se dice concurrente si puede tener
Más detallesConcurrencia. Primitivas IPC con bloqueo
Concurrencia Primitivas IPC con bloqueo Primitivas de IPC con bloqueo La solución de Peterson es correcta, pero tiene el defecto de requerir espera ocupada: Cuando un proceso quiere entrar en su región
Más detallesTCP: Características Establecimiento y finalización de conexiones Tema 4.- Nivel de transporte en Internet
TCP: Características Establecimiento y finalización de conexiones Tema 4.- Nivel de transporte en Internet http://www.tlm.unavarra.es Redes de Ordenadores Ingeniero Técnico de Telecomunicación Especialidad
Más detalles1 Introducción. 2 Que es una Red de Ordenadores
1 Introducción El ser humano comenzó expresándose con gestos y comunicándose mediante el lenguaje hablado y escrito. Cuando surgió la necesidad de comunicarse con interlocutores situados en diferentes
Más detallesIntroducción a Internet
Introducción a Internet Ejemplo: Navegación En mi navegador escribo: http://www.fing.edu.uy Se despliega en mi pantalla un conjunto de textos, imágenes, animaciones Qué es lo que hace posible esto? 1 En
Más detallesAplicaciones Cliente-Servidor Con Datagramas
Aplicaciones Cliente-Servidor Con Datagramas User Datagram Protocol (UDP) UDP es un protocolo que no garantiza la comunicación entre dos aplicaciones. No está basado en conexión. Envía paquetes de datos
Más detalles1. Definición de Teleinformática Es la unión entre las Telecomunicaciones y la Informática. Es la ciencia que trata la conectabilidad y comunicación a
Introducción a la Teleinformatica 1. Definición de Teleinformática Es la unión entre las Telecomunicaciones y la Informática. Es la ciencia que trata la conectabilidad y comunicación a distancia entre
Más detallesUniv. de Concepción del Uruguay Facultad de Ciencias Agrarias Ingeniería Agrónoma
INFORMÁTICA Univ. de Concepción del Uruguay Facultad de Ciencias Agrarias Ingeniería Agrónoma Informática Teoría Unidad 5 Prof. Ing Ezequiel Benavente Ciclo lectivo 2013 Repaso definiciones: Una red es
Más detallesGUÍA DE ESTUDIO TEMA 2. MODELO OSI. ESTÁNDARES Y PROTOCOLOS. MODELO TCP/IP.
GUÍA DE ESTUDIO TEMA 2. MODELO OSI. ESTÁNDARES Y PROTOCOLOS. MODELO TCP/IP. OBJETIVOS Introducir conceptos de las comunicaciones: protocolo, jerarquías de protocolos y estándares utilizados. Conocer los
Más detallesLOGO GRUPO. Add your company slogan
LOGO GRUPO Add your company slogan Módulo 2: Implantación de los elementos de la red local Arquitectura de redes de área local Clasificación de las redes en función del territorio que abarcan: LAN (Local
Más detallesUDP Tema 3.- Nivel de transporte en Internet
UDP Tema 3.- Nivel de transporte en Internet Dr. Daniel Morató Redes de Computadores Ingeniero Técnico en Informática de Gestión, 2º curso Material adaptado del libro Com puter Networking: A Top Down Approach
Más detallesRedes (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 detallesREDES DE DATOS Modelo OSI. Angélica Flórez Abril, MSc.
REDES DE DATOS Modelo OSI Angélica Flórez Abril, MSc. Jerarquía de protocolos Organización en capas o niveles. El número de capas y sus funciones difieren de red a red. Cada capa ofrece servicios a las
Más detallesMultienhebrado en Java Un toque de sincronización Transporte en Java Ejemplo conjunto
Java y multiprogramación sobre red Sistemas Distribuidos ITInformática (UVA) César Llamas Bello 2003 Índice Multienhebrado en Java Un toque de sincronización Transporte en Java Ejemplo conjunto 26/02/2003
Más detallesComunicación en Sistemas Distribuidos
Sistemas de Operación II Comunicación en Sistemas Distribuidos Prof. Carlos Figueira Basado en material de Yudith Cardinale (USB) Andrew Tanembaum y Marteen van Steen Contenido Protocolos de Comunicación
Más detallesConexión TCP Servidor
SOCKETS EN JAVA import java.net.*; Conexión TCP Simple (I) Conexión TCP Socket socket_cliente= new Socket(dirip,ptoint); OutputStream Flujo_salida = socket_cliente.getoutputstream(); InputStream Flujo_entrada
Más detallesPROGRAMACION DISTRIBUIDA
PROGRAMACION DISTRIBUIDA Distribución basada en el patrón proxy-servant Héctor Pérez 2 Distribución de aplicaciones basadas en objetos Objetivo: rediseño de una aplicación orientada a objetos para ser
Más detallesUNIDAD VI CONTROL DEL ENLACE DE DATOS Y MULTIPLEXACIÓN.
UNIDAD VI 6.1 Introducción. CONTROL DEL ENLACE DE DATOS Y MULTIPLEXACIÓN. Nuestro estudio hasta ahora se ha concentrado en el envío de señales a través del enlace de transmisión. Para conseguir que la
Más detalles