¿Qué es un enchufe de Internet?

Un enchufe de Internet es un término que se usa para identificar un punto de conexión que cualquier programa de software de computadora puede usar para transmitir datos a través de Internet. No son una construcción física, como un enchufe eléctrico de pared, sino un concepto de software de computadora. Con tal conector, cualquier dato necesario puede viajar de un programa que se ejecuta en una computadora a un programa que se ejecuta en otra; en muchos casos, esto es hacia y desde un cliente y un 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 dichas aplicaciones con reconocimiento de 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 capa de transporte, donde los datos 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 desde una conexión de red, le pide al sistema operativo que abra un enchufe de Internet. El conector se configura con la información del protocolo, como el protocolo de datagrama de usuario (UDP) o el protocolo de control de transmisión (TCP), así como las direcciones de envío y recepción de ambos equipos y el número de puerto IP para la conexión. También es posible crear un conector de Internet que pase por alto el sistema operativo y envíe los paquetes sin procesar sin dejar primero que el sistema operativo de la computadora se ocupe de la información adicional del conector.

Como se usa comúnmente en un servidor de Internet, el software del servidor se inicia y abre un conector de escucha. Cuando el servidor recibe una solicitud de datos, crea un conector ú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 número de sockets simultáneos con otros clientes, cada uno con su propio identificador único, y entregar datos que son únicos para cada cliente.

Como tal, existen tres tipos generales de conexión a Internet. Uno de esos tipos es el socket de 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 denominan sockets sin conexión y utilizan UDP como protocolo de transporte. Son una especie de método de disparar y olvidar, en el sentido de que no hay verificación de secuencia de paquetes ni corrección de errores.

Sin embargo, los sockets orientados a la conexión, llamados socket de flujo, pasan por algunos pasos adicionales para establecer el enlace de comunicación entre el cliente y el servidor. Estos utilizan 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 lidiar con errores como paquetes faltantes.

Otro tipo exclusivo de conexión a Internet se utiliza principalmente para el enrutamiento de redes informáticas. Este tipo de socket omite la capa de transporte de la pila IP, en lugar de pasar el paquete desde la red directamente a la aplicación con la información del socket aún intacta. Dichos sockets sin formato permiten una entrega mucho más rápida de paquetes a la aplicación, ya que el sistema operativo de la computadora no se sale con la suya con los paquetes primero. El protocolo de mensajes de control de Internet (ICMP) utiliza tales sockets sin procesar cuando una computadora simplemente quiere hacer «ping» a otra.