Funciones Clave de la Capa de Sesión en Redes Informáticas

Nivel de Sesión: Servicios Ofrecidos

1.2.1. Intercambio de Datos

La característica más importante de la capa de sesión es el intercambio de datos. Una sesión, al igual que una conexión de transporte, sigue un proceso de tres fases: establecimiento, utilización y liberación. Las primitivas que se proporcionan a la capa de presentación para el establecimiento, utilización y liberación de sesiones son muy parecidas a las proporcionadas a la capa de sesión para el establecimiento, uso y liberación de conexiones de transporte. En muchos casos, la entidad de sesión, al ser invocada una primitiva por el usuario de sesión, simplemente invoca la primitiva de transporte correspondiente. A pesar de estas similitudes, existen diferencias importantes entre el intercambio de datos de sesión y el de transporte. La más relevante es la forma de liberar sesiones y conexiones. Las conexiones de transporte se terminan con la primitiva T-DISCONNECT.request, que produce una liberación abrupta y puede resultar en la pérdida de datos en tránsito. Las sesiones se terminan con la primitiva S-RELEASE.request, que resulta en una liberación ordenada sin pérdida de datos.

Otra diferencia radica en la cantidad de datos. La capa de transporte tiene dos flujos de datos lógicamente independientes: datos normales y datos acelerados. La capa de sesión, además de estos, tiene datos tipados y de capacidad.

1.2.2. Administración del Diálogo

En principio, todas las conexiones del modelo OSI son dúplex, es decir, las unidades de datos del protocolo (PDU) pueden moverse en ambas direcciones simultáneamente sobre la misma conexión. Sin embargo, puede haber situaciones donde el software de capas superiores espera que los usuarios tomen turnos, convirtiendo la comunicación en semidúplex. La administración del diálogo es un servicio de la capa de sesión que mantiene un seguimiento de a quién le corresponde el turno de hablar y lo hace cumplir. Al iniciar una sesión, se selecciona el modo de funcionamiento (dúplex o semidúplex), y la negociación inicial determina quién tendrá primero el testigo de datos. Solo el usuario con el testigo puede transmitir, mientras el otro permanece en silencio. Al terminar, pasa el testigo a su interlocutor.

1.2.3. Sincronización

La sincronización es otro servicio de la capa de sesión, utilizado para llevar las entidades de sesión a un estado conocido en caso de error o desacuerdo. Aunque la capa de transporte se ha diseñado para recuperarse de errores de comunicación y fallos de subredes, no puede recuperarse de errores en capas superiores. La solución recae en la capa de sesión. Los usuarios de sesión pueden dividir el texto en páginas e insertar puntos de sincronización entre ellas. En caso de problema, se restablece el estado de la sesión a un punto de sincronización previo y se continúa desde ahí. Este proceso, llamado resincronización, requiere que el usuario emisor retenga los datos el tiempo necesario. Existen dos tipos de puntos de sincronización: mayores y menores, cada uno con sus propias primitivas. Las unidades delimitadas por puntos de sincronización mayores se llaman unidades de diálogo y representan partes de trabajo lógicamente significativas. Por ejemplo, en la transmisión de un libro, los capítulos podrían estar delimitados por puntos de sincronización mayores.

1.2.4. Administración de Actividades

La administración de actividades, relacionada con la sincronización, permite al usuario dividir el flujo de mensajes en unidades lógicas llamadas actividades. Cada actividad es independiente de las anteriores o posteriores. La elección de qué constituye una actividad la realizan los usuarios, no la capa de sesión. La capa de sesión asegura que cuando un usuario hace una solicitud mediante la primitiva S-ACTIVITY, el otro usuario obtiene la indicación correspondiente. La capa de sesión solo se interesa en la ejecución de las primitivas, no en su significado o uso.

Las actividades están estrechamente relacionadas con los puntos de sincronización. Al iniciar una actividad, los números de serie de los puntos de sincronización vuelven a 1 y se inserta un punto de sincronización mayor. Dentro de una actividad, es posible establecer puntos de sincronización adicionales, mayores o menores. Dado que el inicio de una actividad también corresponde a un punto de sincronización mayor, una vez iniciada, no es posible resincronizar a un punto anterior a su inicio.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.