Sockets

Páginas: 9 (2140 palabras) Publicado: 8 de agosto de 2012
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 TCP/IP que se

compone de funciones o rutinas.
 Originalmente se construyó a principios de los 80 para el

sistema operativo UNIX , aunque hoy en día también la
utilizanotros sistemas operativos como Microsoft
Windows, Mac, OS2, etc...

La Interfaz Socket

2

Introducción - Origen de la INTERFAZ SOCKET
 Las llamadas al sistema de E/S en UNIX se basan en el

proceso de open-read-write-close (abrir-leer-escribircerrar), y esto se utiliza
 tanto con archivos como con dispositivos hardware.

 En este tipo de comunicación se basó el diseño de lainterfaz de sockets,
 con lo que para comunicarse con una red TCP/IP, se abre

primero una conexión con la red, se leen y escriben datos a
través de ella y una vez terminados los procesos se cierra la
conexión.
La Interfaz Socket

3

Introducción - SOCKETS
 Las aplicaciones desarrolladas en Sockets están basadas

en la arquitectura Cliente-Servidor.
 La aplicación necesita conocer elpapel que va a

desempeñar (cliente o servidor), ya que la estructura del
sw y primitivas difieren.

La Interfaz Socket

4

Introducción - SOCKETS
 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).
 Para que se dé la comunicación en una red, el programa

requiere unsocket en cada extremo del proceso de
comunicación.

La Interfaz Socket

5

Creación de un Socket
 Para crear un socket, se utiliza la función socket y se

deben especificar tres parámetros:
socket = socket(protocol_familiy, socket_type, protocol)
1. Familia de Protocolos (Protocol Family): Identifica a una
familia de protocolos relacionados, como TCP/IP.

2. Tipo de Socket(Socket_type): Si el programa utilizará el
socket para transmitir flujo de bytes o datagramas.
SOCK_DGRAM para datagramas y SOCK_STREAM
para flujo de bytes.

La Interfaz Socket

6

Creación de un Socket
3. Protocolo a utilizar: Permite especificar qué protocolo
utilizará el socket. IPPROTO_TCP , IPPROTO_UDP.
 Ej: socket_handle = socket(PF_INET, SOCK_STREAM,

IPPROTO_TCP);

 Cuando sellama a la función socket, la implementación

del socket lo crea y devuelve un identificador de socket
que identifica a un registro en la tabla de descripción. El
registro muestra la estructura de datos del socket.
La Interfaz Socket

7

Estructura de Datos del Socket
Familia de Protocolos
Tipo de Servicio
Dirección IP Local
Dirección IP Remota
Puerto de Protocolo Local
Puerto deProtocolo Remoto

Cada vez que la aplicación llama a la función socket,
la implementación de este reserva memoria para una
nueva estructura de datos y almacena la dirección de
la familia, el tipo de socket y el protocolo.
La Interfaz Socket

8

Configuración del Socket
 Una vez creado el socket, utilizando la función socket, se

pueden utilizar las funciones de configuracióndependiendo del uso que se le vaya a dar al socket:
 Si se trata de un cliente orientado a conexión, se deberá

llamar a la función connect que se encargará de almacenar
toda la información local y remota en la estructura de datos
del socket.
 Si se trata de un cliente sin conexión las funciones llamadas
son:


Máquina Local: bind - Máquina remota: send

La Interfaz Socket

9 Configuración del Socket
En el caso de un servidor orientado a conexión:
 Máquina Local: bind
 Máquina Remota: listen y accept

En el caso de un servidor sin conexión:
 Máquina Local: bind
 Máquina Remota: recvfrom

La Interfaz Socket

10

Primitivas Sockets Orientadas a Conexión (TCP)











Socket: Crea un descriptor de socket.
Close: Cierra socket
Bind:...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • sockets
  • sockets
  • Sockets
  • Sockets
  • Sockets
  • Sockets
  • Comunicacion entre sOCKETS
  • Sockets de windows

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS