Arquitectura de Redes y Servicios de Telecomunicación

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

Download "Arquitectura de Redes y Servicios de Telecomunicación"

Transcripción

1 Práctica 3 Arquitectura de Redes y Servicios de Telecomunicación Programación cliente/servidor: Servicio de echo. Desarrollo de un cliente y un servidor del servicio de echo. Objetivos La programación cliente/servidor es fundamental para entender la interacción de las aplicaciones Internet más comunes. El conocimiento del interfaz de los sockets y la estructura básica de un cliente y un servidor permiten desarrollar con rapidez la estructura de cualquier aplicación cliente-servidor, dependiendo de la complejidad del servicio que se quiera implementar, la dificultad del cliente y/o el servidor se encuentre al implementar el protocolo de aplicación. Por tanto, el objetivo de esta práctica se centra en conocer cómo se construye la estructura básica de un aplicación clienteservidor, desarrollando un servicio muy simple, el servicio de echo. Descripción Con la interfaz de los sockets disponemos de un mecanismo estándar para utilizar la pila de protocolos TCP/IP. Gracias a esta interfaz las aplicaciones pueden intercambiar información de forma eficiente a través de Internet, independientemente del sistema operativo y de la red local a la cual se encuentre conectado el host que las ejecuta. Sin embargo, para la programación de aplicaciones sobre Internet esta capacidad de comunicación punto a punto (peer-to-peer) es aún insuficiente. Resulta necesario establecer otras normas de nivel superior que rijan el tráfico de información. En la práctica, la mayoría de las aplicaciones sobre TCP/IP se organizan basándose en el denominado paradigma cliente-servidor. Este tipo de interacción se encuentra tan extendido que la mayoría de las aplicaciones Internet aplican este modelo. El modelo cliente-servidor. El modelo cliente-servidor surge como solución al problema de la sincronización entre aplicaciones. Por ejemplo, consideremos dos aplicaciones que se ejecutan en diferentes computadores, y que necesitan comunicarse para intercambiar información. Supongamos que ambas comprueban si se encuentra presente el otro extremo y, en caso contrario, abortan el proceso devolviendo un mensaje de error. Puesto que resulta imposible que ambas aplicaciones se pongan en marcha simultáneamente, la primera de ellas nunca encontrará a la otra activa (recordemos que la segunda aún no se ha lanzado), y por lo tanto abortará la comunicación. Cuando entre la segunda no podrá conectar con la primera que ya ha acabado su ejecución. Si repetimos el intento un número muy elevado de ocasiones, quizá consigamos que ambas se encuentren activas simultáneamente y conecten, pero resulta extremadamente difícil.

2 El modelo cliente-servidor soluciona el problema de la sincronización haciendo que una de ellas comience su ejecución y espere (en principio de forma indefinida) a que la otra contacte con ella. Puesto que TCP/IP no es capaz de responder por sí mismo al recibir una petición de conexión (no es su función) es necesario que cuando ésta se produce ya exista un proceso esperándola. Para asegurar que un computador establezca una comunicación cuando se le solicita, la mayoría de los sistemas operativos disponen de programas de comunicaciones que comienzan su ejecución en la puesta en marcha del equipo. Cada uno de ellos se ejecuta indefinidamente, esperando la llegada de peticiones al servicio que ofrecen. El modelo cliente-servidor divide las aplicaciones en dos categorías, según comiencen su ejecución esperando una petición de comunicación o iniciando la misma. Generalmente, si un programa queda a la espera de solicitudes será considerado un servidor, mientras que si por el contrario inicia la comunicación se considerará un cliente. Es decir, la dirección de la solicitud de conexión determina el papel de cliente o servidor de una aplicación. Los usuarios utilizarán programas clientes cuando deseen acceder a servicios remotos. Cada vez que se ejecuta un programa cliente, éste debe contactar con un servidor, enviar la solicitud del servicio y esperar la respuesta. Cuando ésta llega, el cliente continúa su proceso. Habitualmente los programas cliente resultan mucho más sencillos que los servidores, y los usuarios no requieren privilegios especiales para su uso. Por el contrario, los programas servidores esperarán la llegada de peticiones desde los clientes, y cuando reciban una de ellas, realizarán las operaciones necesarias y devolverán el resultado al cliente. En el diseño de servidores resulta fundamental contemplar aspectos tales como la identificación del usuario que gobierna el cliente, la comprobación de que dicho usuario tiene autorización para solicitar el servicio y proteger la seguridad de los datos del servidor frente a accesos no autorizados, así como la integridad del sistema frente a ataques externos. Puertos y servicios. Para que sea posible la comunicación entre clientes y servidores es necesario que, cuando un cliente solicita un servicio, no sólo se dirija a una dirección IP, sino que seleccione entre todos los servicios que ofrece el host remoto, aquél que desea. Para ello, a la hora de solicitar una conexión, ésta hace referencia a un puerto dentro de la máquina destino. El concepto de puerto está asociado al interfaz entre las aplicaciones y TCP/IP (los sockets). Cuando se crea un socket se le asocia un número de puerto (bien mediante la llamada bind o de forma automática por el sistema al hacer un connect). Asimismo, al solicitar una conexión se especifica tanto la dirección IP de la máquina destino como el puerto al cual queremos acceder. Los números de puerto se distribuyen entre servicios estándar y servicios no estándar. Los puertos "bien conocidos" se asignan a servicios tales como el terminal virtual (TELNET), la transferencia de ficheros (FTP), etc., mientras que el resto es asignado automáticamente por el sistema o pueden utilizarse para aplicaciones específicas. 2

3 Tipos de clientes La primera clasificación que podemos establecer responde precisamente al tipo de servicio al que acceden, y por tanto al número de puerto que utilizan para la solicitud del servicio. Por este criterio, distinguiremos clientes estándar, como aquellos que solicitan la conexión a puertos bien conocidos, y clientes no estándar, que utilizan otros números de puerto y acceden a servicios particulares. Por otro lado, las aplicaciones cliente-servidor pueden utilizar un servicio con conexión o sin conexión. Estas dos aproximaciones corresponden a los dos niveles de transporte que ofrece la pila de protocolos TCP/IP. Si la comunicación entre cliente y servidor utiliza UDP, la interacción será, evidentemente, sin conexión, mientras que el uso de TCP implica una conexión. Desde nuestro punto de vista, la diferencia entre ambas aproximaciones será fundamental puesto que determinan el nivel de fiabilidad proporcionada por la arquitectura de protocolos. TCP proporciona toda la fiabilidad necesaria para la interconexión a través de Internet. Por el contrario, los clientes y servidores que emplean UDP no tienen garantías sobre la entrega de los datos. Cuando un cliente realiza una petición, ésta puede perderse, llegar más de una vez al receptor o entregarse en orden distinto al que fue enviada. Lo mismo puede suceder con la respuesta del servidor. Por ello la aplicación debe tomar las medidas apropiadas para detectar y corregir estos errores. UDP resulta poco fiable puesto que propaga los errores de los niveles inferiores sin comprobarlos ni corregirlos. Por tanto, no evitará los errores de envío que se produzcan en el nivel de IP, que a su vez depende del hardware de red que tenga por debajo. Esto permite que la utilización de UDP, sea más simple y más rápida que TCP (carece de fase de establecimiento de la conexión), y que resulte recomendable, por ejemplo, cuando el servicio se proporciona en la misma red local en que se encuentra el servidor, donde los errores en la comunicación son muy poco frecuentes. Algunos programadores cometen el error de implementar servicios sobre UDP y verificarlos en su red local, dando por bueno el servicio sin comprobar su funcionamiento en Internet. Por ello, en general, resulta más interesante el uso del servició con conexión de TCP. De esta forma se consiguen programas más simples, ya que nuestra aplicación se desentiende del control de errores en el transporte de los datos. Normalmente sólo emplearemos UDP cuando la especificación del servicio a implementar lo requiera, cuando el protocolo necesite realizar difusiones o bien cuando el coste temporal y los recursos utilizados en TCP sean excesivamente elevados para la aplicación. 3

4 Clases de servidores. Se definen cuatro tipos distintos de servidores, dependiendo del tipo de protocolo de transporte que utilicen y de que atiendan a sus clientes de forma secuencial o simultánea: Iterativo sin conexión (UDP). Iterativo con conexión (TCP). Concurrente sin conexión (UDP). Concurrente con conexión (TCP). Servidor iterativo sin conexión. Los servidores iterativos resultan adecuados para aquellos servicios que requieran poco tiempo de procesamiento, ya que en caso contrario la espera puede resultar incómoda para los clientes que están guardando su turno para ser atendidos. Como el protocolo TCP introduce una sobrecarga de procesamiento muy superior a la que provoca UDP, la mayoría de los servidores iterativos utilizan este último. El funcionamiento de un servidor iterativo UDP se ajusta al siguiente esquema: Crear un socket de tipo SOCK DGRAM Asociarle una dirección de socket bién -conocida (BIND) Esperar la petición de servicio sobre el socket creado (RECVFROM) Procesar la petición de servicio y enviar resultados (SENDTO) En este caso en todo el proceso se utiliza un único socket, que sirve tanto para esperar las peticiones de los clientes como para atender las mismas. Servidor Aplicación Socket BC S.O. Estructura de un servidor iterativo sin conexión. 4

5 Servidor iterativo con conexión. Aunque los servidores iterativos más frecuentes son sin conexión, también pueden implementarse este tipo de servidores sobre TCP. A continuación, mostramos su funcionamiento: Crear un socket de tipo SOCK_STREAM (SOCKET) Asociarle una dirección de socket bién -conocida (BIND) Poner el socket en modo pasivo (LISTEN) A diferencia del caso anterior, vemos que ahora se emplean dos sockets: El servidor utiliza el socket maestro para recibir las peticiones de conexión por parte de los clientes; al establecerse una conexión se crea un nuevo socket (socket esclavo) asociado a dicha conexión, que es el que se usa para llevar a cabo el diálogo con el cliente. Durante ese período, mientras se están atendiendo las solicitudes de ese cliente, no se aceptan nuevas peticiones de conexión. Esperar una petición de conexión sobre el socket y obtener un nuevo socket cuando se establece la conexión (ACCEPT) Servidor Aplicación Diálogo cliente servidor según el protocolo de aplicación (READ, WRITE, RECV, SEND) Maestro Esclavo S.O. Cierre del socket asociado a la conexión (CLOSE) Estructura de un servidor iterativo con conexión Servidor concurrente sin conexión. El objetivo principal al introducir la concurrencia es disminuir el tiempo de respuesta cuando existen varios clientes. Esto resulta especialmente interesante cuando: El tiempo necesario para atender las peticiones de los clientes es variable o siempre elevado. Enviar una respuesta requiere un tiempo significativo de E/S. El servidor se va a ejecutar en un entorno con múltiples procesadores. La mayoría de los servidores concurrentes se basarán en el empleo de múltiples procesos (en nuestro caso múltiples threads). Existirá un proceso maestro que se encargará de crear un socket y asociarlo a un puerto bien-conocido, donde esperará las peticiones de los clientes, y creará procesos esclavos que se encarguen de atender las peticiones de dichos clientes. En el caso de los servidores concurrentes sin conexión, cada petición se trata de forma independiente, provenga del mismo cliente que realizó la petición anterior o de otro distinto. 5

6 Por lo tanto, para atender cada una de estas peticiones se generará un nuevo proceso, que se destruirá una vez atendida la misma. Esto plantea una cuestión importante a la hora de implementar un servidor como concurrente o iterativo: Supera el coste de atender una única petición de un servicio determinado al que le supone al sistema crear un nuevo proceso y destruirlo después. Existen pocos servicios en los que el coste de servicio sea mayor que el de gestión de procesos, por lo que la mayoría de los servidores sin conexión tienen implementaciones iterativas. Una excepción es la aplicación de transferencia de ficheros TFTP (Trivial File Transfer Protocol). Veamos el esquema de funcionamiento de este tipo de servidores: Proceso Maestro Proceso esclavo Crea un socket de tipo SOCK_DGRAM (SOCKET) Recoge la petición de servicio que le pasa el maestro, así como la dirección del cliente Le asocia una dirección de socket Bien-conocida (BIND) Procesa la petición y envía la respuesta al cliente, en uno o varios mensajes (SENDTO) Espera una petición de servicio sobre el socket creado (RECVFROM) Tras acabar el servicio el proceso esclavo se autodestruye Crea un proceso esclavo y le pasa la petición de servicio recibida Ahora podemos tener múltiples procesos en el servidor, pero todas las transferencias se llevan a cabo a través de un único socket: Maestro... Esc Esclavo Esclavo Esclavo Aplicación Socket BC S.O. Estructura de un servidor concurrente sin conexión. 6

7 Servidor concurrente con conexión. En este caso, tendremos un único proceso maestro, escuchando en un puerto bienconocido. Al establecerse una conexión, se crea un nuevo proceso que se encargará de Proceso Maestro Crear un socket de tipo SOCK_STREAM (SOCKET) Asociarle una dirección de socket bien -conocida (BIND) Poner el socket en modo pasivo (LISTEN) Proceso esclavo Recoge el nuevo socket resultante del establecimiento de la conexión Intercambio de mensajes entre cliente y servidor según el protocolo de aplicación (READ, WRITE, Tras acabar el servicio el proceso esclavo cierra la conexión (CLOSE) y se destruye atender las peticiones del cliente a través del socket esclavo. Mientras tanto, el proceso maestro sigue esperando nuevas solicitudes de conexión. Al finalizar la conexión con el cliente, se cierra el socket esclavo y el proceso esclavo se destruye. Según el funcionamiento descrito anteriormente, este tipo de servidores pueden usar simultáneamente varios sockets para la comunicación. Su estructura se muestra en la figura siguiente: Esperar una petición de conexión sobre el socket creado (ACCEPT) Crear un proceso esclavo, que atenderá las peticiones del servicio, y pasarle el nuevo socket creado por Slave Master Slave Maestro Esclavo_1 Esclavo_2 Slave Esclavo_n Aplicación S.O Estructura de un servidor concurrente con conexión 7

8 El servicio de ECHO Permite a un usuario comprobar que la estación que actúa como servidor está activa y que se tiene acceso a ella a través de la red. Al recibir una petición, el servidor de echo envía como respuesta los mismos datos que envió el cliente en su solicitud. Este servicio se encuentra disponible tanto sobre TCP como sobre UDP 1. Servicio de eco basado en TCP El servidor escucha en el puerto 7 para recibir las peticiones de conexión de los clientes. Una vez establecida la conexión el servidor devuelve al cliente todos los datos que este le va enviando. Esta conexión permanece abierta hasta que el cliente solicita la desconexión. En concreto, los pasos que debe seguir el cliente de echo TCP son los siguientes: 1. Obtener dirección IP y número de puerto, y construir dirección de socket. 2. Crear un socket de tipo SOCK_STREAM mediante la llamada SOCKET. 3. Asignar al socket creado la dirección de socket local (BIND).* 4. Establecer conexión con servidor (CONNECT). 5. Protocolo de aplicación, utilizando READ, WRITE 2, SEND y RECV 6. Cerrar la conexión, eliminando el socket (CLOSE, SHUTDOWN). (*) La dirección local de socket es especificada por CONNECT, por lo que no resulta obligatorio hacerlo de forma explícita. Servicio de eco basado en UDP En este caso, el servidor también espera la recepción de peticiones de los clientes en el puerto 7. Cuando se recibe un datagrama, el servidor envía copia de los datos recibidos al cliente que se los ha enviado. Cada petición se trata de forma independiente en el servidor, incluso aunque se reciban varias procedentes del mismo cliente. Los pasos a ejecutar por el cliente UDP son los siguientes: 1. Obtener dirección IP y número de puerto, y construir dirección de socket. 2. Crear un socket de tipo SOCK_DGRAM mediante la llamada SOCKET. 3. Asignar la dirección de socket local al socket recién creado (BIND). 4. Especificar el servidor con el que queremos conectar (CONNECT). (*) 5. Protocolo de aplicación, utilizando SENDTO, RECVFROM, y opcionalmente READ, WRITE, SEND y RECV. 6. Eliminar el socket (CLOSE). (*) Opcional: No resulta necesario emplear CONNECT si posteriormente utilizamos SENDTO y RECVFROM. Sí resulta necesario para utilizar SEND, etc. 1 Se podría equiparar a los mensajes ICMP ECHO, pero a nivel de aplicación. 2 A pesar de encontrarse ampliamente extendidas en los sockets de UNIX, en la versión Windows no se utilizan las llamadas READ y WRITE 8

9 Trabajo a realizar En esta práctica se proporciona la aplicación casi completa. Se suministran tres módulos: Echo.c, echod.c y util.c. El primero y el segundo contienen el código principal del cliente y servidor de echo, respectivamente. El último módulo se define como una librería de funciones y procedimientos disponibles para los módulos anteriores. También se ha suministrado el fichero Makefile que permite compilar y enlazar los programas ejecutables tanto del cliente como del servidor (comando make). Se ha suprimido el código correspondiente al procedimiento ConnectSock (módulo util.c) y parte del código del cuerpo del programa principal (módulo echo.c) del cliente de echo. Se pide que se completen estas funciones. Una vez completadas estas funciones, se deberá comprobar el correcto funcionamiento del cliente desarrollado, pudiendo utilizar para ello el servidor de echo local (localhost) y/o el servidor de echo suministrado (echod). Para lanzar este último sin que entre en conflicto con el que se está ejecutando en el sistema, se sugiere el uso de una dirección de puerto alternativa, por ejemplo nº de usuario en el sistema. Así, si nuestro usuario es 27 (nombre usuario arst27), lanzaremos el servidor de echo así: $ echod Sugerencias en el desarrollo y depuración de los programas: (1) El servidor de desarrollo tiene la dirección IP: (2) El acceso al servidor se hará a través de un cliente SSH. En el escritorio se dispone de un cliente SSH (putty.exe) (3) Se dispone de cuentas de usuario cuyo nombre será arstx y la clave de acceso inicial X arst (dónde XX es un número entre 1 y 55 y como separador con el nombre se han empleado dos guiones bajos _ ). Así por ejemplo el usuario arst7 tendrá la clave de acceso 7 arst. Cada alumno tendrá asignada una cuenta de usuario. La asignación de cuentas se encuentra en un documento adjunto. Se recomienda cambiar la clave de acceso la primera de vez que se acceda. (4) Antes de finalizar la sesión se recomienda salvar el código desarrollado en otra ubicación. No se garantiza la disponibilidad de los contenidos en dichas cuentas. (5) Cuando se desarrolle un servidor, aseguraros de eliminarlo del sistema antes de finalizar la sesión. Para ello, deberéis listar todos los procesos activos que tenéis en vuestra terminal (comando ps) y eliminar (comando kill) el(los) proceso(s) de servidor(es) que se encuentre(n) en ejecución: ps PID TTY TIME CMD pts/6 00:00:00 bash pts/6 00:00:00 echod pts/6 00:00:00 ps kill

10 Cuestiones adicionales 1. Implementar el cliente y servidor de echo basados en UDP. 2. Modificar el cliente de echo para construir un cliente del servicio time basado en UDP. Este servicio, accesible a través del puerto 37, existe tanto en versiones TCP como UDP. El servidor devuelve una cadena que contiene la fecha y la hora actual del sistema en cuanto se abre la conexión. La versión sobre UDP requiere que el cliente envíe algún mensaje para que el servidor conteste, cuyo contenido resulta indiferente. 3. Implementar un servidor multiprotocolo del servicio de echo. De esta forma, en lugar de tener dos servidores independientes, uno sobre TCP y el otro sobre UDP, para atender el mismo servicio, podemos realizar un único servidor que atienda peticiones tanto sobre TCP como UDP. Para ello puede resultar útil el empleo de las siguientes funciones: Función SELECT: Permite atender la entrada/salida producida por varios descriptores de sockets. Indica al sistema cuántos descriptores desea escuchar y qué eventos hay que notificarle (lectura, escritura o eventos de otro tipo) Multiplexación de entrada/salida síncrona int select (int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); donde: n: Indica el número máximo de descriptores (sockets) a escuchar. readfds, writefds y exceptfds: Definen conjuntos de descriptores que se escucharán para lectura, escritura y eventos/excepciones, respectivamente. fd_set: Estructura de datos que define un conjunto de descriptores: timeout: Define el intervalo de tiempo que la llamada select esperará a que se produzca alguna entrada/salida sobre los descriptores especificados. Si es 0, la llamada retorna inmediatamente después de comprobar el estado de los descriptores deseados. struct timeval { long tv_sec; /* segundos */ long tv_usec; /* microsegundos */ }; FD_ZERO: Inicializa un conjunto (set) de descriptores a cero. fd_set set; FD_ZERO(set) FD_SET: Incluye un descriptor (fd) en un conjunto de descriptores (set). FD_SET(fd,set) 10

11 FD_ISSET: Comprueba si un socket (fd) pertenece a un conjunto (set). FD_ISSET(fd, set) FD_CLR: Elimina un descriptor (fd) de un conjunto (set). FD_ISSET(fd, set) Mediante la función select el servidor puede esperar escuchando sobre varios sockets. La función retornará cuando alguno de los sockets se active. Antes de poner el servidor a la escucha mediante esta función, será necesario realizar algunas inicializaciones: poner el conjunto de descriptores de sockets sobre el que se va a trabajar a cero (FD_ZERO) e incluir en dicho conjunto los sockets sobre los que el servidor va a escuchar (FD_SET). Los pasos necesarios pueden resumirse en: Abrir socket_pasivo_tcp tsock; Abrir socket_pasivo_udp usock; Obtener el número máximo de descriptores a escuchar: Nfds = MAX(tsock, usock) + 1; Inicializar conjunto de descriptores (set) a cero (FD_ZERO) Repetir Incluir tsock en el conjunto set (FD_SET) Incluir usock en el conjunto set (FD_SET) Esperar a que se active alguno de los descriptores (SELECT) Si usock activo responder a eco_udp Si tsock activo Establecer conexión Incluir socket_esclavo en el conjunto set Si algún otro descriptor activo Responder a eco_tcp siempre Bibliografía [1] D. Comer, Internetworking with TCP/IP, vol3, 2ª ed., Prentice Hall, [2] RFC 862: ECHO Protocol. 11

12 Informe El informe o memoria de esta sesión de laboratorio deberá incluir los siguientes aspectos: Una página de presentación con el nombre de la asignatura, curso, titulación, tu nombre y apellidos, número y título de la práctica y las fechas de realización y envío la memoria. Un resumen de los objetivos perseguidos en la práctica. Metodología: Una breve descripción del proceso que has seguido a la hora de definir los distintos escenarios, modelos, etc. contemplados en la práctica. Exposición y análisis de los resultados obtenidos a lo largo de la práctica y, si procede, una comparación de los mismos con lo que esperabas obtener. La respuesta a las cuestiones o ejercicios planteados en la memoria de la práctica. Si la respuesta incorpora nuevas gráficas, debe realizarse un breve análisis de las mismas. Una conclusión general en la que se describa lo que se ha aprendido con esta práctica, las dificultades que se han encontrado en la realización de los diferentes pasos y cualquier sugerencia, propuesta de ampliación o comentario que permita mejorar la práctica propuesta. 12

COMUNICACIÓN ENTRE PROCESOS SOCKETS

COMUNICACIÓ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 detalles

Estructuras y funciones de programación de sockets.

Estructuras y funciones de programación de sockets. Estructuras y funciones de programación de sockets. Introducción. En estos apuntes se incluye una breve descripción de las estructuras y funciones cuyo uso puede ser necesario para el desarrollo de las

Más detalles

Introducción a la programación con sockets en C

Introducción a la programación con sockets en C Introducción a la programación con sockets en C Enrique Bonet Departamento de Informática Universidad de Valencia Índice Introducción Socket Creación de un socket Cierre de un socket Asociación de un socket

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 de Sockets en C.

Introducción de Sockets en C. PRÁCTICA 2: Introducción de Sockets en C. 1 La Interfaz Socket es una API para redes TCP/IP que se compone de funciones o rutinas. Originalmente se construyó a principios de los 80 para el sistema operativo

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

Qué es un socket? Dominios de comunicación. Tipos de sockets en el dominio AF_INET. Sockets Stream. Sockets Datagram. Sockets Raw

Qué es un socket? Dominios de comunicación. Tipos de sockets en el dominio AF_INET. Sockets Stream. Sockets Datagram. Sockets Raw Qué es un socket? Es una interfaz de entrada salida de datos que permite la intercomunicación entre procesos. Los procesos pueden estar ejecutándose en el mismo o en distintos sistemas, unidos mediante

Más detalles

Introducción Mensajes UDP. Asignación de puertos a procesos. Bibliografía [COM06] Internetworking with TCP/IP, Cap. 11.

Introducción Mensajes UDP. Asignación de puertos a procesos. Bibliografía [COM06] Internetworking with TCP/IP, Cap. 11. Tema 2: El protocolo UDP Introducción Mensajes UDP Encapsulado Formato de los mensajes Cálculo del checksum Asignación de puertos a procesos Bibliografía [COM06] Internetworking with TCP/IP, Cap. 11. Arquitectura

Más detalles

Arquitecturas cliente/servidor

Arquitecturas cliente/servidor Arquitecturas cliente/servidor Conceptos básicos 1 Conceptos básicos 1. Definición de puerto 2. Sockets 3. Conceptos cliente/servidor 4. Definición de Stream 5. Concurrencia, multiprogramación y multitarea

Más detalles

Tema 4.1: - TRANSPORTE-

Tema 4.1: - TRANSPORTE- Tema 4.1: - TRANSPORTE- -Introducción - Terminología OSI - Tipologia y complejidad - Servicios - Calidad de servicio - Conexiones de transporte - Transporte en Internet - Introducción. Su función básica

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

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

Tema 5 El Modelo Cliente-Servidor

Tema 5 El Modelo Cliente-Servidor 1 Tema 5 El Modelo Cliente-Servidor Capítulos: Conceptos básicos. Características y estructura de un cliente. Obtención de información. Algoritmos del cliente TCP y UDP. Ejemplos. Características y estructura

Más detalles

Sockets (TCP) Tema 2.- Nivel de aplicación en Internet

Sockets (TCP) Tema 2.- Nivel de aplicación en Internet Sockets (TCP) Tema 2- Nivel de aplicación en Internet Dr Daniel Morató es de Computadores Ingeniero Técnico en Informática de Gestión, 2º curso Material parcialmente adaptado del libro Computer Networking:

Más detalles

SOCKET S. Alberto Castro Rojas

SOCKET S. Alberto Castro Rojas SOCKET S EL64E Alberto Castro Rojas 1 Interfaz de programación genérica Soporte de múltiples suites de protocolos de comunicación (familias) Representaciones de direcciones sin dependencias (endpoint)

Más detalles

Arquitectura de Redes y Servicios de Telecomunicación (ARST) Cuestiones y Problemas Propuestos

Arquitectura de Redes y Servicios de Telecomunicación (ARST) Cuestiones y Problemas Propuestos Sobre el Protocolo UDP 1. Qué sucedería si por error recibiera UDP un datagrama UDP destinado a otra máquina (con otra dirección IP)?. 2. Por qué es necesario incluir un checksum en IP, TCP y opcionalmente

Más detalles

Bibliografía [COM00] Internetworking with TCP/IP, vol. 3, Cap. 2 y del 7 al 15.

Bibliografía [COM00] Internetworking with TCP/IP, vol. 3, Cap. 2 y del 7 al 15. Tema 5: El Modelo Cliente-Servidor Conceptos básicos. Características y estructura de un cliente. Obtención de información. Algoritmos del cliente TCP y UDP. Ejemplos. Características y estructura de un

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

Escuela de Graduados de Electrónica y. Telecomunicaciones. Maestría en Ingeniería en Telecomunicaciones. Laboratorio TCP-IP. Profesores: Marcelo Utard

Escuela de Graduados de Electrónica y. Telecomunicaciones. Maestría en Ingeniería en Telecomunicaciones. Laboratorio TCP-IP. Profesores: Marcelo Utard Escuela de Graduados de Electrónica y Telecomunicaciones Maestría en Ingeniería en Telecomunicaciones Laboratorio TCP-IP Profesores: Marcelo Utard Javier Bozzuto Integrantes del grupo: Rafael Javier Collazos

Más detalles

1.- 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.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 detalles

Curso de Redes Computadores 1 Tema 3 Introducción a la capa de transporte. Interfaz de programación en redes. Sockets.

Curso de Redes Computadores 1 Tema 3 Introducción a la capa de transporte. Interfaz de programación en redes. Sockets. Curso de Redes Computadores 1 Tema 3 Introducción a la capa de transporte. Interfaz de programación en redes. Sockets. Prof. Ricardo Gonzalez Redes de Computadores Tema 3 1 1 Modelo Cliente-Servidor Dos

Más detalles

Problemas de Redes de Computadores. Conjunto de problemas 1

Problemas de Redes de Computadores. Conjunto de problemas 1 Problemas de Redes de Computadores. Ingeniería Técnica en Informática de Gestión Conjunto de problemas 1 Pregunta 1.1: Si configuro mi servidor Web para que no acepte conexiones desde la dirección IP 130.206.1.1,

Más detalles

Problemas de Redes de Computadores. Ingeniería Técnica en Informática de Gestión Conjunto de problemas 1

Problemas de Redes de Computadores. Ingeniería Técnica en Informática de Gestión Conjunto de problemas 1 Problemas de Redes de Computadores. Ingeniería Técnica en Informática de Gestión Conjunto de problemas 1 Preguntas cortas Pregunta 1.1: Si configuro mi servidor Web para que no acepte conexiones desde

Más detalles

Mecanismos IPC: sockets

Mecanismos IPC: sockets Mecanismos IPC: sockets Ampliación de Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Sockets Los sockets son una abstracción lógica que permiten la comunicación bidireccional

Más detalles

Programación C/S Básica

Programación C/S Básica 1 de 16 Programación C/S Básica Enrique Alba Torres Universidad de Málaga (UMA) 2 de 16 Los servicios Internet se ofertan como sistemas Cliente/Servidor Los protocolos de base suelen ser peer-to-peer (igual-a-igual)

Más detalles

Programación con Sockets

Programación con Sockets Programación con Sockets INTRODUCCIÓN 1 Qué son los Sockets? Son un mecanismo de comunicación entre procesos: Dentro de una misma máquina. Distribuidos en diferentes máquinas. Que pueden ser identificados

Más detalles

1. Definición de puerto 2. Sockets 3. Conceptos cliente/servidor 4. Definición de Stream 5. Concurrencia, multiprogramación y multitarea 6.

1. Definición de puerto 2. Sockets 3. Conceptos cliente/servidor 4. Definición de Stream 5. Concurrencia, multiprogramación y multitarea 6. 1. Definición de puerto 2. Sockets 3. Conceptos cliente/servidor 4. Definición de Stream 5. Concurrencia, multiprogramación y multitarea 6. Servidores iterativos y concurrentes 7. Estándares Stream Es

Más detalles

Práctica 1: sockets en Python

Práctica 1: sockets en Python Práctica 1: sockets en Python Álvaro Navarro anavarro@gsyc.es Jesús M. González-Barahona jgb@gsyc.es Infraestructura de Redes 5 o Ingeniería Informática 08/09 1. Fase 1: Cliente UDP Esta primera fase tiene

Más detalles

Modem IBM Compatible. IBM Compatible. Ethernet IBM AS/400. Laser printer. Workstation. Mac II. El Interfaz. Socket. versión perliminar

Modem IBM Compatible. IBM Compatible. Ethernet IBM AS/400. Laser printer. Workstation. Mac II. El Interfaz. Socket. versión perliminar IBM Compatible Modem IBM Compatible Ethernet IBM AS/400 Laser printer Workstation Mac II El Interfaz Socket versión perliminar ÍNDICE 1. INTRODUCCIÓN. 2. QUÉ ES UN SOCKET?. 2.1. Dominio de un socket. 2.2.

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 3: Estructura del sistema operativo. 3.1 Componentes del sistema. 3.2 Servicios del sistema operativo. 3.3 Llamadas al sistema. 3.4 Programas

Más detalles

Tema 4: Sockets: Un interfaz con TCP/IP

Tema 4: Sockets: Un interfaz con TCP/IP Tema 4: Sockets: Un interfaz con TCP/IP Introducción. Conceptos básicos. Dirección de un socket. Llamadas básicas de los sockets. Diferencias entre BSD-Sockets y WinSockets. Asignación de puertos a procesos.

Más detalles

SISTEMAS DE COMUNICACIONES DE DATOS

SISTEMAS DE COMUNICACIONES DE DATOS SISTEMAS DE COMUNICACIONES DE DATOS Técnicas Digitales III Ing. Gustavo Nudelman 2012 Fundamentos de Networking Subtitulo o nombre del capitulo Capitulo 1 Universidad Tecnológica Nacional Definiciones

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

Mecanismo(s) de intercambio de información entre 2 ó más computadores conectados entre sí o a través de otros.

Mecanismo(s) de intercambio de información entre 2 ó más computadores conectados entre sí o a través de otros. Comunicaciones Comunicaciones: Mecanismo(s) de intercambio de información entre 2 ó más computadores conectados entre sí o a través de otros. Terminología: Trama: unidad de información a transmitir Medio:

Más detalles

CURSO PRÁCTICO DE REDES PRÁCTICA 3b. PRÁCTICA DE TCP-IP Protocolo TCP. Departamento de Ingeniería Área de Ingeniería de Sistemas y Automática

CURSO PRÁCTICO DE REDES PRÁCTICA 3b. PRÁCTICA DE TCP-IP Protocolo TCP. Departamento de Ingeniería Área de Ingeniería de Sistemas y Automática 1. OBJETIVO Esta práctica tiene como objetivo el estudio del protocolo TCP, analizando los mecanismos de conexión y desconexión, opciones de la cabecera, etc. Se experimentará así mismo con varios servicios

Más detalles

Las clases Java Socket y ServerSocket

Las clases Java Socket y ServerSocket Las clases Java Socket y ServerSocket Lenguajes y Herramientas de Programación Universidad de La Laguna Programa de Doctorado de Física e Informática Escuela Técnica Superior Superior de Ingeniería Informática

Más detalles

Práctica GESTIÓN Y UTILIZACIÓN DE REDES LOCALES. Curso 2001/2002. TCP/IP: protocolo TCP

Práctica GESTIÓN Y UTILIZACIÓN DE REDES LOCALES. Curso 2001/2002. TCP/IP: protocolo TCP Práctica 9 GESTIÓN Y UTILIZACIÓN DE REDES LOCALES Curso 2001/2002 TCP/IP: protocolo TCP Introducción Como se ha comentado en la práctica anterior, el protocolo UDP es muy sencillo de implementar, pero

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

Tema 4:Niveles Superiores

Tema 4:Niveles Superiores Tema 4:Niveles Superiores CONTENIDO 4.1. Nivel de Transporte 4.2. Nivel de Sesión 4.3. Nivel de Presentación Bibliografía: * Tanenbaum, es de computadores Ed. 2ª Nivel de Transporte Introducción. Objetivo

Más detalles

Examen de Fundamentos de Redes de Computadores Junio 2005

Examen de Fundamentos de Redes de Computadores Junio 2005 Examen de Fundamentos de Redes de Computadores Junio 2005 1. (1.5 puntos) Se quiere enviar un mensaje de 20 Kbytes entre dos hosts conectados directamente. La conexión entre ellos presenta las siguientes

Más detalles

Arquitectura de Redes y Sistemas de Telecomunicación

Arquitectura de Redes y Sistemas de Telecomunicación Práctica 0 Arquitectura de Redes y Sistemas de Telecomunicación Introducción al Wireshark Fundamentos del analizador de protocolos Wireshark. Objetivos En esta introducción se pretenden adquirir las capacidades

Más detalles

Protocolo VT F R A N C I S C O R A M Í R E Z V I C E N T E A N G E L R E F U G I O M A N D U J A N O G A R C Í A J O R G E R A M Í R E Z G A R C Í A

Protocolo VT F R A N C I S C O R A M Í R E Z V I C E N T E A N G E L R E F U G I O M A N D U J A N O G A R C Í A J O R G E R A M Í R E Z G A R C Í A Protocolo VT F R A N C I S C O R A M Í R E Z V I C E N T E A N G E L R E F U G I O M A N D U J A N O G A R C Í A J O R G E R A M Í R E Z G A R C Í A M O D E L O D E R E D E S - V E R A N O 2 0 1 2 Introducción

Más detalles

TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software.

TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software. . TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software. Índice 1 INTRODUCCIÓN 2 2 CARACTERÍSTICAS 2 2.1 Características del cliente...2 2.2 Características

Más detalles

2. Entorno de trabajo y funcionalidad en Arquímedes

2. Entorno de trabajo y funcionalidad en Arquímedes 2. Entorno de trabajo y funcionalidad en Arquímedes 2.20. Servidor de bases de datos de Arquímedes... 1 2.20.1. Ejemplo de trabajo con una base de datos remota... 14 2.20. Servidor de bases de datos de

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

INTRODUCCION. Tema: Protocolo de la Capa de aplicación. FTP HTTP. Autor: Julio Cesar Morejon Rios

INTRODUCCION. Tema: Protocolo de la Capa de aplicación. FTP HTTP. Autor: Julio Cesar Morejon Rios INTRODUCCION Tema: Protocolo de la Capa de aplicación. FTP HTTP Autor: Julio Cesar Morejon Rios Qué es FTP? FTP (File Transfer Protocol) es un protocolo de transferencia de archivos entre sistemas conectados

Más detalles

Práctica de laboratorio 4.5.2: Protocolos de la capa de Transporte TCP/IP, TCP y UDP Diagrama de topología

Práctica de laboratorio 4.5.2: Protocolos de la capa de Transporte TCP/IP, TCP y UDP Diagrama de topología Práctica de laboratorio 4.5.2: Protocolos de la capa de Transporte TCP/IP, TCP y UDP Diagrama de topología Este documento es información pública de Cisco. Página 1 de 10 Tabla de direccionamiento Dispositivo

Más detalles

TimeOut RTT medido 1 5 seg. 2*5= 10 1 2 0,7 3 TimeOut 3 TimeOut 3 0,001 4 0,35 5 0,44

TimeOut RTT medido 1 5 seg. 2*5= 10 1 2 0,7 3 TimeOut 3 TimeOut 3 0,001 4 0,35 5 0,44 ARQUITECTURA DE REDES Y SERVICIOS DE TELECOMUNICACIÓN Junio 2014 Teoría: 1) Qué sucedería si por error recibiera UDP un datagrama UDP que originalmente iba destinado a otra máquina?. (0,5 ptos) 2) Asumiendo

