La capa de sesión coordina el diálogo entre aplicaciones distribuidas. Sobre la base de una conexión de transporte,
establece reglas para abrir, mantener y cerrar sesiones lógicas, asegurando que las dos mitades de la conversación sigan sincronizadas.
Aunque muchos protocolos modernos integran estas funciones directamente en capas superiores, el modelo OSI separa la sesión
para destacar la importancia de administrar estados, reanudaciones y permisos a nivel de aplicación.
7.1 Creación, mantenimiento y cierre de sesiones
Una sesión es un contexto de comunicación que conserva variables, tokens y parámetros durante toda la interacción.
La capa 5 define tres etapas fundamentales:
- Creación: intercambio inicial de credenciales, negociación de idiomas o versiones del protocolo y asignación de un identificador de sesión.
- Mantenimiento: intercambio periódico de mensajes de keepalive o heartbeats para comprobar que el interlocutor sigue activo.
También se contemplan mecanismos de renegociación cuando cambia la configuración (por ejemplo, pasar de modo lectura a escritura).
- Cierre ordenado: liberación explícita de recursos, confirmación de las transacciones completadas y registro del estado final para auditoría.
Separar estas fases ayuda a las aplicaciones a evitar estados inconsistentes. Por ejemplo, un sistema de videoconferencia puede mantener varias sesiones simultáneas,
cada una asociada a un canal lógico diferente (audio, video, chat), pero todas controladas por un único coordinador de capa 5.
7.2 Sincronización y recuperación de conexión
La sincronización permite que los participantes retomen una sesión exactamente donde se interrumpió.
Para lograrlo, la capa de sesión implementa:
- Puntos de sincronización (checkpoints): marcadores periódicos que indican hasta dónde llegó el procesamiento correcto.
Si ocurre una falla, ambos extremos pueden reanudar desde el último checkpoint en lugar de repetir toda la conversación.
- Control de diálogo: define quién habla y quién escucha en cada momento (modo half-duplex o full-duplex regulado).
Esto evita colisiones lógicas cuando múltiples hilos intentan modificar un mismo recurso.
- Recuperación: si la sesión se interrumpe por problemas de red o autenticación, se siguen procedimientos específicos
para revalidar credenciales, reconstruir búferes y notificar a la aplicación del estado de reintento.
Estos mecanismos resultan vitales en aplicaciones transaccionales o colaborativas, donde los usuarios esperan continuidad incluso después de cortes breves.
Las sesiones de escritorio remoto, por ejemplo, almacenan metadatos del contexto para reconstruir la pantalla al reconectarse.
7.3 Ejemplos: RPC y NetBIOS
La capa 5 cobra forma concreta en protocolos diseñados para coordinar servicios distribuidos:
-
RPC (Remote Procedure Call):
permite invocar funciones en un servidor remoto como si fueran locales. La capa de sesión maneja los identificadores de llamada,
los timeouts, los reintentos y la correlación de respuestas con solicitudes, asegurando que cada interacción mantenga su estado.
-
NetBIOS:
proporciona nombres lógicos, sesiones y datagramas para aplicaciones de red en sistemas Windows y DOS.
Originalmente dependía de protocolos como NBT (NetBIOS over TCP/IP) para encapsular sus mensajes, pero mantenía su propia lógica de sesión y control de diálogo.
Estos ejemplos demuestran que la capa de sesión ofrece un marco de coordinación independiente del transporte subyacente.
Ayuda a que los desarrolladores gestionen conversaciones largas, compartan contextos complejos y reactiven servicios sin reiniciar todo el flujo de datos.