Sockets.

Slides:



Advertisements
Presentaciones similares
Arquitectura cliente-servidor
Advertisements

Protocolos TCP/IP.
Con el comando netstat (Network status) mostrará información sobre la configuración y actividad de la red.
Programación Interactiva Aplicaciones Cliente-Servidor
INF 1400: Redes de Computadores
Funciones de sockets en C
TEMA 2 Técnicas básicas de construcción de aplicaciones distribuidas
Sockets y Threads en JAVA
Sistemas Informáticos Distribuidos
SOCKETS INTRODUCCIÓN DEFINICIÓN TIPOS DE SOCKETS USO DE SOCKETS.
Introducción a Programación Concurrente
Servidor.pl #!/usr/local/bin/perl use Socket; ($port) $port = 2345 unless $port; Empleamos el módulo Socket, equivalente a las definiciones que.
Comunicación y sincronización entre procesos
Cliente.pl #!/usr/local/bin/perl use Socket; ($them, $port) $port = 2345 unless $port; $them = 'localhost' unless $them; El primer argumento es.
Servidor de Batalla Naval.
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (Seminaris de CASO) Autors Christophe Fontano Julien Alagnou Socket.
1 Uciel Fragoso RodríguezITAMRedes TCP/IP Protocolo TCP (Transmission Control Protocol)
Sockets en Java. Sockets ● Para programar aplicaciones en red en Java se utilizan los Sockets. ● Un socket permite establecer y manejar una conexión entre.
Arquitectura - 3er Parcial. Asignaturas para Arquitectura – 3er Parcial.  Diseño del modelo de red (clase networking).  Implementacion del modelo de.
1 Chat de salón 1.Enunciado del problema 2.Modelo cliente/servidor 3.Protocolo de comunicación con el servidor. 4.Chat privado 5.Diseño del cliente 6.Diseño.
TCP Tema 2.- Nivel de transporte en Internet Dr. Daniel Morató Redes de Computadores Ingeniero Técnico en Informática de Gestión, 2º curso Material parcialmente.
Sistemas de Comunicación Magistral Nro. 8 Capa 4: Transporte Las funciones principales de la capa de transporte son transportar y regular el flujo de información.
SOCKETS.
Contenido Sistemas distribuidos Sistemas operativos distribuidos
AXEL LATORRE GABRIEL VALENZUELA GIAN PAOLO ALMEIDA ROMMEL CHIFLA ISABEL VILLEGAS INTEGRANTES.
Socket en.NET Grupo # 5. ¿Qué es un Socket? Es la relación entre un puerto de un equipo y el puerto de otro equipo. ¿Qué es un puerto? Es el medio por.
Sockets. / Los sockets (zócalos, referido a los enchufes de conexión de cables) son mecanismos de comunicación entre programas a través de una red TCP/IP.
TCP/IP Introducción TCP/IP Introducción. TCP/IP vs OSI Aplicación Presentación Sesión Transporte Red Enlace Física Aplicación Acceso a la red Física TCP/IP.
CAPITULO 6 CAPA DE TRANSPORTE
Clase de Sockets en lenguaje C
En este capitulo se analizo la relación entre cliente y servidor de red habituales, como: HTTP FTP DNS DHCP Correo Electrónico INTRODUCCIÓN.
COMPARATIVA CLIENT/SERVIDOR AMB SOCKETS C vs. JAVA MANEL DOMÍNGUEZ SERRA GERARD ROCA MALLOFRÉ.
ELO3091 Interfaz de Socket Agustín J. González ELO309.
Sockets programming. Tipos de datos. Tipos de datos mas usados en programas cliente-servidor: u-char Unsigned 8-bit character. u-short Unsigned 16-bit.
Universidad Autónoma de Colombia Comunicación de procesos Sockets Ingeniería de Sistemas Electiva Tecnológica.
Otras aplicaciones1 FTP Telnet (y ssh) WWW. Otras aplicaciones2 FTP File Tranfer Protocol Protocolo de transferencia de archivos básico pero útil y fácil.
Universidad de Chile - Tupper 2007, Santiago - Fono: Fax: Módulo 9: Desarrollo de Aplicaciones.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Modelo TCP / IP Conjunto de protocolos. La sigla TCP/IP significa "Protocolo de control de transmisión/Protocolo de Internet" y se pronuncia "T-C-P-I-P".
Departamento de Arquitectura y Tecnología de Computadores E.T.S. Ingeniería Informática Lección 2. La API de Sockets Julio Ortega Lopera. Curso 2004/2005.
1 SOCKETS AIRAN GODOY HERNANDEZ JOSE MARIA RODRIGUEZ RODRIGUEZ 5º INGENIERIA EN INFORMATICA AMPLIACION DE SISTEMAS OPERATIVOS.
Andres Marín L. Programación sockets en java.
Sistemas Operativos Comunicación de procesos a través de sockets.
LABORATORIO DE ESTRUCTURA DE COMPUTADORES II Desarrollo de aplicación Cliente-Servidor.
Redes de Datos Integrantes: Guízar Gómez Gerardo Nassir López Ortega Juan Manuel Rodríguez Castro Ronald Michel Silva Rangel Ángel Eduardo Capa 5. Sesión.
Christian Zurita Ávila.  En el momento que nuestro ordenador se conecta a internet, éste pasa a ser un elemento más dentro de la Red, es decir, forma.
INTEGRANTES : Selvin Rivas José Vásquez Francisco Pérez J’ Alberto Patal.
2: Capa Aplicación Capa Aplicación: P2P ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo al texto Computer.
Ing. Elizabeth Guerrero V.
4. Introducción a IP,TCP,UDP,ARP,ICMP
Ing. Elizabeth Guerrero V.
Protocolos de Transporte y Aplicación. – TCP y UDP
Capa Aplicación: Programación de sockets
Curso Redes (IS20) -Capítulo 5 1 Redes (IS20) Ingeniería Técnica en Informática de Sistemas Práctica 2- Comunicación de procesos mediante sockets.
Nivel de Transporte en Internet
PROTOCOLOS Modelo TCP/IP
1. 2 Físicamente, Internet (Interconnected Networks) es una red compuesta por miles de redes independientes pertenecientes a instituciones públicas, centros.
QUE ES EL TELNET El protocolo Telnet es un protocolo de Internet estándar que permite conectar terminales y aplicaciones en Internet.
Modelo OSI Para redes………
C1-Sistemas Distribuidos Concurrencia Varias componentes en una misma máquina-> Concurrencia Inteleaving (1 sola CPU, N procesos) Paralelo (N CPU, M procesos)
Protocolos de Transporte y Aplicación
Planificación Curso UNIDAD 1. INTRODUCCIÓN A LOS SERVICIOS EN RED UNIDAD 2. SERVICIOS DHCP UNIDAD 3. SERVICIOS DNS UNIDAD 4. SERVICIOS DE ACCESO REMOTO.
En informática, es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol)
Protocolos de Transporte y Aplicación Javier Rodríguez Granados.
1 Introducción a las Comunicaciones en Red. import java.net.InetAddress; import java.net.UnknownHostException; public class PruebaSockets { public static.
¿Qué es un socket? trab/satobigal/documentacion/beej/index.html Es una forma de comunicarse con otros programas usando.
INTEGRANTES: JORGE CRUZ DE OCAMPO EDSON SANCHEZ SUAREZ
Conceptos Básicos de Programación
Programación con sockets I
Programación con sockets II
Transcripción de la presentación:

Sockets

Definición de Socket Punto de comunicación entre procesos. Descriptor de socket.

Características de un socket <sys/socket.h> Dominio Tipo

Dominio de un socket Formato de direcciones y protocolos Dominio UNIX (AF_UNIX) : <sys/un.h> struct sockaddr_un{ short sun_family; char sun_data[108]; };

Dominio de un socket Dominio Internet (AF_INET) : struct in_addr{ u_long s_addr; }; struct sockaddr_in{ short sin_family; u_short sin_port; struct in_addr sin_addr; char sin_zero[8];

Dominio de un socket Valores de la estructura: AF_INET IPPORT_TCP, IPPORT_TELNET; IPPORT_RESERVED. INADDR_ANY

Tipo de un socket Propiedades de comunicación Fiabilidad de la transmisión. Conservación del orden de los datos. No duplicación de datos. Comunicación en modo conectado. Conservación de los límites de los mensajes. Envío de mensajes <<urgentes>>.

Tipo de un socket Tipos disponibles SOCK_DGRAM. Propiedad 5. UDP. SOCK_STREAM. Propiedades 1-4. Propiedad 6. TCP. SOCK_RAW. Superusuario. IP.

Creación y Supresión de un Socket int socket (dominio, tipo, protocolo) int dominio; int tipo; int protocolo; Supresión: close

Enlazamiento socket-dirección Primitiva bind: int bind (sock, p_direccion, lg) int sock; struct sockaddr *p_direccion; int lg;

Enlazamiento socket-dirección El dominio Unix: ls, rm sockunix.c (hoja 5 de Sockets) El dominio Internet: gethostname, gethostbyname, INADDR_ANY getservbyname, IPPORT_RESERVED

Enlazamiento socket-dirección int getsockname (sock, p_adr, p_lg) int sock; struct sockaddr *p_adr; int *p_lg; crearsock.c (hoja 7 de Sockets)

Comunicación por datagramas Sockets tipo SOCK_DGRAM Poca fiabilidad Comunicación modo no conectado Posible <<pseudoconexión>> (dirección implícita)

Envío de mensajes int sendto (sock, msg, lg, opcion, p_dest, lgdest) int sock; char *msg; int lg; int opcion; struct sockaddr *p_dest; int lgdest;

Envío de mensajes int sendmsg (sock, msg, opcion) int sock; struct msghdr msg[]; int opcion;

Envío de mensajes struct msghdr { caddr_t msg_name; int msg_namelen; struct iovec *msg_iov; int msg_iovlen; caddr_t msg_accrights; int msg_accrightslen; }; 

Envío de mensajes struct iovec { caddr_t iov_base; int iov_len; }; msghdr en <sys/socket.h> iovec en <sys/uio.h>

Recepción de mensajes int recvfrom (sock, msg, lg, opcion, p_exp, p_lgexp) int sock; char *msg; int lg; int opcion; struct sockaddr *p_exp; int *p_lgex;

Recepción de mensajes int recvmsg (sock, msg, opcion) int sock;   int sock; struct msghdr msg[]; int opcion;

Cliente/Servidor El Servidor: Creación y enlace al puerto de servicio de un socket. Desconexión del servidor de su terminal de lanzamiento o ejecución. Bucle infinito en el cual el servidor: Espera una petición. La trata. Pone la forma de respuesta. Envía la respuesta.

Cliente/Servidor El Cliente: Creación del socket local. Preparación de la dirección del servidor. Envío del mensaje. Espera del resultado. Explotación del resultado.

Ejemplo Cliente/Servidor Ejemplo Completo (hoja 11 de Sockets). Estructura hostent en netdb.h   struct hostent{ char *h_name; char **h_aliases; int h_addrtype; int h_length; char **h_addr_list; #define h_addr h_addr_list[0] };

Pseudoconexiones Primitiva connect: int connect (sock, p_adr, lgadr) int sock; struct sockaddr *p_adr; int lgadr;

Pseudoconexiones Primitiva socketpair: int socketpair (dominio, tipo, protocolo, p_sock) int dominio; int tipo; int protocolo; int *p_sock;

Pseudoconexiones Primitiva send: int send (sock, msg, lg, opcion) int sock; char *msg; int lg; int opcion;

Pseudoconexiones Primitiva recv: int recv (sock, msg, lg, opcion)   int sock; char *msg; int lg; int opcion;

Comunicación modo conectado Fiabilidad Circuito virtual telnet, ftp, rlogin

socket/bind listen accept fork Creación y enlace del socket de escucha socket/bind Apertura del servicio listen Espera de demanda de conexión accept Servidor en modo conectado Creación de un subproceso fork PADRE HIJO Tratamiento de la demanda

Punto de vista del servidor int listen (sock, nb)   int sock; int nb; int accept (sock, p_adr, p_lgadr) int sock; struct sockaddr *p_adr; int *p_lgadr;

Creación (y eventualmente enlace de un socket) socket/bind Construcción de la dirección del servidor Demanda de conexión connect Cliente en modo conectado Fallo Éxito Diálogo con el servidor

Punto de vista del cliente int connect (sock, p_adr, lgadr)   int sock; struct sockaddr *p_adr; int lgadr;

Diálogo servidor/cliente La emisión:     int write (sock, msg, lg)   int sock; char *msg; int lg;  

Diálogo servidor/cliente La emisión: int send (sock, msg, lg, opcion)   int sock; char *msg; int lg; int opcion;

Diálogo servidor/cliente La recepción: int read (sock, msg, lg)   int sock; char *msg; int lg;  

Diálogo servidor/cliente La recepción: int recv (sock, msg, lg, opcion)   int sock; char *msg; int lg; int opcion;

Diálogo servidor/cliente El corte de la conexión: int shutdown (desc, sens)   int desc; int sens;