¿Qué significa “Keepalive”?

El término «keepalive» se refiere a un proceso mediante el cual se envía una señal entre dos sistemas conectados, a menudo a través de una red como Internet, para mantener activa la conexión entre esos dos sistemas. Cuando un usuario en una computadora, por ejemplo, accede a una página web, entonces su computadora envía una solicitud de información desde la computadora o cliente al servidor de esa página web. Después de que el servidor accede a la información y la envía al cliente, normalmente hay un período de tiempo determinado después del cual se termina la conexión entre el cliente y el servidor. Sin embargo, cuando se envía una señal de keepalive, mantiene esa conexión activa.

En general, el término «keepalive» se usa típicamente para referirse tanto a la señal que se envía como al proceso de envío. La señal en sí no suele contener más datos que la solicitud de respuesta del servidor, lo que significa que se utiliza poco ancho de banda para enviar este tipo de mensaje. Una vez que el servidor recibe la señal, responde con una señal de reconocimiento, o ACK, que es recibida por el cliente. La programación de un protocolo keepalive en un cliente generalmente establecerá un temporizador que determina cuándo se envía el siguiente mensaje.

Hay varias razones para usar una señal de mantenimiento activo, aunque generalmente se usa para probar una conexión o para evitar que se termine una conexión. Cuando se utiliza para probar una conexión, el cliente envía la señal en función de un temporizador que se establece en el script para el protocolo keepalive. Mientras se reconozca la señal, el sistema continúa funcionando con normalidad. Sin embargo, si no se recibe la señal, se puede enviar una notificación al usuario del cliente indicando que la conexión ya no está activa.

Muchas redes, especialmente las redes grandes como Internet, están diseñadas con servidores que terminan automáticamente la conexión con un cliente después de un período de tiempo establecido. Esto se hace para permitir que se establezcan nuevas conexiones, ya que las conexiones cliente-servidor son finitas en número. También se puede utilizar una señal de keepalive para evitar que se produzca esta terminación automática. Cuando el cliente envía una señal de keepalive al servidor, indica que la conexión todavía está en uso, lo que evita que el servidor finalice automáticamente la conexión. Esto se hace a menudo en sitios web que permiten conexiones persistentes, aunque este no es un método garantizado para asegurar la conectividad continua.