Más detalles

Clase 22 Nivel de Aplicación WWW Tema 6.- Nivel de aplicación en Internet

Clase 22 Nivel de Aplicación WWW Tema 6.- Nivel de aplicación en Internet Clase 22 Nivel de Aplicación WWW Tema 6.- Nivel de aplicación en Internet Dr. Daniel Morató Redes de Computadores Ingeniero Técnico de Telecomunicación Especialidad en Sonido e Imagen 3º curso Temario

Más detalles

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN Los protocolos de capa de aplicación de TCP/IP más conocidos son aquellos que proporcionan intercambio de la información

Más detalles

Lab 01: Programación de Sockets en TCP

Lab 01: Programación de Sockets en TCP UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO Departamento Académico de Informática REDES Y TELECOMUNICACIONES 2 Lab 01: Programación de Sockets en TCP Ingº Manuel Peñaloza Figueroa Dime y lo olvidaré.

Más detalles

FUNDAMENTOS DE REDES CONCEPTOS DE LAS CAPAS SUPERIORES

FUNDAMENTOS DE REDES CONCEPTOS DE LAS CAPAS SUPERIORES FUNDAMENTOS DE REDES CONCEPTOS DE LAS CAPAS SUPERIORES Dolly Gómez Santacruz dollygos@univalle.edu.co CAPA DE SESION Conceptos El propósito principal de la capa de sesión en la pila OSI es minimizar los

Más detalles

Redes de Computadoras Junio de 2006. Teoría y problemas (75 %)

Redes de Computadoras Junio de 2006. Teoría y problemas (75 %) Redes de Computadoras Junio de 2006 Nombre: DNI: Teoría y problemas (75 %) 1. (1 punto) Suponga una aplicación P2P de compartición de ficheros en la que existe un servidor central que ofrece un servicio

Más detalles

Sockets (UDP) Tema 2.- Nivel de aplicación en Internet

Sockets (UDP) Tema 2.- Nivel de aplicación en Internet Sockets (UDP) Tema 2.- Nivel de aplicación en Internet Dr. Daniel Morató es de Computadores Ingeniero Técnico en Informática de Gestión, 2º curso Sockets y UDP UDP: no hay conexión entre cliente y servidor»

Más detalles

Protección de los clientes contra los ataques a la red

Protección de los clientes contra los ataques a la red Protección de los clientes contra los ataques a la red La información incluida en este documento representa el punto de vista actual de Microsoft Corporation acerca de los temas tratados hasta la fecha

Más detalles

PRÁCTICA 4. A continuación se resumen algunos de los parámetros más interesantes del comando:

PRÁCTICA 4. A continuación se resumen algunos de los parámetros más interesantes del comando: LABORATORIO DE REDES PRÁCTICA 4 GRAFO DE ESTADOS DE TCP Y CONTROL DE FLUJO DE TCP INTRODUCCIÓN El objetivo de esta práctica de laboratorio es observar los cambios de estados que se producen en una conexión

