Socket

Solo disponible en BuenasTareas
  • Páginas : 17 (4243 palabras )
  • Descarga(s) : 0
  • Publicado : 7 de diciembre de 2011
Leer documento completo
Vista previa del texto
SOCKETS Interfaz de Programación de Aplicaciones para la Familia de Protocolos TCP/IP

INTRODUCCIÓN
Debido a su ubicuidad, la familia de protocolos TCP/IP se considera como un estándar de facto, sin embargo no ocurre lo mismo con las interfaces de programación disponibles para desarrollar aplicaciones en red. En general, cada tipo de sistema operativo provee una API de comunicación TCP/IP.Tales interfaces presentan aspectos comunes derivados principalmente de la interfaz de comunicación de los sistemas operativos tipo Unix (Berkeley Sockets). Por ejemplo, Microsoft Windows incluye una interfaz de programación denominada Windows Sockets 2 basada en el paradigma popularizado por los Berkeley Sockets. Las diferencias en su arquitectura en relación a éstos últimos son reflejo del Modelode Arquitectura de Sistema Abierto de Windows (WOSA, Windows Open System Architecture). Por su parte, Java también ofrece una interfaz de programación TCP/IP que incluye la orientación a objetos y portabilidad que le caracteriza. Este documento sólo presenta información relacionada con los Berkeley Sockets.

BERKELEY SOCKETS
El subsistema de entrada/salida de Unix, en general, sigue elparadigma denominado abrir – leer – escribir – cerrar. Sin embargo, el manejo de entrada/salida de red involucra más detalles y opciones. Por ejemplo, entre los los aspectos a considerar se encuentran: • La relación cliente/servidor es asimétrica. La aplicación requiere saber cuál será su rol (cliente o servidor) antes de inciar la comunicación. • La entrada/salida de red puede trabajar orientada aconexión o sin conexión. • En un entorno de red los nombres son más importantes que en el manejo de archivos o dispositivos. • Para especificar una conexión de red se requieren más parámetros que para abrir un archivo o dispositivo: {protocolo, dirección_local, proceso_local, dirección_remota, proceso_remoto } • La interfaz de red debe soportar múltiples protocolos. En vista de estás necesidades,cuando se añadieron los protocolos de red a BSD Unix se decidió que, como éstos eran más complejos que los dispositivos convencionales de E/S, su interacción con los procesos del usuario debía ser más compleja. En particular, la interfaz de protocolo debía permitir a los programadores crear un código de servidor que esperara las conexiones pasivamente, así como también, un código cliente realizaraactivamente las conexiones. Además, debía soportar que los programadores de aplicación envíasen datagramas especificando la dirección de destino junto con cada datagrama en lugar de destinos enlazados en el momento en que llamaban a open. Para manejar todos estos casos, los diseñadores eligieron abandonar el paradigma tradicional de abrir – leer – escribir – cerrar y adicionar algunas llamadas nuevasal sistema operativo, así como también una nueva biblioteca de funciones. La adición de protocolos de red a UNIX incrementó sustancialmente la complejidad de la interfaz de E/S, pues los diseñadores intentaron construir un mecanismo general para incluir otros protocolos diferentes a TCP/IP. Como

consecuencia, la aplicación no puede proporcionar una dirección de 32 bits y esperar a que elsistema operativo la interprete de manera correcta. La aplicación debe especificar explícitamente que el número de 32 bits representa una dirección IP. El subsistema de E/S de red de UNIX, principlamente se centra en una abstracción conocida como sócalo (socket). Pensamos al socket como una generalización del mecanismo de acceso a archivos de UNIX que proporciona un punto final para la comunicación.Similar al acceso a archivos, los programas de aplicación requieren que el sistema operativo cree un socket cuando se necesita. El sistema devuelve un short integer que utiliza el programa de aplicación para hacer referencia al socket creado. La diferencia principal entre los descriptores de archivos y los descriptores de sockets es que el sistema operativo enlaza un descriptor de archivo a un...
tracking img