Programación con sockets
|
|
- José Juárez Rubio
- hace 8 años
- Vistas:
Transcripción
1 Programación con sockets Internetworking with TCP/IP Client/Server Programming and Applications: Linux/POSIX Sockets Version Douglas E. Comer David L. Stevens Capítulos: 2, 5, 7 Grupo de Sistemas y Comunicaciones (GSyC) Modelo cliente/servidor Cliente: programa que inicia una comunicación. Servidor: programa que espera la llegada de peticiones de comunicación de los clientes. Normalmente varios clientes conectados a un mismo servidor cliente 1. Petición 2. Respuesta servidor cliente cliente Existen programas que funcionan a la vez como clientes y como servidores Redes de Área Local
2 TCP vs. UDP UDP: No orientado a conexión No fiable: duplicados, pérdidas, desorden Suele funcionar razonablemente bien en redes locales. Ejemplos: DNS, NFS, SNMP TCP: Orientado a conexión Fiable: sin duplicados, sin pérdidas, en orden Control de flujo y control de congestión Más pesado que UDP. Ejemplos: FTP, HTTP, SMTP Redes de Área Local Servidores con/sin estado Estado: información que mantiene el servidor sobre el estado de las comunicaciones con los clientes. Servidores con estado: mantienen información sobre las comunicaciones con los clientes. La información de estado permite que el servidor tenga información sobre las operaciones previas que ha realizado el cliente, permitiendo que el servidor responda incrementalmente. Servidores sin estado: no guardan este tipo de información. La información de estado puede resultar errónea si se pierden, duplican o se entregan los paquetes desordenados, pudiendo provocar errores en las respuestas del servidor. Redes de Área Local
3 Interfaz de comunicaciones Apl1 Apl2 AplN Aplicaciones en el espacio de direcciones de usuario Llamadas al sistema realizadas por las aplicaciones Interfaz de llamadas al sistema Núcleo del sistema operativo que contiene la pila de protocolos TCP/IP Software de la pila de protocolos en el espacio de direcciones del núcleo Redes de Área Local Interfaz de sockets En 1980 ARPA (Advanced Research Projects Agency) financió un grupo de investigación en la Universidad de California en Berkeley para implementar el software de TCP/IP en UNIX: Crearon una interfaz que las aplicaciones usan para comunicarse. Utilizaron las llamadas al sistema de UNIX y añadieron funciones nuevas. Se denominó interfaz de sockets y el sistema se llamó Berkeley UNIX o BSD UNIX La interfaz de sockets ha sido aceptada por fabricantes de estaciones de trabajo, convirtiéndose en un standard de facto. Redes de Área Local
4 Qué es un socket Un socket es un descriptor que permite leer/escribir datos destinados a otro proceso, en la misma máquina o en máquinas diferentes utilizando para ello la red. De forma equivalente a un descriptor de fichero que permite leer/escribir datos en un fichero. Lo utilizan las aplicaciones como extremo de un canal de comunicaciones. Para poder intercambiar datos las aplicaciones tienen que crear un socket que les permite enviar y recibir datos. El destino de la comunicación se identifica por la dirección IP + Ap1 Ap2 puerto. API sockets TCP/UDP IP Ethernet API sockets TCP/UDP IP Ethernet Redes de Área Local Estructuras de dirección de socket Dirección genérica de socket: Argumento de las funciones del API de sockets. struct sockaddr { unsigned short sa_family; /* familia */ char sa_data[14]; /* datos de la dir. */ }; Dirección de socket de Internet (IPv4): dirección IP + puerto Es necesario hacer cast de (sockaddr_in *) a (sockaddr *) para las funciones del API de sockets. struct sockaddr_in { unsigned short sin_family; /* familia (= AF_INET) */ unsigned short sin_port; /* puerto en orden de red */ struct in_addr sin_addr; /* dir. IP, en formato de red */ unsigned char sin_zero[8]; /* no utilizado */ }; struct in_addr { unsigned long s_addr; /* 32 bits */ }; Redes de Área Local
5 Orden de máquina y Orden de red Diferentes formas en las que un sistema puede almacenar datos en la memoria. De orden de máquina a orden de red: uint32_t htonl(uint32_t hostlong); uint16_t htonl(uint16_t hostshort); De orden de red a orden de máquina: uint32_t ntohl(uint32_t netlong); uint16_t ntohs(uint16_t netshort); Orden de red: posición más alta el byte menos significativo Orden de máquina: posición más alta el byte más significativo N N+1 MSB LSB N N+1 LSB MSB Redes de Área Local Cliente y Servidor UDP Client socket Server socket bind bind recvfrom sendto sendto recvfrom close Redes de Área Local
6 socket() Crea un descriptor de socket: int socket(int dominio, int tipo, int protocolo); Dominio : AF_INET para Internet Tipo: SOCK_STREAM para TCP SOCK_DGRAM para UDP. Protocolo: 0 El valor de retorno es el descriptor de socket, sd. Es necesario comprobar siempre si ha ocurrido un error en la llamada socket() Si sd<0 se ha producido un error. Redes de Área Local bind() Asocia una dirección IP y un puerto (dirección de socket) de la máquina LOCAL a un socket. int bind(int sockfd, const struct sockaddr *my_addr, socklen_t addrlen); sockfd: Descriptor de socket my_addr: Dirección del socket de la máquina LOCAL.. Será necesario realizar cast de (sockaddr_in *) a (sockaddr *). addrlen: tamaño de la dirección de socket El valor de retorno indica si la conexión se ha establecido correctamente. Es necesario comprobar este valor: 0: la conexión se ha establecido -1: la conexión ha fallado El servidor obligatoriamente tiene que llamar a bind() utilizando la dirección IP de su máquina y un número de puerto que deberá conocer el cliente para poder conectarse (rellenar serv_addr de connect()). El servidor puede utilizar: my_addr.sin_addr=inaddr_any para recibir información en cualquiera de las IPs que tenga configurada la máquina. El cliente no tiene por qué llamar a bind(). Puede hacerlo con my_addr.sin_port=0: el sistema le asigna un puerto libre. Redes de Área Local
7 Escribe los bytes de un descriptor. sendto() int sendto(int sockfd, void *buf, size_t nbytes, int flags, const struct sockaddr *to_addr, socklen_t to_addr_len); sockfd: Descriptor de socket buf: Contiene los datos a enviar nbytes: número de bytes que se solicita enviar. flags: opciones de configuración. Valor 0 si no hay opciones. to_addr: Contiene la dirección del socket receptor (dirección IP y puerto). to_addr_len: Contiene el tamaño de la estructura to_addr. Redes de Área Local recvfrom() Lee los bytes de un descriptor. Por defecto es una llamada bloqueante, si no hay bytes se quedará esperando. int recvfrom(int sockfd, void *buf, size_t nbytes, int flags, struct sockaddr *from_addr, socklen_t *from_addr_len); sockfd: Descriptor de socket buf: Buffer donde se almacenarán los bytes leidos. Será necesario reservar memoria. nbytes: número de bytes que se solicita leer. flags: opciones de configuración. Valor 0 si no hay opciones. from_addr: Cuando la llamada retorne tendrá almacenada la dirección del socket emisor (dirección IP y puerto). Será necesario reservar memoria. from_addr_len: parámetro de entrada/salida, al realizar la llamada contiene el tamaño de la estructura from_addr, al retornar contiene el tamaño de la estructura que ha sido devuelta. Redes de Área Local
8 socklen_t y sockaddr: parámetros de entrada y/o salida sendto, bind : socklen_t: parámetro de entrada, paso por valor sockaddr_in: parámetro de entrada, paso por referencia recvfrom socklen_t: parámetro de entrada y salida, paso por referencia sockaddr_in: parámetro de salida, paso por referencia sendto, bind Aplicación recvfrom Aplicación socklen_t sockaddr_in socklen_t sockaddr_in valor dirección dirección dirección Kernel Kernel Redes de Área Local Cierra el descriptor de socket. close() int close(int sockfd); sockfd: Descriptor de socket El valor de retorno indica si ha habido algún error. Es necesario comprobar este valor: 0: éxito -1: error Redes de Área Local
9 Dirección IP: Formato ASCII y formato de red De formato de red a formato ASCII: const char *inet_ntop(int af, const void *src, char *dst, socklen_t size); af: familia, INET_AF src: una estructura de tipo in_addr en orden de red. dst: cadena de caracteres que contendrá el resultado de la conversión size: tamaño de la cadena de caracteres Si el valor de retorno es NULL ha ocurrido un error Redes de Área Local Dirección IP: Formato ASCII y formato de red De formato ASCII a formato de red: int inet_pton(int af, const char *src, void *dst); af: familia, INET_AF src: cadena de caracteres que contendrá la dirección IP. dst: una estructura de tipo in_addr en orden de red, resultado de la conversión Si el valor de retorno es 0 ha ocurrido algún error. Redes de Área Local
10 Servidor UDP (I) #define PUERTO_UDP #define UNIXEPOCH UL /* UNIX epoch, in UCT secs */ int main() { int s, leidos, escritos; struct sockaddr_in srv_addr, client_addr; socklen_t len_srv_addr, client_addr_len; char buff[1]; time_t now; if ((s= socket(af_inet, SOCK_DGRAM, 0)) < 0) { fprintf(stderr, "error en socket %s\n", strerror(errno)); exit(1); } srv_addr.sin_family=af_inet; srv_addr.sin_port = htons(puerto_udp); srv_addr.sin_addr.s_addr = INADDR_ANY; len_srv_addr = sizeof(srv_addr); if (bind(s, (struct sockaddr *) &srv_addr, len_srv_addr)<0) { fprintf(stderr, "error en bind %s\n", strerror(errno)); exit(1); } Redes de Área Local Servidor UDP (II) client_addr_len = sizeof(client_addr_len); while (1) { memset(&client_addr, 0, sizeof(client_addr)); leidos = recvfrom(s, buff, sizeof(buff), 0, (struct sockaddr * ) &client_addr, &client_addr_len); if (leidos < 0) { fprintf(stderr, "error en recvfrom %s\n", strerror(errno)); exit(1); } time(&now); now = htonl((unsigned long)(now + UNIXEPOCH)); escritos = sendto(s, (char *)&now, sizeof(now), 0, (struct sockaddr *)&client_addr, sizeof(client_addr)); } /* while */ } /* main */ Redes de Área Local
11 Cliente UDP (I) #define PUERTO_UDP #define UNIXEPOCH UL /* UNIX epoch, in UCT secs */ #define MSG "Dime la hora" int main() { int s, escritos, leidos; struct sockaddr_in srv_addr, from_addr; socklen_t srv_addr_len, from_addr_len; time_t now; if ((s= socket(af_inet, SOCK_DGRAM, 0)) < 0) { fprintf(stderr, "error en socket %s\n", strerror(errno)); exit(1); } srv_addr.sin_family=af_inet; srv_addr.sin_port = htons(puerto_udp); srv_addr.sin_addr.s_addr = inet_addr(" "); srv_addr_len = sizeof(srv_addr); escritos = sendto(s, MSG, strlen(msg), 0, (struct sockaddr * ) &srv_addr, srv_addr_len); if (escritos < 0) { fprintf(stderr, "error en sendto %s\n", strerror(errno)); exit(1); } Redes de Área Local Cliente UDP (II) memset(&from_addr, 0, sizeof(from_addr)); from_addr_len = sizeof(from_addr); leidos = recvfrom(s, (char *)&now, sizeof(now), 0, (struct sockaddr *)&from_addr, &from_addr_len); now = ntohl((unsigned long)now); now -= UNIXEPOCH; } printf("hora: %s\n", ctime(&now)); Redes de Área Local
12 Netstat Netstat: Muestra las conexiones de red, tablas de encaminamiento, estadísticas de interfaces de una máquina. netstat -anu Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State udp : :* udp : :* udp : :* udp : :* udp : :* udp : :* Redes de Área Local
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 detallesIntroducció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 detallesMigrando aplicaciones a IPv6
Migrando aplicaciones a Fundamentos técnico: DualStack y Socket.h Alonso Sandoval A. Hernán Vargas L. Universidad Técnica Federico Santa María asandova@alumnos.inf.utfsm.cl, hvargas@alumnos.inf.utfsm.cl
Más detallesAdaptació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 detallesPráctica 1 Programación de Aplicaciones Distribuidas: Sockets UDP. Laboratorio de Comunicación de Datos ITT Telemática Septiembre 2011
Práctica 1 Programación de Aplicaciones Distribuidas: Sockets UDP Laboratorio de Comunicación de Datos ITT Telemática Septiembre 2011 Introducción Aplicaciones Distribuidas Su funcionalidad se distribuye
Más detallesMecanismos 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 detallesUNIVERSIDAD DE CANTABRIA DEPARTAMENTO DE INGENIERÍA DE COMUNICACIONES GRUPO DE INGENIERÍA TELEMÁTICA
UNIVERSIDAD DE CANTABRIA DEPARTAMENTO DE INGENIERÍA DE COMUNICACIONES GRUPO DE INGENIERÍA TELEMÁTICA MANUAL DE SOCKETS EN C TABLA DE CONTENIDOS Introducción.. 4 Sockets en C.. 7 2.1 Conceptos Básicos..
Más detallesSOCKETS BASADOS EN CONEXIÓN (SOCK_STREAM)
RESUMEN - Servicios UNIX para Sockets SII Curso 2017/2018 SOCKETS BASADOS EN CONEXIÓN (SOCK_STREAM) int socket(int dominio, int tipo, int protocolo); Devuelve el descriptor de fichero para acceder al socket
Más detallesSockets Básicos. Sockets Básicos
Sockets Básicos Pedro Merino Gómez Jesus Martínez Cruz Dpto. Lenguajes y Ciencias de la Computación Universidad de Málaga Sockets Básicos Temas a tratar... APIS para acceso a TCP/IP El socket como descriptor
Más detallesIngenierí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 detallesSockets Básicos. APIS para acceso a TCP/IP. APIS para acceso a TCP/IP. APIS para acceso a TCP/IP. APIS para acceso a TCP/IP. Temas a tratar...
Sockets Básicos Pedro Merino Gómez Jesus Martínez Cruz Dpto. Lenguajes y Ciencias de la Computación Universidad de Málaga Temas a tratar... Sockets Básicos El como descriptor para E/S Funciones básicas
Más detallesSockets (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 detallesSOCKETS 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 detallesDiseño de aplicaciones distribuidas ÍNDICE
Aplicaciones Distribuidas (s) Aplicaciones Distribuidas (s) TCP TCP Protocolos de Protocolos de Transporte Transporte UDP UDP STREAM STREAM (TCP) (TCP) SOCKET SOCKET Etapas en la Creación Etapas en la
Más detallesIntroducció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 detallesSOCKET 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 detallesQué 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 detallesInterfaz de Socket. Agustín J. González ELO309 ELO309 1
Interfaz de Socket Agustín J. González ELO309 ELO309 1 Introducción Cómo las aplicaciones se comunican con la familia de protocolos de software y así logran comunicación con aplicaciones remotas? La interfaz
Más detallesSistemas Operativos: Programación de Sistemas. Curso 2006-07. Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.
Tema 7 : Comunicación mediante sockets Sistemas Operativos: Programación de Sistemas Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez Curso 2006-07 Introducción Los sockets (también
Más detallessockets 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 detallesProgramació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 detallesTema 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 detallesSockets: funcionamiento y programación. Sockets tipo UNIX. MSc. Ivan A. Escobar
Sockets tipo UNIX MSc. Ivan A. Escobar Creación socket: socket() int socket(familia, tipo, protocolo) Regresa un valor entero Parecido descriptor de archivos: descriptor socket sockfd int familia familia
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 detallesCaracterísticas de un lenguaje ideal para robótica
COMUNICACIÓN MEDIANTE SOCKETS Enrique Ortega Edrodoso Ingeniería Técnica de Informática de Gestión Introducción Los vehículos autoguiados comerciales disponibles en la actualidad tienen una serie de inconvenientes
Más detallesSockets (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 detallesEstructuras 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 detallesMecanismo(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 detallesProblemas 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 detallesARQUITECTURA DE REDES Laboratorio PRÁCTICA 2: MANUAL DE SOCKETS EN C. Grado en Ingeniería Informática Curso 2014/15
ARQUITECTURA DE REDES Laboratorio PRÁCTICA 2: MANUAL DE SOCKETS EN C Grado en Ingeniería Informática Curso 2014/15 ÍNDICE 1. INTRODUCCIÓN.. 3 1.1 La familia de protocolos TCP/IP. 3 1.2 Nivel de red (IP)..
Más detallesTELEPROCESO 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 detallesAdministración de redes en GNU/Linux
Administración de redes en GNU/Linux La configuración de una red en UNIX/Linux es en cierta medida más compleja que en sistemas Microsoft. Sin embargo para numerosos administradores tiene un mayor grado
Más detallesProgramació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 detallesPROGRAMACIÓN CON SOCKETS
UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA PROGRAMACIÓN CON SOCKETS Celeste Campo Carlos García Rubio {celeste,cgr}@it.uc3m.es PROGRAMACIÓN CON SOCKETS Pág. 1 1. Introducción.
Más detallesCurso 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 detallesModem 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 detallesSistemas de Transportes de Datos (STD) Tema III: UDP y TCP (Entrega 4) Grupo de Aplicaciones Telemáticas. Grupo de Aplicaciones Telemáticas
Sockets Abstracción para las operaciones de E/S a través de la red. Generalización de mecanismos de acceso a ficheros para suministrar un punto a través del cual realizar las comunicaciones. : Crear un
Más detallesRedes de Computadores Nivel de Aplicación: Programación con sockets I
Redes de Computadores Nivel de Aplicación: Programación con sockets I Área de Ingeniería Telemática Dpto. Automática y Computación http://www.tlm.unavarra.es/ En clases anteriores... El nivel de aplicación
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 detallesAnalista Universtiario en Sistemas. Sistemas Operativos. IPC - Sockets SOCKETS
SOCKETS Introducción Permiten la comunicación entre dos o más procesos ejecutando en un mismo equipo o equipos independientes La comunicación que posibilitan es full-duplex (bi-direccional) Sigue el modelo
Más detallesClase de Sockets en lenguaje C. Prof. Ricardo González
Clase de Sockets en lenguaje C Prof. Ricardo González 1 Modelo de Programación Cliente-Servidor Cliente: un programa que envía peticiones. Servidor: un programa que ofrece un servicio que satisface peticiones
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 detallesProblemas 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 detallesArquitecturas 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 detallesProgramació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-> Todo socket viene definido por dos características fundamentales:
LOS SOCKETS. Los sockets no son más que puntos o mecanismos de comunicación entre procesos que permiten que un proceso hable (emita o reciba información) con otro proceso incluso estando estos procesos
Más detallesARQUITECTURAS 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 detallesEste proyecto ha sido cofinanciado por PROFIT. www.6sos.org
Este proyecto ha sido cofinanciado por PROFIT Porte de aplicaciones y servicios a IPv6 Eva M. Castro eva@gsyc.escet.urjc.es Grupo de Sistemas y Comunicaciones (GSyC) Universidad Rey Juan Carlos (URJC)
Más detallesTema 4 Sockets: Un interfaz con TCP/IP
1 Tema 4 Sockets: Un interfaz con TCP/IP Capítulos: 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
Más detallesDESARROLLO DE APLICACIONES DISTRIBUIDAS. SOCKETS en UNIX
DESARROLLO DE APLICACIONES DISTRIBUIDAS PRÁCTICAS CURSO 2002-2003 SOCKETS en UNIX 1. Los SOCKETS en OSI/ISO - Como ya conocéis, el modelo OSI/ISO estructura los diferentes elementos que conforman una red
Más detallesSistemas Distribuidos. Sockets
Sistemas Distribuidos Sockets Sockets Aparecieron en 1981 en UNIX BSD 4.2 Intento de incluir TCP/IP en UNIX. Diseño independiente del protocolo de comunicación. Un socket es punto final de comunicación
Más detallesUNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO. Facultad de Ingeniería
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO Facultad de Ingeniería Arquitecturas Cliente/Servidor Sockets en C Alumnos: Arellano Santiago Víctor Manuel Girón Capistrán Aldo Iván Guerrero Ramirez Eduardo Daniel
Más detallesProgramación de sockets
Programación de sockets Xavier Perramon Tornil Enric Peig Olivé P03/75064/00978 FUOC P03/75064/00978 Programación de sockets Índice Introducción... 5 Objetivos... 6 1. Qué son los sockets... 7 1.1. Visión
Más detallesPortando aplicaciones a IPv6
Portando aplicaciones a Eva M. Castro eva@gsyc.escet.urjc.es Grupo de Sistemas y Comunicaciones (GSyC( GSyC) Departamento de Informática, Estadística y Telemática (DIET) Universidad Rey Juan Carlos (URJC)
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 detallesProgramación en red sobre TCP/IP Interface sockets
Programación en red sobre TCP/IP Interface sockets Teresa Monreal y Pablo Ibáñez Area de Arquitectura y Tecnología de Computadores Departamento de Informática e Ingeniería de Sistemas 1 Indice Introducción.
Más detallesSistemas Operativos Distribuidos
Sockets Sistemas Distribuidos Sockets Aparecieron en 1981 en UNIX BSD 4.2 Intento de incluir TCP/IP en UNIX. Diseño independiente del protocolo de comunicación. Un socket es punto final de comunicación
Más detallesBoletín 7- Sockets. Departamento de Lenguajes y Sistemas Informáticos
Boletín 7- Sockets Departamento de Lenguajes y Sistemas Informáticos Indice 1. Introducción. 2. Tipos de sockets. 3. socket() 4. bind() 5. listen() 6. accept() 7. connect() 8. send()/ ()/recv(). 9. Funciones
Más detallesBOLETIN 8 INDICE. ordenación de bytes. conversión de nombre y direcciones.
Sockets BOLETIN 8 INDICE 1. Introducción. 2. Tipos de sockets. 3. socket() 4. bind() 5. listen() 6. accept() 7. connect() 8. send()/recv(). 1. Funciones de ordenación de bytes 2. Funciones de conversión
Más detallesARQUITECTURA DE REDES Laboratorio
1nsloo.cl ARQUITECTURA DE REDES Laboratorio Práctica 2: Ejercicios de aplicación de Sockets en C 1. OBJETIVOS. El objetivo de esta práctica es que el alumno llegue a conocer los principales conceptos relacionados
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 detallesTema 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 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 detallesComunicación entre procesos mediante Sockets Preparado por Gabriel Astudillo Muñoz Escuela de Ingeniería Civil Informática Universidad de Valparaíso
1 Resumen Comunicación entre procesos mediante Sockets Preparado por Gabriel Astudillo Muñoz Escuela de Ingeniería Civil Informática Universidad de Valparaíso Este documento tiene como objetivo describir
Más detallesServicios de Internet
Servicios de Internet Area de Ingeniería Telemática http://www.tlm.unavarra.es Arquitectura de Redes, Sistemas y Servicios 3º Ingeniería de Telecomunicación 1 Temario 1. Introducción 2. Arquitecturas,
Más detallesComunicació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Í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 detallesNivel 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 detallesSistema Cliente Servidor Con Sockets
Sistema Cliente Servidor Con Sockets Rafael Benedicto Tovar Antonio Soler Muñoz 0 Índice 1. Resumen del proyecto 2 Introducción teórica 2.1 - Qué es un socket? 2.2 - Dominios de comunicación 2.3 - Tipos
Más detallesArquitecturas Cliente/Servidor
Arquitecturas Cliente/Servidor Integrantes: Arellano Santiago Víctor Manuel Girón Capistrán Aldo Iván Guerrero Ramirez Eduardo Daniel Rosas Peña Ramiro SOCKETS EN C. LLAMADAS PARA EL MANEJO DE SOCKETS
Más detallesSISTEMAS 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 detallesProgramación C/S Básica
1 de 21 Programación C/S Básica Enrique Alba Torres Universidad de Málaga (UMA) 2 de 21 Los servicios Internet se ofertan como sistemas Cliente/Servidor Los protocolos de base suelen ser peer-to-peer (igual-a-igual)
Más detallesPráctica 3 de Redes de Área Local Cliente y Servidor de ficheros concurrente
Práctica 3 de Redes de Área Local Cliente y Servidor de ficheros concurrente 3 o curso de Ingeniería Técnica en Informática de Sistemas 13 de abril de 2007 El objetivo de esta práctica es realizar una
Más detallesTema 2. Comunicación entre procesos
Tema 2. Comunicación entre procesos SCS Sistemas Cliente/Servidor 4 o informática http://ccia.ei.uvigo.es/docencia/scs octubre 2008 FJRP, FMBR 2008/09 ccia SCS 2.1 Requisitos y alternativas Sistemas distribuidos
Más detallesTimeOut 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 detallesAdministración y Gestión de Redes (Julio 2012).
Administración y Gestión de Redes (Julio 2012). Las cuestiones: 1ª parte: Cuestiones. Se deben responder en la hoja adjunta. Debe marcarse una única respuesta. Por favor, leer los enunciados y las soluciones
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 detallesComunicación entre procesos (BSD) CI-2400 Programación Avanzada en Sistemas de Tipo UNIX Prof. Braulio José Solano Rojas ECCI, UCR
Comunicación entre procesos (BSD) CI-2400 Programación Avanzada en Sistemas de Tipo UNIX Prof. Braulio José Solano Rojas ECCI, UCR Mecanismos IPC del sistema 4.3BSD La interfaz de comunicación entre procesos
Más detallesIntroducció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 detallesConceptos básicos de redes TCP/IP
Conceptos básicos de redes TCP/IP 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
Más detallesTEMA 2 Técnicas básicas de construcción de aplicaciones distribuidas. Universidad de Oviedo / Dpto. de Informática
TEMA 2 Técnicas básicas de construcción de aplicaciones distribuidas Lección 2 Modelos de aplicaciones distribuidas Modelos de aplicaciones distribuidas Una aplicación distribuida sería una pieza de software
Más detallesProgramación de Sockets
Programación de Sockets Intergantes: Bryan Jeldes, Eduardo Arancibia, Fabricio Rosales, Mathias Oyarzun Universidad Técnica Federico Santa María, 28-07-2014 Resumen En la década de los 80 s, cuando se
Más detallesProtocolos de red. IP: Internet Protocol
Protocolos de red Para comunicarse, bien sea entre personas, bien sea entre máquinas, es necesario establecer una serie de reglas (idioma, decidir quién habla primero, cómo se solicita turno para hablar,
Más detallesP r á c t i c a 1 5. C o n f i g u r a c i ó n d e f i r e w a l l m e d i a n t e i p t a b l e s
P r á c t i c a 1 5 C o n f i g u r a c i ó n d e f i r e w a l l m e d i a n t e i p t a b l e s Configuración del firewall 1. Conéctate a tu máquina virtual Centos y utiliza la cuenta de root. 2. Crea
Más detallesAnálisis Experimental de la Transmisión de Datos
UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA DEPARTAMENTO DE ELECTRÓNICA Análisis Experimental de la Transmisión de Datos ELO322 Redes de Computadores I Pablo Ahumada D. Jorge Cápona G. Resumen Se muestra
Más detallesProgramación Básica de Sockets en Unix para Novatos
Tabla de contenidos BracaMan Introducción...3 Diferentes tipos de sockets en Internet...3 Estructuras...3 Conversiones....5 Direcciones IP...5 Funciónes Importantes...6 Algunas palabras sobre dns...14
Más detallesJuan 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 detallesCAPA DE APLICACIÓN. 80 s : Aplicaciones basadas en texto o email o acceso remoto o transferencia de ficheros o grupos de noticias o chat
CAPA DE APLICACIÓN 80 s : Aplicaciones basadas en texto o email o acceso remoto o transferencia de ficheros o grupos de noticias o chat A mediados de los 90: Web Aplicaciones Multimedia: o Streaming video
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 detallesServidor 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 detallesPrá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 detallesPRÁCTICA 4 PASO DE MENSAJES
PRÁCTICA 4 PASO DE MENSAJES Introducción Cuando los procesos interactúan unos con otros pueden necesitar intercambiar información. Uno de los métodos posibles para conseguir esto es el paso de mensajes.
Más detallesINTRODUCCIÓN A LA PROGRAMACIÓN CON SOCKETS. Celeste Campo Carlos García Rubio
INTRODUCCIÓN A LA PROGRAMACIÓN CON SOCKETS Celeste Campo (celeste@it.uc3m.es) Carlos García Rubio (cgr@it.uc3m.es) PROGRAMACIÓN CON SOCKETS Pág. 1 ÍNDICE 1. Introducción. 2. API de sockets: Llamadas al
Más detallesCENTRO DE ESTUDIOS NOVA - Cartagena Laboratorio de Software de Comunicaciones TEMA 1 FUNDAMENTOS DE SOCKETS TCP Y UDP
TEMA 1 FUNDAMENTOS DE SOCKETS TCP Y UDP Concepto de UDP UDP son las siglas de Protocolo de Datagrama de Usuario (en inglés User Datagram Protocol) un protocolo sin conexión que, como TCP, funciona en redes
Más detallesARP. Conceptos básicos de IP
ARP 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 Programación de Redes http://www.tlm.unavarra.es/asignaturas/lpr
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 detallesInternet: 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 detallesS C TP: Una alternativa al protocolo TC P s obre Linux. Ing. Isaac Fernández Baca Peña
S C TP: Una alternativa al protocolo TC P s obre Linux Ing. Isaac Fernández Baca Peña M arco Teórico: Q ué es S C TP? Stream Control Transmission Protocol milar a TCP y UDP. Es un protocolo de comunicación
Más detallesPRÁCTICA 2: Cliente-servidor UDP
PRÁCTICA 2: Cliente-servidor UDP El objetivo de esta práctica es la familiarización con aplicaciones elementales que usan los servicios de transporte de los sockets UDP. A lo largo de la práctica se realizarán
Más detallesINTRODUCCIÓ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