Boletín 7- Sockets. Departamento de Lenguajes y Sistemas Informáticos
|
|
- Rosario Agüero Vega
- hace 6 años
- Vistas:
Transcripción
1 Boletín 7- Sockets Departamento de Lenguajes y Sistemas Informáticos
2 Indice 1. Introducción. 2. Tipos de sockets. 3. socket() 4. bind() 5. listen() 6. accept() 7. connect() 8. send()/ ()/recv(). 9. Funciones de ordenación de bytes 10. Funciones de conversión de nombre y direcciones. Departamento de Lenguajes y Sistemas Informáticos 2
3 1.- Introducción. Los sockets son otro mecanismo de comunicación entre procesos en Unix System V. Según el tipo de conexión Sockets en modo stream Sockets en modo datagrama Sockets en modo raw Según el dominio del socket: Sockets UNIX Sockets Internet STREAM SOCKET TCP Departamento de Lenguajes y Sistemas Informáticos DATAGRAM SOCKET UDP IP NIVEL DE RED NIVEL FISICO RAW SOCKET 3
4 Pasos para realizar en cualquier conexión: 1.- Establecimiento de conexión. Este proceso será distinto para el cliente y para el servidor. 2.- Recepción/envío de datos. Aquí ya no habrá diferencias entre cliente y servidor. 3. Destrucción del canal. 3. Destrucción del canal. Cliente y servidor han de destruir el canal, terminando la comunicación y liberando los recursos del sistema utilizados.
5 DESCONEXIÓN ENVÍO/RECEPCIÓN DATOS CONEXIÓN Protocolo orientado a la conexión (sockets en modo stream) Servidor socket ( ) bind ( ) listen() accept() Proceso bloqueado que se conecta con el cliente Cliente socket ( ) connect() read()/recv() write()/send() Procesa petición write()/send() read()/recv() LA LECTURA Y ESCRITURA SOBRE LOS SOCKETS SE REALIZAN COMO SI FUERAN UN FICHERO close( ) close ( )
6 Pasos establecimiento conexión en SERVIDOR 1. Solicitar al sistema operativo un socket. Llamada al sistema socket(). 2. Asignar un nombre (en el caso de dominio UNIX) o un número de puerto (dominio Internet) al socket de escucha. Llamada al sistema bind(). 3. Determinar la longitud de la cola de espera y dejar listo el socket de escucha para escuchar solicitudes de conexión por parte de los clientes. Llamada al sistema listen(). 4. Aceptar conexiones de los procesos clientes. Llamada al sistema accept(). Servidor socket ( ) bind ( ) listen() accept() Proceso bloqueado hasta que se conecte con el cliente
7 Pasos establecimiento conexión en CLIENTE 1. Solicitar al sistema operativo un socket. Llamada al sistema socket(). 2. Conectar el socket con un socket del servidor. Llamada al sistema connect(), que utiliza el nombre (dominio UNIX) o el número de puerto (dominio Internet) para identificar al socket al que se desea conectar. Cliente socket ( ) connect()
8 3.- La llamada: socket() Primer paso para realizar una conexión. #include <sys/types.h> #include <sys/socket.h> int socket(int domain, int type, int protocol); Servido r socket ( ) bind ( ) listen() accept() Parámetros domain Indica la familia de direcciones que se quiere emplear. AF_UNIX, AF_INET type indica la semántica de la comunicación para el socket. SOCK_STREAM SOCK_DGRAM protocol Especifica el protocolo particular que se va a utilizar con el socket. Cuando protocol vale 0, la elecci on del protocolo se deja en manos del sistema. Devuelve int devolverá un descriptor de fichero. En caso contrario, devolverá un -1 y en la variable global errno colocará el código del error que se ha producido.
9 3.- La llamada: socket() Ejemplo: #include <sys/types.h> #include <sys/socket.h> #include <sys/un.h>... s1 = socket ( AF_UNIX, SOCK_DGRAM, 0); s2 = socket ( AF_INET, SOCK_STREAM, 0); close(s1); Close(s2);
10 4.- La llamada: bind() Sirve para asociar un socket a una dirección. #include <sys/types.h> #include <sys/socket.h> int bind(int s, const struct sockaddr *name, int namelen); Servido r socket ( ) bind ( ) listen() accept() Parámetros s El descriptor del socket al que se quiere asociar la dirección name estructura de datos que sera distinta en función de si es un socket unix (struct sockaddr_un) o un socket internet (struct sockaddr_in). namelen Tamaño en bytes de la estructura anterior Devuelve int devolverá 0 si correcto o un -1 y en la variable global errno colocará el código del error que se ha producido.
11 4.- bind() en socket UNIX (AF_UNIX) struct sockaddr_un { sa_family_t sun_family; /* AF_UNIX */ char sun_path[108]; /* path name */ }; sun_family Indicará la familia de direcciones. Y en este caso, tendrá siempre el valor AF_UNIX. sun_path La ruta de un archivo del sistema de ficheros, ya que cuando se une un socket AF_UNIX a una ruta, por ejemplo, /tmp/misocket, se crea un fichero. Si el fichero ya existiese, la llamada a bind devolvería un error.
12 4.- bind() en socket UNIX (AF_UNIX) Ejemplo: #include <sys/types.h> #include <sys/socket.h> #include<sys/un.h> #include <string.h>... struct sockaddr_un su; int s; s = socket ( AF_UNIX, SOCK_DGRAM, 0); su.sun_family = AF_UNIX; strcpy( su.sun_path, "/tmp/misockunix"); bind ( s, (struct sockaddr *) &su, sizeof(su));
13 4.- bind() en socket Internet (AF_INET) struct sockaddr_in { sa_family_t sin_family; in_port_t sin_port; struct in_addr sin_addr; char sin_zero[8]; }; struct in_addr { in_addr_t s_addr; /* Direc.IP 32 bits */ }; /* en Network Byte Order */ sin_family Indicará la familia de direcciones. Valor fijo AF_INET. sin_port El puerto tcp ( ). sin_addr Dirección internet de la máquina. sin_zero (No se usa)
14 4.- bind() en socket Internet (AF_INET) Ejemplo: #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> #include <string.h>... struct sockaddr_in sin; int s; struct hostent *hp; char hostname[lon_hostname]; /* Obtenemos el nombre de la m aquina donde se ejecuta el c odigo */ gethostname(hostname, sizeof(hostname)); /* Obtenemos su direcci on IP, a partir del nombre */ hp = gethostbyname (hostname); if (hp == NULL) printf ("Error"); else{ s = socket ( AF_INET, SOCK_STREAM, 0); sin.sin_family = AF_INET; sin.sin_port = htons(8080); /* Asignamos puerto en Network byte order */ /* Obtenemos la dirección IP en Network byte order */ memmove (&sin.sin_addr, hp->h_addr, hp->h_length); /* Asociamos direcci on y puerto al socket de escucha */ bind ( s, (struct sockaddr *) &sin, sizeof(sin));... }
15 5.- La llamada: listen() Indica al sistema que el socket se va a ser un socket de escucha y dimensiona una cola para aceptar peticiones. #include <sys/types.h> #include <sys/socket.h> int listen(int s, int backlog); Servido r socket ( ) bind ( ) listen() accept() Parámetros s El descriptor del socket al que se quiere asociar la dirección backlog Indica la longitud de la cola asociada al descriptor del socket, o lo que es lo mismo, el n umero máximo de peticiones de conexión pendientes de aceptación. Devuelve int devolverá 0 si correcto o un -1 y en la variable global errno colocará el código del error que se ha producido.
16 6.- La llamada: accept() Indica al sistema que ya puede aceptar peticiones de clientes #include <sys/types.h> #include <sys/socket.h> int accept(int s, struct sockaddr *addr, int *addrlen); Servido r socket ( ) bind ( ) listen() accept() Parámetros s El descriptor del socket al que se quiere asociar la dirección addr Este es un parámetro de salida, y se utiliza para devolver la dirección de cliente, una vez que cliente y servidor están conectados. addrlen longitud de addr. Entrada/Salida. Devuelve int devolverá devuelve el descriptor del socket conectado o un -1 y en la variable global errno colocará el código del error que se ha producido.
17 Cuando el servidor termina de servir a un cliente, debe cerrar el socket conectado. 6.- La llamada: accept(). Funcionamiento #include <sys/types.h> #include <sys/socket.h> int accept(int s, struct sockaddr *addr, int *addrlen); Esta función coge la primera petición de conexión de la cola y crea otro socket con las mismas propiedades que el socket de escucha, el cual se conoce como socket conectado. Si no hubiera ninguna petición en la cola, y el socket no tiene activo el modo no bloqueante (O_NDELAY), esta llamada bloquea al proceso que la llama hasta que llegue una petición. A lo largo de la vida de un proceso servidor: Solamente se creará un socket de escucha, Sin embargo, se creará un socket conectado por cada conexión de cliente que se acepte.
18 6.- La llamada: accept() Ejemplo: #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h>... int se; int sc; int longaddr; struct sockaddr_in si; longaddr = sizeof(si); sc = accept (se, (struct sockaddr *)&si, &longaddr); if (sc == -1) { /* Error aceptando conexi on */ }
19 6.- La llamada: connect() Establece una conexión con el servidor #include <sys/types.h> #include <sys/socket.h> int connect(int s, const struct sockaddr *name, int len); Cliente socket ( ) connect( ) Parámetros s El descriptor del socket al que se quiere asociar la dirección name estructura de datos que sera distinta en función de si es un socket unix (struct sockaddr_un) o un socket internet (struct sockaddr_in). namelen Tamaño en bytes de la estructura anterior Devuelve int devolverá 0 en caso de OK y -1 en caso de error
20 6.- connect(): funcionamiento. Establece una conexión con el servidor #include <sys/types.h> #include <sys/socket.h> int connect(int s, const struct sockaddr *name, int len); Cliente socket ( ) connect( ) Si el socket es de tipo SOCK_DGRAM, connect especifica la dirección del socket remoto al que se le van a enviar los mensajes, pero no se conecta con él. La llamada devuelve el control inmediatamente. Además a través del socket solamente se podrán recibir mensajes procedentes de la dirección especificada en name. Si el socket es de tipo SOCK_STREAM, connect intenta conectar con el ordenador remoto para realizar una conexión cliente-servidor. La llamada se bloquea hasta que la conexión se completa. Si la conexión no se puede realizar inmediatamente, pero el socket tiene activo el modo de acceso O_NDELAY, la llamada a connect devuelve el control indicando que se ha producido un error de conexión.
21 7.- Envio y recepción en modo stream: send()/recv() Una vez que cliente y servidor están conectados, se tiene un canal de comunicación bidireccional y simétrico. Hay 3 formas de enviar y recibir información: 1) Mediante llamadas al sistema específicas de sockets, utilizando send() y recv(). 2) Utilizando las llamadas read() y write() que se vieron en el boletín de ficheros. 3) Asociándole un buffer al descriptor del socket, con la función fdopen(), vista en el boletín de ficheros, y trabajar así a alto nivel (con un puntero a FILE) y utilizar las funciones de stdio: fprintf, fgets, fgetc, fputc,
22 7.- Envio y recepción en modo stream: send()/recv() #include <sys/types.h> #include <sys/socket.h> ssize_t recv(int s, void *buf, size_t len, int flags); ssize_t send(int s, const void *buf, size_t len, int flags); Parámetros s El descriptor del socket al que se quiere asociar la dirección buff Es un puntero al inicio del bloque a enviar, en el caso de send, o al inicio del bloque donde se colocará la información leída, en el caso de recv. len bytes a enviar (send) o bytes disponibles para recibir (recv). flag 0 o una serie de constantes definidas en el sistema. Devuelve int devolverá el numero de bytes leidos/recibidos o -1 en caso de error.
23 7.- send()/recv(): Funcionamiento. #include <sys/types.h> #include <sys/socket.h> ssize_t recv(int s, void *buf, size_t len, int flags); ssize_t send(int s, const void *buf, size_t len, int flags); recv(). Si el número de bytes a leer fuese mayor que el tamaño de buf, entonces habría que hacer más invocaciones a recv para leer toda la información que haya disponible. recv() y send() son llamadas bloqueantes. recv(), si se hace una llamada al sistema y no hay datos disponibles para leer, el proceso que hizo la llamada quedará suspendido hasta que haya datos disponibles. send(), el proceso que realiza la llamada puede quedar bloqueado en el caso en el que el sistema tenga sus buffers lleno y no pueda almacenar temporalmente los datos a enviar.
24 8.- La llamada: close() Cierra las conexiones. Es la misma llamada que se usa para ficheros #include <sys/file.h> int close(int s); Parámetros s El descriptor del socket al que se quiere asociar la dirección Devuelve int devolverá 0 si OK y -1 en caso de error
25 9.- Funciones de ordenación de bytes int= E 00 6E 6E 00 NOTACIÓN: LITTLE ENDIAN (EL byte menos significativo en la direcciones más bajas) NOTACIÓN: BIG ENDIAN (EL byte menos significativo en la direcciones más altas) HOST BYTE ORDER NETWORK BYTE ORDER #include <netinet/in.h> unsigned short htons(unsigned short); unsigned long htonl(unsigned long); unsigned short ntohs(unsigned short); unsigned long ntohl(unsigned long); htons y htonl convierten de host byte order a network byte order. La primera convierte un entero corto, y la segunda un entero largo. ntohs y ntohl convierten de network byte order a host byte order. La primera convierte un entero corto, y la segunda un entero largo.
26 10.- Funciones conversión de nombres y direcciones OBTENCIÓN DE LA DIRECCIÓN DE UNA MÁQUINA: gethostbyname() #include <netdb.h> struct hostent *gethostbyname(const char *name); Devuelve una estructura que contendrá todas las direcciones IP para esa máquina struct hostent { char *h_name; /* official name of host */ char **h_aliases; /* alias list */ int h_addrtype; /* host address type */ int h_length; /* length of address */ char **h_addr_list; /* list of addresses from name server */ #define h_addr h_addr_list[0] /* address, forcompatiblity */ }; h_name murillo.eii.us.es h_aliases h_addrtype NULL alias1 alias2 struct in_addr() h_length h_addr_list NULL struct in_addr()
27 10.- Funciones conversión de nombres y direcciones CONVERSIÓN DE FORMATO DE DIRECCIONES IP: inet_addr() y inet_ntoa() #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> in_addr_t inet_addr(const char *cp); char *inet_ntoa(const struct in_addr in); char* inet_addr() struct in_addr() struct in_addr() inet_ntoa() char*
28 10.- Funciones conversión de nombres y direcciones OBTENCIÓN DEL NOMBRE DEL HOST: gethostname() #include <unistd.h> int gethostname(char *name, int namelen); char maquina[20]; struct hostent *hp; gethostname(maquina,sizeof(maquina)); hp = gethostbyname(maquina); printf( Nombre de host %s,hp->h_name); printf( Dirección IP %s, inet_ntoa(*((struct in_addr *) hp->h_addr));
Diseñ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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 (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 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 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 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 detallesRedes (IS20) Ingeniería Técnica en Informática de Sistemas - (2º Curso)
Redes (IS20) Ingeniería Técnica en Informática de Sistemas - (2º Curso) Práctica 2: Programación en Red. Protocolos TCP y UDP. Comunicación entre procesos mediante Sockets Descripción del equipo: 1. Ordenadores
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 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 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 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 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 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 detallesVersión 1.0, 26 de marzo de 2.000
ARQUITECTURA DE REDES DE COMPUTADORES II 2ª Práctica. Sockets. 4º Curso de la Ingeniería en Informática Departamento de Tecnología Electrónica Universidad de Sevilla Versión 1.0, 26 de marzo de 2.000 TITULACIÓN:
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 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 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 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 detallesIntroducción a Sockets en Linux
Introducción a Sockets en Linux Horacio Goetendía Bonilla 6 de Enero de 2003 Índice 1. Conceptos 2 1.1. Socket............................... 2 2. Sockets en Unix standar 2 2.1. Namespace (int dominio)(dominio
Más detallesGuía Beej de Programación en Redes
Guía Beej de Programación en Redes Uso de sockets de Internet Brian "Beej" Hall beej@piratehaven.org Copyright 1995-2001 por Brian "Beej" Hall Traducción al español a cargo de Damián Marqués Lluch
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 detallesAMPLIACION DE SISTEMAS OPERATIVOS SOCKETS AIRAN GODOY HERNANDEZ JOSE MARIA RODRIGUEZ RODRIGUEZ 5º INGENIERIA EN INFORMATICA
AMPLIACION DE SISTEMAS OPERATIVOS SOCKETS AIRAN GODOY HERNANDEZ JOSE MARIA RODRIGUEZ RODRIGUEZ 5º INGENIERIA EN INFORMATICA 1 Definición de Socket Punto de comunicación entre procesos, mediante el cual
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 detallesDesarrollo de Aplicativos con winsockets
Seminario de Redes de Computadoras 66.48 Desarrollo de Aplicativos con winsockets Docentes: Ing. Marcelo Utard Ing. Pablo Ronco Alumnos: Baños, Germán Gámez, Pablo Rabino, Juan Pablo Salas, Federico Introducción
Más detallesRedes de Computadores: Relación de problemas 1. Sockets
Redes de Computadores: Relación de problemas 1. Sockets 1. Obtención de nombres y direcciones IP Uso de gethostbyname y gethostbyaddr. Bajo el sistema operativo Linux, esta información se puede obtener
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
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 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 detallesUsando Internet Sockets Brian "Beej" Hall beej@piratehaven.org Copyright 1995-2001 by Brian "Beej" Hall
Usando Internet Sockets Brian "Beej" Hall beej@piratehaven.org Copyright 1995-2001 by Brian "Beej" Hall Historia Revision Version 1.0.0 August, 1995 Revised by: beej Initial version. Revision Version 1.5.5
Más detallesComputación de Alta Performance Curso 2009 PROGRAMACIÓN PARALELA EN LENGUAJE C
Computación de Alta Performance Curso 2009 MECANISMO DE PROGRAMACIÓN PARALELA EN LENGUAJE C AGENDA Mecanismos a estudiar. Fork. Pipes y FIFOs. System V IPC: Semáforos. Cola de mensajes. Memoria compartida.
Más detallesBibliografí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 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 detallesTema 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 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 detallesLABORATORIO DE GESTIÓN DE REDES APÉNDICE: MANUAL DE SOCKETS EN C
UNIVERSIDADE DA CORUÑA Departamento de Tecnoloxías da Información e as Comunicacións LABORATORIO DE GESTIÓN DE REDES APÉNDICE: MANUAL DE SOCKETS EN C ÍNDICE 1. INTRODUCCIÓN3 2. SOCKETS EN C.4 2.1. Conceptos
Más detallesUniversidad Simón Bolívar Departamento de Computación y Tecnología de la Información Curso de Redes I CI-4815 Trimestre Septiembre Diciembre 2013
Universidad Simón Bolívar Departamento de Computación y Tecnología de la Información Curso de Redes I CI-4815 Trimestre Septiembre Diciembre 2013 Proyecto I Autores: Lairon Acosta. Carnet: 09-10927 Jueves
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 detallesLos sockets de Unix. Funcionamiento y programación Dr. Roberto Gómez Cárdenas DCC del ITESM-CEM
Los sockets de Unix Emisor Receptor Funcionamiento y programación Dr. Roberto Gómez Cárdenas DCC del ITESM-CEM rogomez@itesm.mx http://webdia.cem.itesm.mx/ac/rogomez Dr. Roberto Gomez C. Diapo. No. 1 La
Más detallesArquitecturas cliente/servidor
Arquitecturas cliente/servidor Creación de Sockets Cliente Servidor Creación de Sockets Cliente/Servidor Sockets en TCP Sockets en UDP Definición de DAEMON Concepto de Hilos Qué es un socket? Un socket
Más 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 detallesNuestro 1er Aniversario
Número 07 Nuestro 1er Aniversario El buscador, la solución contra el tiempo Ya Estamos por todo el Mundo Noticias Solución de esta edición Encriptar el sistema de ficheros en Debian & Ubuntu Ubuntu Migración
Más detallesSockets. Los sockets son un mecanismo de comunicación entre procesos que se utiliza en Internet.
Sockets La biblioteca estándar de clases de Java nos proporciona todo lo que necesitamos para utilizar sockets en nuestras aplicaciones en el paquete java.net, por lo que tendremos que añadir la siguiente
Más detallesTema 5 Comunicación con sockets
Tema 5 Comunicación con sockets Grupo ARCOS Grado en Ingeniería Informática Universidad Carlos III de Madrid Contenido Conceptos básicos sobre sockets Modelo de comunicación Sockets Datagrama Stream API
Más detalles07 << Acceso en exclusiva al recurso compartido >>
Sistemas Operativos 4º Semestre. Grados II y MI Cuarto Parcial. Sistema de Ficheros. 2 de Junio de 2014. Dispone de 50 minutos. Publicación de notas el Jueves 5 de Junio 2014. Revisión el Viernes 6 de
Más detallesCapítulo 5. Programación de aplicaciones de red
Capítulo 5. Programación de aplicaciones de red Redes de Ordenadores 2º Grado en Ingeniería en Tecnologías de Telecomunicación 1 Área de Ingeniería Telemática Capítulo 5: Programación de aplicaciones de
Más 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 detallesPráctica 5: Implementación en C++ de sistemas cliente/servidor basados en comunicación
Práctica 5: Implementación en C++ de sistemas cliente/servidor basados en comunicación síncrona Programación de Sistemas Concurrentes y Distribuidos Grado de Ingeniería Informática Dpto. de Informática
Más detallesRedes de Computadoras Manual de Practicas Andres Marn Lopez Febrero de 1998 Indice General 1 Introduccion 2 2 El interfaz de sockets 2 2.1 La llamada a socket........................ 3 2.2 La llamada a
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 detallesSistemas Operativos: Programación de Sistemas. Curso Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.
Tema 5 : Comunicación entre Procesos mediante Tuberías Sistemas Operativos: Programación de Sistemas Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez Curso 2006-07 Introducción Algunas
Más detallesAlumno: Grupo: Ejercicio 1. Responda a las siguientes preguntas cortas justificando brevemente su respuesta (3 puntos).
UNIVERSIDAD CARLOS III DE MADRID AREA DE ARQUITECTURA Y TECNOLOGÍA DE COMPUTADORES GRADO EN INGENIERÍA INFORMÁTICA. SISTEMAS DISTRIBUIDOS. 21 de marzo de 2012. Para la realización del presente examen se
Más detallesContenido. Primera Parte: Sockets. Segunda Parte: Shellcodes
Contenido Primera Parte: Sockets Segunda Parte: Shellcodes Primera Parte # echo _Sockets_ Por qué saber sobre sockets? Para construir cualquier aplicación de red W W W FTP P2P Pre-requisitos TCP / IP básico
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 detallesARQUITECTURA DE REDES Laboratorio
1nsloo.cl ARQUITECTURA DE REDES Laboratorio Práctica 4: Ejercicios de aplicación de HTTP 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 detallesEscaneo Básico de Puertos Utilizando Flags TCP Alejandro Hernández (@nitr0usmx) http://www.brainoverflow.org
Escaneo Básico de Puertos Utilizando Flags TCP Alejandro Hernández (@nitr0usmx) http://www.brainoverflow.org 1.- INTRODUCCION Y bien, antes de comenzar supongo que tienes nociones básicas sobre el protocolo
Más detallesIMPLEMENTACIÓN DE APLICACIONES DE SEGURIDAD CON OPENSSL
IMPLEMENTACIÓN DE APLICACIONES DE SEGURIDAD CON OPENSSL Índice Lectura de Certificados con OpenSSL I Proyecto Leer_certificado1 Lectura de Certificados con OpenSSL II Proyecto Leer_certificado2 Proyecto
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 detallesProtocolo de Internet versión 6 Configuración y Desarrollo
Protocolo de Internet versión 6 Configuración y Desarrollo Pablo Carmona Amigo Renato Ulloa Sepúlveda Ingeniería Civil Electrónica Universidad de La Frontera 24 de julio de 2002 Resumen Este informe pretende
Más detallesExamen 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 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 detallesESCUELA POLITÉCNICA NACIONAL
ESCUELA POLITÉCNICA NACIONAL ESCUELA DE INGENIERÍA ELÉCTRICA UTILIZACIÓN DEL PROTOCOLO FTP PARA LA TRANSFERENCIA DE INFORMACIÓN DE GESTIÓN PROYECTO PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERO ESPECIALISTA
Más detallesDefiniciones preliminares
Definiciones preliminares Entorno Distribuido 2 Conjunto de recursos (datos, CPU, programas, impresoras, unidades de disco, etc.), que se encuentran diseminados a lo largo de diversas direcciones físicas.
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 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 detallesSistemas Operativos. Contents. Ezequiel Postan. Docentes. Guido Macchi. Esteban Ruiz. Federico Bergero. Guillermo Grimgblat
Sistemas Operativos Ezequiel Postan Docentes Abstract Apuntes de la materia Sistemas Operativos de LCC-FCIEA. Curso dictado en 2011. El apunte está basado en la carpeta Emilio Lopez con agregados y correcciones.
Más detallesFicheros conceptos. Manejo de ficheros en C. Apertura del fichero Función fopen: nombre del fichero. Apertura del fichero Función fopen
Fundamentos de Informática. Dpto. de ATC - Página 1 de 8 conceptos Manejo de ficheros en C Contienen los datos que se almacenan en dispositivos de almacenamiento masivo: disquetes, discos duros, DROM,
Más detallesPermutació 1 Examen Introducció a les Xarxes d Ordinadors - 2008-2009
Examen Introducció a les Xarxes d Ordinadors - 2008-2009 24 de març de 2009, 15h00 Duració: 2,5 hores (1 hora per al test) Publicació de notes provisionals: 14 d abril 2009 Revisió de l examen: 15 d abril
Más detallesTIPOS DE DATOS BASICOS EN LENGUAJE C
TIPOS DE DATOS BASICOS EN LENGUAJE C TIPO char int float double void ANCHO EN BIT 64 0 TIPOS DE DATOS RANGO EN PC -12 a 127 3.4E-3 a 3.4E+3 1.7E-30 a 1.7E+30 sin valores TIPO ANCHO EN BIT RANGO EN PC char
Más detallesEs la capa donde se encuentran las aplicaciones que interactúan con el usuario. Son la razón de ser de las redes de datos
Capa de aplicación Capa de aplicación Es la capa donde se encuentran las aplicaciones que interactúan con el usuario Son la razón de ser de las redes de datos En Internet, son estas aplicaciones el principal
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 detallesProgramación con Sockets
Programación en Internet (Sockets) Programación con Sockets Objetivo: aprender como construir aplicaciones cliente/servidor que se comunican utilizando sockets Socket API introducida en el BSD4.1 UNIX,
Más detallesCUESTIONARIO PARA EL PROTOCOLO TCP/IP PREGUNTAS
CUESTIONARIO PARA EL PROTOCOLO TCP/IP PREGUNTAS TEMA I 1. - Qué significa TCP/IP? 2. - Por que es necesario usar TCP/IP? 3. - Cuáles son algunas funciones del nivel de aplicación? 4. - Qué es una PDU?
Más detallesTEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O
TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO Definición y objetivos de un S.O Definición y objetivos del sistema operativo Estructura, componentes y servicios de un S.O Llamadas al sistema
Más detalles