Socket de Internet


Socket de Internet

Socket designa un concepto abstracto por el cual dos programas (posiblemente situados en computadoras distintas) pueden intercambiar cualquier flujo de datos, generalmente de manera fiable y ordenada.

El término socket es también usado como el nombre de una interfaz de programación de aplicaciones (API) para el stack de protocolos de Internet TCP/IP, provista usualmente por el sistema operativo.

Los sockets de Internet constituyen el mecanismo para la entrega de paquetes de datos provenientes de la tarjeta de red a los procesos o hilos apropiados. Un socket queda definido por un par de direcciones IP local y remota, un protocolo de transporte y un par de números de puerto local y remoto.

Contenido

Explicación detallada

Para que dos programas puedan comunicarse entre sí es necesario que se cumplan ciertos requisitos:

  • Que un programa sea capaz de localizar al otro.
  • Que ambos programas sean capaces de intercambiarse cualquier secuencia de octetos, es decir, datos relevantes a su finalidad.

Para ello son necesarios los tres recursos que originan el concepto de socket:

  • Un protocolo de comunicaciones, que permite el intercambio de octetos.
  • Un par de direcciones del protocolo de red (dirección IP, si se utiliza el protocolo TCP/IP), que identifican la computadora de origen y la remota.
  • Un par de números de puerto, que identifican a un programa dentro de cada computadora.

Los sockets permiten implementar una arquitectura cliente-servidor. La comunicación debe ser iniciada por uno de los programas que se denomina programa "cliente". El segundo programa espera a que otro inicie la comunicación, por este motivo se denomina programa "servidor".

Un socket es un proceso o hilo existente en la máquina cliente y en la máquina servidora, que sirve en última instancia para que el programa servidor y el cliente lean y escriban la información. Esta información será la transmitida por las diferentes capas de red.

Propiedades inherentes a los sockets

Las propiedades de un socket dependen de las características del protocolo en el que se implementan. El protocolo más utilizado es Transmission Control Protocol; una alternativa común a éste es User Datagram Protocol.

Cuando se implementan con el protocolo TCP, los sockets tienen las siguientes propiedades:

  • Son orientados a la conexión.
  • Se garantiza la transmisión de todos los octetos sin errores ni omisiones.
  • Se garantiza que todo octeto llegará a su destino en el mismo orden en que se ha transmitido.

Estas propiedades son muy importantes para garantizar la corrección de los programas que tratan la información.

El protocolo UDP es un protocolo no orientado a la conexión. Sólo se garantiza que si un mensaje llega, llegue bien. En ningún caso se garantiza que llegue o que lleguen todos los mensajes en el mismo orden que se mandaron. Esto lo hace adecuado para el envío de mensajes frecuentes pero no demasiado importantes, como por ejemplo, mensajes para las actualizaciones de un gráfico.

Orígenes

En los orígenes de Internet, las primeras computadoras en implementar sus protocolos fueron aquellas de la Universidad de Berkeley. Dicha implementación tuvo lugar en una variante del sistema operativo Unix conocida como BSD Unix. Pronto se hizo evidente que los programadores necesitarían un medio sencillo y eficaz para escribir programas capaces de intercomunicarse entre sí. Esta necesidad dio origen a la primera especificación e implementación de sockets, también en Unix. Hoy día, los sockets están implementados como bibliotecas de programación para multitud de sistemas operativos, simplificando la tarea de los programadores.

Variantes

Existe una variante de los sockets denominada Unix domain sockets, o bien, interprocess communication sockets (IPC sockets). Éstos se encuentran especificados en la norma POSIX y tienen como propósito la intercomunicación entre programas dentro de la misma computadora, facilitando así la optimización de recursos para este caso en concreto.

Véase también

Enlaces externos


Wikimedia foundation. 2010.

Mira otros diccionarios:

  • Socket UNIX — Saltar a navegación, búsqueda Un socket de dominio UNIX (UDS) o socket IPC (socket de comunicación interprocesos) es un socket virtual, similar a un socket de internet que se utiliza enlos sistemas operativos POSIX para comunicación entre… …   Wikipedia Español

  • Socket — puede referirse a: Zócalo o conexión de la placa base que se utiliza para instalar el procesador. Socket de Internet. Abstracción software que funciona como punto final de las comunicaciones entre computadoras (puerta). Esta página de… …   Wikipedia Español

  • Socket Unix — Este artículo o sección necesita referencias que aparezcan en una publicación acreditada, como revistas especializadas, monografías, prensa diaria o páginas de Internet fidedignas. Puedes añadirlas así o avisar …   Wikipedia Español

  • Socket 940 — is a 940 pin socket for 64 bit AMD server processors. The socket is entirely covered with leads, except for four key pins used to align the processor. AMD Opterons and the older AMD Athlon 64 FX (FX 51) use Socket 940. Being an intended server… …   Wikipedia

  • Socket — can refer to:In mechanics: * Socket wrench, a type of wrench that uses separate, removable sockets to fit different sizes of nuts and bolts * Socket head screw, a screw (or bolt) with a cylindrical head containing a socket into which the… …   Wikipedia

  • Internet explorer — Windows Internet Explorer Développeur Microsoft Dernière version …   Wikipédia en Français

  • Internet explorer 7 — Internet Explorer Windows Internet Explorer Développeur Microsoft Dernière version …   Wikipédia en Français

  • Internet Explorer 2 — Internet Explorer 2.0 under Windows NT 4 Developer(s) M …   Wikipedia

  • Internet Explorer — ▪ Internet browsing program        World Wide Web (WWW) browser and set of technologies created by the Microsoft Corporation, a leading American computer software company. Launched in 1995, Internet Explorer became one of the most popular tools… …   Universalium

  • Internet Direct — Internet Direct, also known as Indy , is a free software / open source socket library written in Object Pascal, an object oriented version of Pascal. It includes clients, servers, TCP, UDP, and raw sockets, as well as over 100 higher level… …   Wikipedia