Más detalles

Aspectos Básicos de Networking

Aspectos Básicos de Networking Aspectos Básicos de Networking ASPECTOS BÁSICOS DE NETWORKING 1 Sesión No. 4 Nombre: Capa de transporte del modelo OSI Objetivo: Al término de la sesión el participante aplicará las principales características

Más detalles

Ingeniería Técnica de Telecomunicación, esp. Telemática Universidad de Jaén

Ingeniería Técnica de Telecomunicación, esp. Telemática Universidad de Jaén Contenido. Introducción Primitivas Sockets orientadas a conexión (TCP) Primitivas orientadas a no conexión (UDP) Programación con Sockets en Internet Funciones sockets Funciones auxiliares 1 Bibliografía.

Más detalles

Práctica de laboratorio 4.5.1: Observación de TCP y UDP utilizando Netstat

Práctica de laboratorio 4.5.1: Observación de TCP y UDP utilizando Netstat Práctica de laboratorio 4.5.1: Observación de TCP y UDP utilizando Netstat Diagrama de topología Tabla de direccionamiento Dispositivo Interfaz Dirección IP Máscara de subredgateway por defecto R1-ISP

Más detalles

Tema 4 El paradigma cliente-servidor

Tema 4 El paradigma cliente-servidor Tema 4 El paradigma cliente-servidor F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García Sistemas Distribuidos Grado en Ingeniería Informática Universidad Carlos III de

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

UNIVERSIDAD POLITÉCNICA DE PACHUCA SOCKETS EN JAVA

UNIVERSIDAD 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 detalles

Arquitecturas aplicativas

Arquitecturas aplicativas Arquitecturas aplicativas 100 Arquitectura Arquitectura::= Arte de proyectar y construir Dada la funcionalidad que deberá tener el aplicativo, establecer una división modular para su implementación Enumerar

Más detalles

WSAEADDRNOTAVAIL (10049) Dirección solicitada no se puede asignar.

WSAEADDRNOTAVAIL (10049) Dirección solicitada no se puede asignar. CÓDIGOS DE ERRORES AL UTILIZAR MODO I PARA ENVIAR MAILS A continuación se presenta una lista de los códigos de errores que pueden ocurrir al realizar la llamada WSAGetLastError, y una explicación detallada

Más detalles

Servidor FTP. Ing. Camilo Zapata czapata@udea.edu.co Universidad de Antioquia

Servidor FTP. Ing. Camilo Zapata czapata@udea.edu.co Universidad de Antioquia Servidor FTP. Ing. Camilo Zapata czapata@udea.edu.co Universidad de Antioquia Introducción. Permite la transferencia de archivos desde el cliente hacia el servidor y viceversa. Modelo cliente/servidor.

Más detalles

SISTEMAS DE TRANSMISION DE DATOS: TEORIA Y PRACTICA TELEMÁTICAS

SISTEMAS DE TRANSMISION DE DATOS: TEORIA Y PRACTICA TELEMÁTICAS SISTEMAS DE TRANSMISION DE DATOS: TEORIA Y PRACTICA TELEMÁTICAS Jose Luis del Val 1,Juan Ignacio Vázquez 2 1 E.S.I.D.E. (Estudios Superiores de Ingeniería de Deusto) e-mail: val@eside.deusto.es 2 E.S.I.D.E.

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

TELNET SSH FTP. Redes de Computadoras. 1º Cuatrimestre 2014. Adrian Juri Juan Pablo Moraes Patricio Tella Arena

TELNET SSH FTP. Redes de Computadoras. 1º Cuatrimestre 2014. Adrian Juri Juan Pablo Moraes Patricio Tella Arena Redes de Computadoras 1º Cuatrimestre 2014 TELNET SSH FTP Adrian Juri Juan Pablo Moraes Patricio Tella Arena TELNET Que es Telnet? Es la abreviatura de Telecommunication Network o Red de Telecomunicaciones.

Más detalles

Servidor FTP en Ubuntu Juan Antonio Fañas

Servidor FTP en Ubuntu Juan Antonio Fañas Qué es FTP? FTP (File Transfer Protocol) o Protocolo de Transferencia de Archivos (o ficheros informáticos) es uno de los protocolos estándar más utilizados en Internet siendo el más idóneo para la transferencia

Más detalles

Introducción al protocolo TCP/IP

Introducción al protocolo TCP/IP Introducción al protocolo TCP/IP Contenido Descripción general 1 Introducción a TCP/IP 2 Familia de protocolos TCP/IP 7 Resolución de nombres 17 Proceso de transferencia de datos 23 Enrutamiento de datos

Más detalles

ARQUITECTURA DE REDES Laboratorio

ARQUITECTURA DE REDES Laboratorio 1nsloo.cl ARQUITECTURA DE REDES Laboratorio Práctica 7: Protocolos de transporte en TCP/IP 1. OBJETIVO Conocer las características de los protocolos de transporte de la arquitectura TCP/IP: TCP y UDP.

Más detalles

Planos de ejecución en Velneo V7

Planos de ejecución en Velneo V7 Planos de ejecución en Velneo V7 Por Jesús Arboleya Introducción 3 Arquitectura Cliente/Servidor 4 1. Objetos que siempre se ejecutan en el servidor 5 2. Objetos que siempre se ejecutan en el cliente 6

Más detalles

Adaptación de aplicaciones a IPv6

Adaptación de aplicaciones a IPv6 Adaptación de aplicaciones a IPv6 extensión de la interfaz de sockets Eva M. Castro ecastro@dit.upm.es Tutorial IPv6 -Adaptación de aplicaciones a IPv6 1 Contenido * Introducción Modelo de sockets BSD

Más detalles

SOCKETS en Linux. Lic. Leonardo de - Matteis. Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur 2011

SOCKETS en Linux. Lic. Leonardo de - Matteis. Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur 2011 Introducción al uso de SOCKETS en Linux Lic. Leonardo de - Matteis Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur 2011 Interfaz de programación de aplicaciones NAPI

Más detalles

Internet: TCP/IP Transmisión de datos y redes de ordenadores Internet: TCP/IP La familia de protocolos TCP/IP La capa de red en Internet El protocolo IP Protocolos auxiliares La capa de transporte en Internet

Más detalles

Estructuras y funciones de programación de sockets.

Estructuras y funciones de programación de sockets. Estructuras y funciones de programación de sockets. Introducción. Autor: Enrique Bonet En estos apuntes se incluye una breve descripción de las estructuras y funciones cuyo uso puede ser necesario para

Más detalles

- Telnet, Rlogin, SSH - X-Terminal - Escritorio remoto VNC - Terminal Server - Acceso remoto mediante interfaz web

- Telnet, Rlogin, SSH - X-Terminal - Escritorio remoto VNC - Terminal Server - Acceso remoto mediante interfaz web - Telnet, Rlogin, SSH - X-Terminal - Escritorio remoto VNC - Terminal Server - Acceso remoto mediante interfaz web Los Servicios de Escritorio Remoto (del inglés Remote Desktop Services), antiguamente

Más detalles

INTRODUCCIÓN. El protocolo TCP, funciona en el nivel de transporte del modelo de referencia OSI, proporcionando un transporte fiable de datos.

INTRODUCCIÓN. El protocolo TCP, funciona en el nivel de transporte del modelo de referencia OSI, proporcionando un transporte fiable de datos. INTRODUCCIÓN Aunque poca gente sabe lo que es TCP/IP todos lo emplean indirectamente y lo confunden con un solo protocolo cuando en realidad son varios, de entre los cuales destaca y es el mas importante

Más detalles

Paradigma cliente-servidor

Paradigma cliente-servidor Paradigma cliente-servidor Francisco José Naranjo Area de Ingeniería Telemática Departamento de Automática y Computación Universidad Pública de Navarra franciscojose.naranjo@unavarra.es Laboratorio de

Más detalles

CA Nimsoft Monitor. Guía de sondas de Monitorización de la conectividad de red. Serie de net_connect 3.0

CA Nimsoft Monitor. Guía de sondas de Monitorización de la conectividad de red. Serie de net_connect 3.0 CA Nimsoft Monitor Guía de sondas de Monitorización de la conectividad de red Serie de net_connect 3.0 Aviso de copyright de CA Nimsoft Monitor Este sistema de ayuda en línea (el "Sistema") se proporciona

Más detalles

Telnet. Telnet Operación

