Sockets

Solo disponible en BuenasTareas
  • Páginas : 6 (1255 palabras )
  • Descarga(s) : 0
  • Publicado : 4 de diciembre de 2011
Leer documento completo
Vista previa del texto
Introducción

Un socket es un método de comunicación entre un programa cliente y un programa servidor, 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.

El concepto de socket fue desarrollado en los años 80’s en el entorno de Unix como la interfaz de socket de Berkeley, puedes serorientados o no orientados a la conexión. (Sallings, 2004)

La interfaz de socket de Berkeley es el estandar de facto para la interfaz de programación de aplicaciones (API) para el desarrollo de aplicaciones de red, extendiéndose en una amplia gama de SO. La API de socket proporciona acceso genérico a servicios de comunicación entre procesos. Es ideal para entender los principios de protocolos yaplicaciones distribuidas.(Stallings, 2004)
Marco Teórico

Los sockets o zócalos son un par de números que identifican de manera única cada aplicación, cada socket se compone de dos campos principales, los cuales son.

• Dirección IP del host
• Puerto

Pero que es un puerto, es una palabra de 16 bits que identifica hacia que aplicación o proceso deben dirigirse los datos. Se trata deun mecanismo a través del cual las distintas aplicaciones contactan con TCP/IP. Se debe contar con un algoritmo que pueda tratar con problemas como puertos ocupados ya que otras aplicaciones ya están ocupando esos canales de comunicación. (García, 2001).

Para utilizar los sockets debemos usar primitivas de transporte, en este caso serán las primitivas TCP las cuales son las siguientes.|Primitiva |Significado |
|SOCKET |Crea un nuevo punto terminal de comunicación |
|BIND |Adjunta una dirección local a un socket |
|LISTEN|Anuncia la disposición a aceptar conexiones; indica el tamaño de cola |
|ACCEPT |Bloquea al invocador hasta la llegada de un intento de conexión |
|CONNECT |Intenta establecer activamente una conexión |
|SEND|Envía datos a través de la conexión |
|RECEIVE |Recibe datos de la conexión |
|CLOSE |Libera la conexión |

Las primerascuatro primitivas de la lista son ejecutadas en ese orden por los servidores. La primitiva SOCKET crea un nuevo punto de comunicación y le asigna espacio en las tablas de la entidad de transporte. Los parámetros de la llamada especifican el formato de direccionamiento que se utilizara, el tipo de servicio deseado y el protocolo. Una llamada SOCKET con éxito devuelve un descriptor de archivoordinario que se utiliza con las siguientes llamadas, de la misma manera que lo hace una llamada OPEN.(Tanenbaum,2003)

Los sockets recién creados no tienen direcciones de red. Estas se asignan mediante la primitiva BIND. Una vez que un servidor ah destinado una dirección a un socket los clientes remotos pueden conectarse a el. La razón para que la llamada SOCKET no cree no cree directamente unadirección es que algunos procesos se encargan de sus direcciones, mientras que otros no lo hacen. (Tanenbaum, 2003)

A continuación viene la llamada LISTEN que asigna espacio para poner en cola las llamadas entrantes por si varios clientes intentan conectarse al mismo tiempo.

Para bloquearse en espera de una conexión entrante, el servidor ejecuta una primitiva ACCEPT. Cuando llega una TPDU...
tracking img