article Related Topics:
Sockets
 

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

Un socket queda definido por una dirección IP, un protocolo y un número de puerto.

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.
  • Una dirección IP, que identifica una computadora.
  • Un número de puerto, que identifica a un programa dentro de una computadora.

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

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 TCP, aunque también es posible utilizar UDP o IPX. Gracias al protocolo TCP, los sockets tienen las siguientes propiedades:

  • Orientado a 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. Mediante el protocolo UDP, estas propiedades desaparecen, motivo por el que no es muy frecuente su uso.

Origenes


En los origenes 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


Redes informáticas

Socket | Socket | Socket | Elektros lizdas | Gniazdo (telekomunikacja) | Socket | Сокет | Soket

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Socket".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld