Edwin

6
INSTITUTO TECNOLÓGICO SUPERIOR “SAN GABRIEL” POR: EDWIN PAZA CLIENTE SERVIDOR ING: ANGEL HUILCA

Transcript of Edwin

Page 1: Edwin

INSTITUTO TECNOLÓGICO SUPERIOR

“SAN GABRIEL”

POR:

EDWIN PAZA

CLIENTE SERVIDOR

ING:

ANGEL HUILCA

QUE ES UN SOCKET

Page 2: Edwin

Un socket (enchufe), es un método para la comunicación entre un programa del cliente y un programa del servidor en una red. Un socket se define como el punto final en una conexión. Los sockets se crean y se utilizan con un sistema de peticiones o de llamadas de función a veces llamados interfaz de programación de aplicación de sockets (API, aplicación programan interface).

Un socket es también una dirección de Internet, combinando una dirección IP (la dirección numérica única de cuatro partes que identifica a un ordenador particular en Internet) y un número de puerto (el número que identifica una aplicación de Internet particular, como FTP, Gopher, o WWW).

TIPOS DE SOCKET

Sockets está diseñado de forma genérica; un socket por sí mismo no contiene información suficiente para describir la comunicación entre procesos. Los sockets operan dentro de dominios de comunicación, que determinan el formato de direcciones a utilizar y el protocolo de comunicación. Además el dominio define si los dos procesos que se comunican se encuentran en el mismo sistema o en sistemas diferentes y cómo pueden ser direccionados. De esta forma un socket puede clasificarse según su dominio y según el tipo de conexión que realice.

En función del tipo de conexión se dispone de varios tipos de socket, que describen la forma en la que se transfiere información a través de ese socket: sockets stream, sockets datagrama y sockets raw.

Los sockets stream son un servicio orientado a conexión donde los datos se transfieren sin encuadrarlos en registros o bloques. Para establecer una comunicación utilizando el protocolo TCP.

Los sockets datagrama son un servicio de transporte si conexión que utilizan el protocolo de transporte UDP. Cada vez que se envían datagramas es necesario enviar el descriptor del socket local y la dirección del socket que debe recibir el datagrama. Por tanto, hay que enviar datos adicionales cada vez que se realice una comunicación. Los datos se envían y reciben en paquetes cuya entrega no está garantizada.

Los sockets raw dan acceso a la capa de software de red subyacente o a protocolos de más bajo nivel. Se utilizan sobre todo para la depuración del código de los protocolos. Los sockets raw proporcionan acceso al Internet Control Message Protocol, ICMP, y se utiliza para comunicarse entre varias entidades IP.

COMUNICACIÓN DE SOCKET

Page 3: Edwin
Page 4: Edwin
Page 5: Edwin

IMPLEMENTACION DE SOCKET

En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores. La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tipos específicos de servidores incluyen los servidores webs, los servidores de archivo, los servidores del correo, entre otros. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma.

La comunicación entre procesos a través de sockets se basa en la filosofía cliente-servidor: un proceso en esta comunicación actuará de proceso servidor creando un socket cuyo nombre conocerá el proceso cliente, el cual podrá “hablar” con el proceso servidor a través de la conexión con dicho socket nombrado.

El proceso crea un socket sin nombre cuyo valor de vuelta es un descriptor sobre el que se leerá o escribirá, permitiéndose una comunicación bidireccional, característica propia de los sockets. El mecanismo de comunicación vía sockets tiene los siguientes pasos: • El proceso servidor crea un socket con nombre y espera la conexión. • El proceso cliente crea un socket sin nombre. • El proceso cliente realiza una petición de conexión al socket servidor. • El cliente realiza la conexión a través de su socket mientras el proceso servidor mantiene el socket servidor original con nombre.