Skip to main content

¿Qué es un enchufe de Internet?

Un socket de Internet es un término utilizado para identificar un punto de conexión que cualquier programa de computadora puede utilizar para transmitir datos a través de Internet. No son una construcción física, como una toma de corriente eléctrica, sino un concepto de software de computadora. Con tal socket, cualquier información necesaria puede viajar de un programa que se ejecuta en una computadora a otro que se ejecuta en otra; en muchos casos, esto es hacia y desde un cliente y servidor. El término también se usa para referirse a una interfaz de programación de aplicaciones (API) que los programadores de computadoras pueden usar para crear tales aplicaciones conscientes de la red capaces de enviar y recibir datos a través de Internet.

Los sockets funcionan en las capas superiores de la pila de protocolo de Internet (IP), conocida como la capa de transporte, donde los datos se pasan de una aplicación a la red a través del sistema operativo. Cuando una aplicación en la computadora desea enviar y recibir datos de una conexión de red, le pide al sistema operativo que abra un enchufe de Internet. El zócalo se configura con la información del protocolo, como el protocolo de datagramas de usuario (UDP) o el protocolo de control de transmisión (TCP), así como las direcciones de envío y recepción de ambas computadoras y el número de puerto IP para la conexión. También es posible crear un socket de Internet que omita el sistema operativo y envíe los paquetes sin procesar sin permitir que el sistema operativo de la computadora se ocupe de la información adicional del socket.

Como se usa comúnmente en un servidor de Internet, el software del servidor se inicia y abre un socket de escucha. Cuando el servidor recibe una solicitud de datos, crea un socket único para el cliente solicitante, que luego utiliza para transmitir los datos solicitados. Estos tipos de conexiones también se denominan sesión, ya que el servidor cierra el socket una vez que el cliente finaliza. De esta manera, el servidor puede crear cualquier cantidad de sockets simultáneos con otros clientes, cada uno con su propio identificador único, y entregar datos únicos para cada cliente.

Como tal, hay tres tipos generales de conexión a Internet. Uno de estos tipos es el zócalo del datagrama. Se trata de una conexión de socket rápida que no requiere comunicación adicional para establecer una conexión dedicada antes de enviar paquetes de datos. Por esta razón, a menudo se les denomina sockets sin conexión y usan UDP como su protocolo de transporte. Son una especie de método de disparar y olvidar, ya que no hay comprobación de secuencia de paquetes o corrección de errores.

Sin embargo, los sockets orientados a la conexión, llamados sockets de flujo, siguen algunos pasos adicionales para establecer el enlace de comunicación entre el cliente y el servidor. Estos usan TCP, u otro protocolo conocido como protocolo de transmisión de control de flujo (SCTP), para el transporte. Este tipo de conexión a Internet es más confiable y tiene medios para tratar errores como la falta de paquetes.

Otro tipo único de conexión a Internet se utiliza principalmente para el enrutamiento de la red informática. Este tipo de socket omite la capa de transporte de la pila IP, en su lugar pasa el paquete de la red directamente a la aplicación con la información del socket aún intacta. Tales sockets sin procesar permiten una entrega mucho más rápida de paquetes a la aplicación, ya que el sistema operativo de la computadora no llega a su manera con los paquetes primero. El protocolo de mensajes de control de Internet (ICMP) usa dichos sockets sin procesar cuando una computadora simplemente quiere "hacer ping" a otra.