Ingeniería Técnica de Telecomunicación, esp. Telemática Universidad de Jaén
|
|
- José Rivas Espinoza
- hace 8 años
- Vistas:
Transcripción
1 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. Comer, Comer, D. D. "Internetworking with with TCP/IP TCP/IP Principles, Protocols, and and Architectures" 4ª 4ª Edición Edición vol. vol. 1, 1, Prentice Prentice Hall. Hall. Stallings, Wi. Wi. Redes Redes e e Internet de de Alta Alta Velocidad Rendimiento y Calidad de de Servicio, 2ª 2ª Edición. Prentice Prentice Hall, Hall, Introducción. 2 SOCKETS Primitivas de acceso al servicio de transporte, que el usuario puede integrar en aplicaciones Desarrolladas inicialmente sobre UNIX fueron realizadas de forma específica, no siguen normas de ISO El API desarrollado en la Universidad de Berkeley es tomado como estándar de facto (también sobre Windows) y se denominan Sockets BSD (Berkeley Software Distribution) Pueden utilizar diferentes protocolos, entre ellos TCP y UDP Abstracción de los sockets: Un socket es interpretado por el sistema operativo de forma parecida a los ficheros de disco, a través de un descriptor (número entero) pero asociado a un recurso de red.
2 Introducción. 3 SOCKETS Las aplicaciones desarrolladas en Sockets están basadas en la arquitectura Cliente Servidor La aplicación necesita conocer el papel que va a desempeñar ( cliente o servidor ) ya que la estructura del software y las primitivas difieren. APLICACIÓN CLIENTE APLICACIÓN SERVIDOR Permiten comunicaciones orientadas a conexión o sin conexión. Un socket está completamente definido cuando consta de dirección y puerto (ej. IP+puerto TCP) Primitivas Sockets orientadas a conexión (TCP) 4 Primitivas SOCKET orientadas a conexión (usadas por TCP): Socket Close Bind Listen Accept Connet Shutdown Send, Write, Recv, Read, Crea un descriptor de socket. Cierra socket Asocia una dirección local con un socket Crea cola de espera para almacenar solicitudes de conexión Espera una solicitud de conexión Inicia conexión con conector remoto Deshabilita al recepción y/o el envío de datos por le socket Envía mensaje Recibir mensaje
3 Primitivas Sockets orientadas a conexión (TCP) 5 Estructura de primitivas en protocolo ORIENTADO A CONEXION SERVIDOR Socket ( ) Bind ( ) Socket ( ) CLIENTE Listen ( ) Proceso de conexión Connect ( ) Bloqueo hasta conexión de cliente Accept ( ) Conexión recibida y aceptada Proceso de la petición Recv ( ) Send ( ) Datos ( Petición ) Datos ( Respuesta ) Send ( ) Recv ( ) Close ( ) Close ( ) Primitivas Sockets orientadas a no conexión (UDP) 6 Primitivas SOCKET orientadas a un servicio sin conexión (usadas para UDP): Socket Close Bind Sendto Recvfrom Crea un descriptor de socket. Cierra socket Asocia una dirección local con un socket Envía mensaje Recibir mensaje
4 Primitivas Sockets orientadas a no conexión (UDP) 7 Estructura de primitivas en protocolo ORIENTADO A NO CONEXION SERVIDOR Socket ( ) CLIENTE Bind ( ) Recvfrom( ) Bloqueo hasta recibir datos cliente Datos ( Petición ) Socket ( ) Bind ( ) Sendto ( ) Proceso de la petición Sendto ( ) Datos ( Respuesta ) Recvfrom( ) Close ( ) Close ( ) Programación con Sockets en Internet 8 La programación de sockets en Internet hace uso de las direcciones IP y los puertos, Tanto TCP como UDP para identificar a los sockets. Una comunicación queda completamente definida por un par de sockets, que en el caso de TCP identificarán una conexión. TCP permite varias conexiones simultáneas en un mismo número de puerto local siempre y cuando se cumplan estas condiciones: Que la dirección IP local sea distinta. O que los números de puerto remotos sean distintos para cada conexión
5 Programación con Sockets en Internet 9 Comprobación de las conexiones existentes: comando de consola netstat Microsoft Microsoft Windows Windows XP XP [Versión [Versión ] ] (C) (C) Copyright Copyright Microsoft Microsoft Corp. Corp. C:\>netstat C:\>netstat Conexiones Conexiones activas activas Proto Proto Dirección Dirección local local Dirección Dirección remota remota Estado Estado TCP TCP hosta:3001 hosta:3001 localhost:3163 localhost:3163 ESTABLISHED ESTABLISHED TCP TCP hosta:3163 hosta:3163 localhost:3001 localhost:3001 ESTABLISHED ESTABLISHED TCP TCP hosta:3690 hosta:3690 localhost:3001 localhost:3001 CLOSE_WAIT CLOSE_WAIT 10 socket int socket(int af,int type,int protocol); Esta función crea un socket y lo enlaza con un proveedor de servicio. Parametros af : Familia de direcciones. En nuestro caso AF_INET. type: Especificación de tipo del nuevo socket. SOCK_STREAM: Para usar con conexiones TCP. SOCK_DGRAM: Para recibir y enviar datagramas UDP. protocol: Indica el protocolo dentro de la familia elegida. Usaremos siempr 0 que conrresponde con el protocolo por defecto para la familia. Valores devueltos: Si no ocurre ningún error, la función devuelve un descriptor que referencia en nuevo socket. En otro caso devuelve el valor INVALID_SOCKET. El código de error específico puede obtenerse llamando a WSAGetLastError.
6 11 Estructuras de direcciones struct in_addr{ unsigned long s_addr; } struct sockaddr_in{ unsigned short sin_family;//identificadores de AF_INET unsigned short sin_port;// Número de puerto, si es 0 lo selecciona el kernel struct in_addr sin_addr;//dirección IP. INADDR_ANY denota la dirección //IP del propio host char sin_zero[8];//no se usa, siempre a cero } 12 bind int bind(int local_s,const struct sockaddr *addr, int addrlen); Parámetros: local_s: Descriptor de socket local creado con la función socket() addr: Puntero a la estructura de dirección local del socket. addrlen: Tamaño en bytes de la estrutura apuntada en addr.
7 13 Ejemplo socket y bind... int sockfd;//existe una macro para int llamada SOCKET struct sockaddr_in addr_1;... sockfd=socket(af_inet,sock_stream,0); if(sockfd==invalid_socket) return(-3); addr_1.sin_family=af_inet; addr_1.sin_port=htons(tcp_port); addr_1.sin_addr.s_addr=htonl(inaddr_any);... if(bind(sockfd,(struct sockaddr*)&addr_1,sizeof(addr_1))<0) 14 Representación de datos en memoria En memoria la representación de datos puede ser: De izquierda a derecha (big-endian). Usado en TCP/IP para el formato de las direcciones por la red. Ejemplo: el valor 5* * se almacena como dato de 32 bits de la siguiente manera Byte n Byte n De derecha a izquierda (little-endian): Ejemplo: El mismo dato del ejemplo anterior. Byte n Byte n
8 15 Representación de datos en memoria La libería Winsock usa el formato de izquierda a derecha en las direcciones en sus estructuras, por lo que facilita varias funciones para realizar la conversión de las direcciones en representación interna de la máquina a la representación de la red, de manera que se pueden tratar las direcciones de forma totalmente transparente. unsigned long htonl(unsigned long n): Conversión de host a red de un valor de 32 bits. unsigned short htons(unsigned short n): Conversión de host a red de un valor de 16 bits. unsigned long ntohl(unsigned long n): Conversión de red a host de un valor de 32 bits. unsigned short ntohs(unsigned short n): Conversión de red a host de un valor de 16 bits. 16 Pasos para poner un servidor a escuchar conexiones (TCP). int listen(int sd,int qlen); sd: Descriptor de socket local creado con la función socket() y enlazado a un puerto con bind(). qlen: Número máximo de solicitudes de conexión en espera mientras el servidor esté ocupado. Valor devuelto: 0 si tuvo éxito y -1 si hubo algún error. int accept(int s_serv, struct sockaddr *client_addr, int * clntaddr_len) s_serv: socket en el que escucha el servidor. client_addr: estructura con la dirección del cliente clntaddr_len: tamaño de la estructura de dirección del cliente. Valor devuelto: un entero que representa a un nuevo socket que se usará para la esa conexión. Si ha habido algún fallo accept devuelve -1.
9 17 Pasos para poner un servidor a escuchar conexiones (TCP). Ejemplo. listen(sockfd,5); nuevosockfd=accept(sockfd,(struct sockaddr*)&addr,&addrlen); if(nuevosockfd==invalid_socket) return(-5); 18 Conectar con un servidor (TCP). int connect(int local_s, const struct sockaddr *server_addr,int * sevaddr_len) local_s: Descriptor de socket local. server_addr: Puntero con la dirección de protocolo del socket destino. Sevaddr_len: tamaño en bytes de la estructura de ditrección. Valor devuelto: 0 si tuvo éxito y un valor no nulo si hubo error en Windows y negativo en UNIX.
10 19 Conectar con un servidor (TCP). Ejemplo. sockfd=socket(af_inet,sock_stream,0); if(sockfd==invalid_socket) printf("\nerror AL CREAR SOCKET"); else{ server_in.sin_family=af_inet; server_in.sin_port=htons(tcp_server_port); server_in.sin_addr.s_addr=inet_addr(ipdest); if(connect(sockfd,(struct sockaddr*)&server_in,sizeof(server_in))==0) { 20 Conectar con un servidor (TCP). int connect(int local_s, const struct sockaddr *server_addr,int * sevaddr_len) local_s: Descriptor de socket local. server_addr: Puntero con la dirección de protocolo del socket destino. Sevaddr_len: tamaño en bytes de la estructura de ditrección. Valor devuelto: 0 si tuvo éxito y un valor no nulo si hubo error en Windows y negativo en UNIX.
11 21 Conectar con un servidor (TCP). int connect(int local_s, const struct sockaddr *server_addr,int * sevaddr_len) local_s: Descriptor de socket local. server_addr: Puntero con la dirección de protocolo del socket destino. Sevaddr_len: tamaño en bytes de la estructura de ditrección. Valor devuelto: 0 si tuvo éxito y un valor no nulo si hubo error en Windows y negativo en UNIX. 22 Envío y Recepción de mensajes (TCP). int send(int socket, const void *msg, unsigned int msg_len, int flags); int recv(int socket, const void *rcvbuff, unsigned int bufflen, int flags); socket: Socket local usado para enviar o recibir. msg: Puntero al mensaje a enviar, no importa el tipo ya que es un puntero void. msg_len: Tamaño en bytes del mensaje a enviar. rcvbuff: Buffer de recepción de datos. bufflen: Tamaño en bytes del buffer de recepción. flags: modifican el comportamiento de la llamada (por ejemplo para no enrutar o enviar datos fuera de banda). Valor devuelto: La cantidad de bytes enviados o recibidos, 0 si la conexión ha sido liberada de forma acordada o SOCKET_ERROR si la operación ha fallado.
12 23 Envío y Recepción de mensajes (UDP). int sendto(int socket, const void *msg, unsigned int msg_len, int flags, struct sockaddr *dest_addr, int addr_len); int rcvfrom(int socket, const void *rcvbuff, unsigned int bufflen, int flags,struct sockaddr *src_addr, int * addr_len); socket: Socket local usado para enviar o recibir. msg: Puntero al mensaje a enviar, no importa el tipo ya que es un puntero void. msg_len: Tamaño en bytes del mensaje a enviar. rcvbuff: Buffer de recepción de datos. bufflen: Tamaño en bytes del buffer de recepción. 24 Envío y Recepción de mensajes (UDP). sendto y rcvfrom (continúa) flags: modifican el comportamiento de la llamada (por ejemplo para leer datos sin vaciar el buffer o enviar datos fuera de banda). Valor devuelto: La cantidad de bytes enviados o recibidos, la cual puede ser menor que la indicada, o SOCKET_ERROR si la operación ha fallado.
13 25 Cerrar un socket (TCP y UDP). int closesocket(int socket);//prototipo de Windows int close(int socket);//prototipo de UNIX BSD socket: descriptor de socket que se quiere cerrar. Valor devuelto: 0 si el socket se ha cerrado correctamente, o SOCKET_ERROR si la operación ha fallado. Cuando se cierra un socket de un protocolo fiable, como TCP, el kernel intentará, por defecto, enviar todos los datos pendientes antes de cerrar completamente el socket, aunque este comportamiento puede ser alterado. 26 Deshabilitar la recepción o en envío en un socket (TCP y UDP). int shutdown(int socket, int how); //Definida en Winsock2.h socket: descriptor de socket que se quiere modificar su estado. how: flag que describe que operación no estará permitida a partir de la ejecución de la función. SD_RECEIVE: Se deshabilita la recpción de datos. TCP: Las llamadas a recv fallarán y si se reciben más datos se reseteará la conexión. UDP: Los datagramas recividos se procesarán sin problemas. SD_SEND: Se deshabilita la transmisión de datos. TCP: Fallan las llamadas a send y se envía un FIN. Es lo que se debe hacer para cerrar la conexión de forma acordada. SD_BOTH: Deshabilita ambas, recepción y transmisión. Valor devuelto: 0 si el socket se ha cerrado correctamente, o SOCKET_ERROR si la operación ha fallado.
14 27 Otras funciones para el trabajo con Sockets. Resolución de direcciones IP a partir del dominio. struct hostend *gethostbyname(const char *hostname); Valor devuelto: un puntero a una estructura hostent con información de nombre del host, alias y direcciones IP, o NULL si fracasa. 28 Otras funciones para el trabajo con Sockets. Resolución de direcciones IP a partir del dominio. typedef struct hostent { char * h_name; char ** h_aliases; short h_addrtype; short h_length; char ** h_addr_list; } hostent; Miembros h_name: Nombre oficial del host. Si se usa DNS o un sistema similar de resolución de nombre el nombre devuelto es FQDN (Fully Qualified Domain Name).Si se usa un fichero local de lista de host, se devuelve el primer nombre después de la dirección IP h_aliases: Un array de cadenas con nombre alternativos. h_addrtype: Tipo de la dirección devuleta. h_length: Longitud de cada dirección en bytes. h_addr_list: Lista de cadenas con las direcciones del host en orden de bytes de la red.
15 29 Otras funciones para el trabajo con Sockets. Ejemplo de resolución de direcciones IP a partir del dominio. struct in_addr address;... printf("introduzca la direccion IP o el dominio destino: "); gets(ipdest); ipdestl=inet_addr(ipdest); if(ipdestl==inaddr_none){ //La dirección introducida por teclado no es correcta o //corresponde con un dominio. struct hostent *host; host=gethostbyname(ipdest); if(host!=null){ memcpy(&address,host->h_addr_list[0],4); printf("\ndireccion %s\n",inet_ntoa(address)); } } Otras funciones para el trabajo con Sockets. Conversión de direcciones IP a cadena y desde cadenas. unsigned long inet_addr(const char* cp); Parametros cp: Una cadena de caracteres representando una dirección en el formato estándar de Internet usando cuatro dígitos separados por puntos (xxx.xxx.xxx.xxx). Valor devuelto: Si la operación se ha resuelto correctamente se devuelve un unsigned long con la dirección apropiada en binario. Si la cadena cp no contiene una representación correcta la función devuelve INADDR_NONE.
16 31 Otras funciones para el trabajo con Sockets. Conversión de direcciones IP a cadena y desde cadenas. char* inet_ntoa(struct in_addr in); Parametros in: Puntero a una estructura in_addr con una dirección IP de un host. Valor devuelto: Puntero a un buffer estático con la dirección en el formato estándar (xxx.xxx.xxx.xxx) o NULL si no se ha realizado la operación. 32 Otras funciones para el trabajo con Sockets. Conversión de direcciones IP a cadena y desde cadenas. typedef struct in_addr { union { struct { u_char s_b1,s_b2,s_b3,s_b4;} S_un_b; struct { u_short s_w1,s_w2;} S_un_w; u_long S_addr; } S_un; } in_addr; Miembros S_un: S_un_b: Dirección del host formateada en 4 u_chars. S_un_w: Dirección del host formateada en 2 u_shorts. S_addr : Dirección del host formateada como u_long.
Migrando 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 detallesEstructuras 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 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 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 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 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 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 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 detallesProgramación con sockets
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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 detallesPrá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 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 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 detallesActivación de un Escritorio Remoto
Activación de un Escritorio Remoto La activación de un Escritorio Remoto se realiza en dos fases, en la primera se habilita a un Usuario de un ordenador para que pueda admitir una conexión remota, la segunda
Más detallesWSAEADDRNOTAVAIL (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 detallesINTERNET 4º ESO INFORMATICA / DEP. TECNOLOGIA
INTERNET 4º ESO INFORMATICA / DEP. TECNOLOGIA INTERNET Es una red mundial descentralizada, constituida por ordenadores que se conectan mediante un protocolo especial de comunicación, Internet Protocolo
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 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 detallesEL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET
1 EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET La familia de protocolos TCP/IP fue diseñada para permitir la interconexión entre distintas redes. El mejor ejemplo es Internet: se trata
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 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 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 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 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 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 detallesEjercicios Tema 1 1.- Supongamos que hay exactamente un switch de paquetes entre un host que envía y un host que recibe. Las tasas de transmisión entre el host que envía y el que recibe son R 1 y R 2 respectivamente.
Más detallesCONVERSIÓN DE UN NÚMERO EN BINARIO A DECIMAL Y VICEVERSA
CONVERSIÓN DE UN NÚMERO EN BINARIO A DECIMAL Y VICEVERSA CONVERSIÓN ENTRE BINARIO Y DECIMAL Si la conversión es de binario a decimal, aplicaremos la siguiente regla: se toma la cantidad binaria y se suman
Más detallesIntroduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia
Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por
Más detalles7. Manejo de Archivos en C.
7. Manejo de Archivos en C. Los datos que hemos tratado hasta el momento han residido en la memoria principal. Sin embargo, las grandes cantidades de datos se almacenan normalmente en un dispositivo de
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 detallesInstalación y mantenimiento de servicios de Internet. U.T.3.- Servicio DNS
Instalación y mantenimiento de servicios de Internet U.T.3.- Servicio DNS 1 Qué es el servicio DNS? A los usuarios de Internet les resulta complicado trabajar con direcciones IP, sobre todo porque son
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 detallesArquitectura de Redes y Servicios de Telecomunicación
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
Más detallesServidores de nombres de dominio (DNS) Jesús Torres Cejudo
Zonas Zona de Búsqueda Directa.- Las resoluciones de esta zona devuelven la dirección IP correspondiente al recurso solicitado; este tipo de zona realiza las resoluciones que esperan como respuesta la
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 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 detallesWINDOWS 2008 5: TERMINAL SERVER
WINDOWS 2008 5: TERMINAL SERVER 1.- INTRODUCCION: Terminal Server proporciona una interfaz de usuario gráfica de Windows a equipos remotos a través de conexiones en una red local o a través de Internet.
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 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 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 detallesSistemas de Transportes de Datos (STD) Tema II: IP (Entrega 6) Grupo de Aplicaciones Telemáticas. Grupo de Aplicaciones Telemáticas
DNS: Domain Name System El Domain Name System (DNS) es una base de datos distribuida que las aplicaciones de Internet utilizan para mapear nombres de máquinas y las direcciones IP correspondientes. Los
Más detallesTutorial BMS Server Studio UDP
Tutorial BMS Server Studio UDP ÍNDICE Página 0. Introducción...3 1. Configuración del puerto UDP...4 2. Ejemplos...6 2.1 Configuración manual...6 2.1.1 Configuración SocketTest...6 2.1.2 Configuración
Más detallesEn cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.
Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa
Más detalles(decimal) 128.10.2.30 (hexadecimal) 80.0A.02.1E (binario) 10000000.00001010.00000010.00011110
REDES Internet no es un nuevo tipo de red física, sino un conjunto de tecnologías que permiten interconectar redes muy distintas entre sí. Internet no es dependiente de la máquina ni del sistema operativo
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 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 detallesADMINISTRACION DE REDES PARA INICIADOS
ADMINISTRACION DE REDES PARA INICIADOS Acoplar una red local a Linux es fácil. Solo necesitamos tarjetas de red ethernet en cada ordenador, los cables apropiados y algun accesorio mas. La relación actual
Más detalles5.2.- Configuración de un Servidor DHCP en Windows 2003 Server
5.2.- Configuración de un Servidor DHCP en Windows 2003 Server En este apartado vamos a configurar el servidor DHCP de "Windows 2003 Server", instalado en el apartado anterior. Lo primero que hemos de
Más detallesDirecciones IP y máscaras de red
También en este nivel tenemos una serie de protocolos que se encargan de la resolución de direcciones: ARP (Address Resolution Protocol): cuando una maquina desea ponerse en contacto con otra conoce su
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 detallesEL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET
1 EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET Cada capa de la pila añade a los datos a enviar a la capa inferior, información de control para que el envío sea correcto. Esta información
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 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 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 detallesTema 4. Gestión de entrada/salida
Tema 4. Gestión de entrada/salida 1. Principios de la gestión de E/S. 1.Problemática de los dispositivos de E/S. 2.Objetivos generales del software de E/S. 3.Principios hardware de E/S. 1. E/S controlada
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 detallesCátedra de Sistemas Distribuidos Escuela de Ingeniería Electrónica Departamento de Sistemas e Informática
Cátedra de Sistemas Distribuidos Escuela de Ingeniería Electrónica Departamento de Sistemas e Informática Trabajo Práctico nro. 2: Comunicación Entre Procesos Tiempo Distribuido Objetivos del Práctico
Más detallesLaboratorio de Sistemas Operativos
Laboratorio de Sistemas Operativos Juan Antonio Álvarez, Toñi Reina, David Ruiz, Antonio Tallón, Pablo Neira, José Ángel Bernal y Sergio Segura Boletín 8: Mecanismo de IPC de Berkeley. Sockets Curso 2006/07
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 detallesDHCP. Dynamic Host Configuration Protocol. Protocolo de Configuración Dinámica de Host. Administración de Redes de Computadores
DHCP Dynamic Host Configuration Protocol Protocolo de Configuración Dinámica de Host Administración de Redes de Computadores John Deivis Tabares Tobón Luis Fernando Ramirez CONFIGURACION DEL SERVIDOR DHCP
Más detallesAplicaciones Cliente/Servidor en Gambas Prof: Mileti, P.
Aplicaciones Cliente/Servidor en Gambas Prof: Mileti, P. Al igual que un usuario se comunica con el programa por medio del teclado, dos programas se pueden comunicar entre sí por medio Sockets. Se podría
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 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 detallesInstalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta
Configuración de una red con Windows Aunque existen múltiples sistemas operativos, el más utilizado en todo el mundo sigue siendo Windows de Microsoft. Por este motivo, vamos a aprender los pasos para
Más detallesTEMA 2: FUNCIONAMIENTO DE INTERNET.
TEMA 2: FUNCIONAMIENTO DE INTERNET. ESCUELA UNIVERSITARIA DE INFORMÁTICA Raúl Martín Martín 2.1. Arquitectura Cliente-Servidor La arquitectura cliente-servidor consiste en la existencia de dos tipos de
Más detalles