Telnet. Telnet Operación Telnet Protocolo utilizado para la ejecución de procesos en sistemas remotos. Emulación de Terminal Utiliza las funcionalidades de TCP Well Known Service, port number 23 Telnet Operación NVT (Network Virtual

Más detalles

Índice general. Tipos de servicio de transporte. Por qué un nivel de transporte? TEMA 6 Funciones de los niveles superiores. Miguel A.

Índice general. Tipos de servicio de transporte. Por qué un nivel de transporte? TEMA 6 Funciones de los niveles superiores. Miguel A. Arquitectura de Redes, Sistemas y Servicios Curso 2007/2008 TEMA 6 Funciones de los niveles superiores Miguel A. Gómez Hernández ARITT/ITT-IT CURSO 07/08 TEMA 6 (2) Por qué un nivel de transporte? Tipos

Más detalles

Conceptos Fundamentales sobre UNIX Laboratorio 16.2.6 Comandos de Networking (Tiempo estimado: 45 min.)

Conceptos Fundamentales sobre UNIX Laboratorio 16.2.6 Comandos de Networking (Tiempo estimado: 45 min.) Conceptos Fundamentales sobre UNIX Laboratorio 16.2.6 Comandos de Networking (Tiempo estimado: 45 min.) Objetivos: Desarrollar una comprensión de los comandos de networking de UNIX y TCP/IP Hacer ping

Más detalles

MÒDUL 1: Instal lació, administració, gestió i implementació del servidor web i la seva seguretat. Servidores FTP en Sistemas Windows

MÒDUL 1: Instal lació, administració, gestió i implementació del servidor web i la seva seguretat. Servidores FTP en Sistemas Windows MÒDUL 1: Instal lació, administració, gestió i implementació del servidor web i la seva seguretat Servidores FTP en Sistemas Windows 1. Servicios FTP - Servidor FTP - Cliente FTP 2. Instalación IIS-FTP

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

EDITRAN. Funcionalidades desde V5.0 a V5.1. Windows/Unix

EDITRAN. Funcionalidades desde V5.0 a V5.1. Windows/Unix EDITRAN Funcionalidades desde V5.0 a V5.1 Windows/Unix INDRA 18 de marzo de 2015 ÍNDICE 1. INTRODUCCIÓN.... 1-1 2. EDITRAN V5.1.0... 2-1 2.1. Nuevas Funcionalidades... 2-1 2.1.1. EDITRAN/P: El número máximo

Más detalles

Comunicación entre Procesos y Sockets

Comunicación entre Procesos y Sockets Temas de la clase de hoy Proceso Sockets Dominios, protocolos y tipos vinculados a los sockets Introducción a Stream y Datagram El modelo cliente-servidor Funciones del cliente Funciones del servidor Orientación

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

Modelo TCP/IP. Página 1. Modelo TCP/IP

Modelo TCP/IP. Página 1. Modelo TCP/IP Modelo TCP/IP Página 1 Índice: Página 1.-Introducción 3 2.-Arquitectura TCP/IP 3 3.-Protocolo IP 8 4.-Direccionamiento IP 9 5.-Otros Protocolos de la capa de Red. 12 6.-Ejercicios 13 7.-Protocolos de resolución

Más detalles

Copyright 2005 Danware Data A/S. Algunas partes de este producto se utilizan bajo licencia de terceros. Reservados todos los derechos.

Copyright 2005 Danware Data A/S. Algunas partes de este producto se utilizan bajo licencia de terceros. Reservados todos los derechos. Copyright 2005 Danware Data A/S. Algunas partes de este producto se utilizan bajo licencia de terceros. Reservados todos los derechos. Revisión del documento: 2005252 Envíe sus comentarios a: Danware Data

Más detalles

sockets Flujo (SOCK_STREAM) Comunicación bidireccional Confiable (entrega garantizada) Información ordenada en el destino Datagrama (SOCK_DGRAM)

sockets Flujo (SOCK_STREAM) Comunicación bidireccional Confiable (entrega garantizada) Información ordenada en el destino Datagrama (SOCK_DGRAM) s s Comunicación punto-a-punto entre procesos Los s son los extremos de la comunicación Diferentes dominios UNIX: Entre procesos de un mismo equipo Internet: Entre procesos de diferentes equipos (TCP/IP)

Más detalles

Paradigma cliente-servidor

Paradigma cliente-servidor Paradigma cliente-servidor Daniel Morató Area de Ingeniería Telemática Departamento de Automática y Computación Universidad Pública de Navarra daniel.morato@unavarra.es Laboratorio de Interfaces de Redes

Más detalles

Programación de aplicaciones distribuidas usando sockets

Programación de aplicaciones distribuidas usando sockets Programación de aplicaciones distribuidas usando sockets 1 a Versión: José Luis Díaz. Octubre 1994. 2 a Versión: José Ramón Arias. Nov. 1998, Oct. 1999, Oct. 2000. Índice general 1. Programación de aplicaciones

Más detalles

CAPÍTULO X TCP. 10.1 Sockets.

CAPÍTULO X TCP. 10.1 Sockets. CAPÍTULO X TCP Se ha abordado en capítulos previos la funcionalidad necesaria para que la interconexión de redes sea posible, en particular el protocolo IP en sus dos versiones en uso hoy en día. Esta

Más detalles

FUNDAMENTOS DE REDES Arquitectura de Redes Modelo de referencia OSI y TCP/IP

FUNDAMENTOS DE REDES Arquitectura de Redes Modelo de referencia OSI y TCP/IP FUNDAMENTOS DE REDES Arquitectura de Redes Modelo de referencia OSI y TCP/IP Dolly Gómez Santacruz dollygos@univalle.edu.co Arquitectura de Redes Introducción Las comunicaciones en redes son complejas,

Más detalles

ALB-W-000003sp WHITE PAPER. White Paper. Medida del throughput con transmisiones sobre TCP. Septiembre 2009. Medida del throughput sobre TCP

ALB-W-000003sp WHITE PAPER. White Paper. Medida del throughput con transmisiones sobre TCP. Septiembre 2009. Medida del throughput sobre TCP White Paper Medida del throughput con transmisiones sobre TCP Septiembre 2009 A la hora de medir la tasa máxima de transmisión que puede ofrecer un enlace WiMAX se suele recurrir a herramientas similares

Más detalles

NMap TÉCNICAS DESCUBRIMIENTO DE EQUIPOS. LIST SCAN (-sl)

NMap TÉCNICAS DESCUBRIMIENTO DE EQUIPOS. LIST SCAN (-sl) NMap NMap es una herramienta que permite el mapeo de redes. Es un programa que viene para varios sistemas operativos y que trae funcionalidades para el descubrimiento de equipos de una red, escaneo de

Más detalles

Redes de Computadores Asignatura obligatoria. 2º Ingeniería Técnica en Informática de Gestión

Redes de Computadores Asignatura obligatoria. 2º Ingeniería Técnica en Informática de Gestión Redes de Computadores Asignatura obligatoria. 2º Ingeniería Técnica en Informática de Gestión * Asignatura: 41206 REDES DE COMPUTADORES * Curso: 2 º * Periodo: 1º C. * Tipo: Obligatoria * Créditos teóricos:

Más detalles

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO ARQUITECTURAS CLIENTE/SERVIDOR 0606 8, 9 06 Asignatura Clave Semestre Créditos Ingeniería Eléctrica Ingeniería en Computación

Más detalles