Capa SesiónJonathan Yomaro VásquezLuis Fernando CamachoJhon Adrián Cerón
Descripción GeneralEs la duración de una conexión entre un usuario (el agente) y un servidor, generalmente involucrando el intercambio de múltiples paquetes de datos entre la computadora del usuario y el servidor.En los casos de los protocolos de transporte en donde no se implementa una capa de sesión formal (por ejemplo, UDP), o en donde las sesiones en la capa de sesión son generalmente de una vida corta (por ejemplo, HTTP), las sesiones pueden ser mantenidas por un programa de más alto nivel, usando algún método. Por ejemplo, un intercambio HTTP entre un navegador y un servidor remoto, puede incluir una cookie, que permite mantener una "sesión", con su identificador propio, datos del usuario, sus preferencias, etc.
ServicioEsta capa proporciona sus servicios a la capa de presentación, facilitando el medio necesario para que las entidades de presentación de dos máquinas diferentes organicen y sincronicen su diálogo y procedan al intercambio de datos, mediante el establecimiento de sesiones.
PrimitivasDe petición o solicitud (REQUEST). Empleada para invocar un servicio y pasarle los parámetros necesarios para su ejecución.De indicación (INDICATION). Usada para indicar que un procedimiento ha sido invocado por el usuario par del servicio en la conexión y pasar los parámetros asociados o para indicar al usuario del servicio el inicio de una acción por parte del proveedor.De respuesta (RESPONSE). Empleada por el usuario del servicio para reconocer o completar algún procedimiento previamente iniciado por una indicación del proveedor.De confirmación (CONFIRM). Usada por el proveedor del servicio para reconocer o completar algún procedimiento previamente iniciado por una petición del usuario.
Tipos de ServicioSERVICIO ORIENTADO A LA CONEXIÓN FASE DE ESTABLECIMIENTO DE LA SESIÓN O CONEXIÓN TRANSFERENCIA DE DATOSGESTIÓN DE TOKENS o TESTIGOSSINCRONIZACIÓN Y RESINCRONIZACIÓNCOMUNICACIÓN DE EXCEPCIONESGESTION DE ACTIVIDADCIERRE DE UNA SESIÓN  O LIBERACIÓN DE LA CONEXIÓNSERVICIO NO ORIENTADO A LA CONEXIÓN TRANSFERENCIA DE DATOS
Servicio Orientado a la Conexión
Fase de Establecimiento de la Sesión o ConexiónS-CONNECT.request ()S-CONNECT.indication() S-CONNECT.response ()S-CONNECT.confirm ()
Transferencia de DatosEl nivel de sesión ofrece hasta 4 canales de datos simultáneos de intercambio de datos (2 en transporte), según la negociación de la sesión.Servicios de esos canalesNo ConfirmadosS-DATAS-EXPEDITED-DATAS-TYPED-DATAConfirmadosS-CAPABILITY-DATACanal urgente (Datos urgentes): Este servicio permiteacceder a este canal, si se negoció. Sin tokens:S-EXPEDITED-DATA.request(datos)
S-EXPEDITED-DATA.indication(datos)Límite de datos: 14 bytesCanal datos fuera de banda (Typed data): Este servicio permite que las capas superiores intercambien inf. de control. Sin tokens:S-TYPED-DATA.request(datos)
S-TYPED-DATA.indication(datos)No hay límite de datosCanal de datos (Datos normales): Este servicio sólopodrá ser usado por el usuario quetiene el token de datos: S-DATA.request(datos)
S-DATA.indication(datos)No hay límite de cantidad de datos que pueda enviar.Canal de actividad: S-CAPABILITY-DATA.request(datos usuarios)
S-CAPABILITY-DATA.indication(datos usuarios)
S-CAPABILITY-DATA.response(datos usuarios)
S-CAPABILITY-DATA.confirm(datos usuarios)
Gestión de TokensCuando se abre una sesión se debe negociar:La disponibilidad de los token (token a usar)La asignación inicial de los token disponiblesSe dispone de tres servicios para que los usuarios puedan intercambiar los tokens disponibles para establecer un sistema de turnos. Para entregar los tokens al otro usuario:S-TOKEN-GIVE.request(tokens)S-TOKEN-GIVE.indication(tokens)Para solicitar alguno de los tokens:S-TOKEN-PLEASE.request(tokens, datos)S-TOKEN-PLEASE.indication(tokens, datos)En datos se especifica la importancia o prioridad de la petición, no es analizado por sesión sino por el usuario. El usuario entregará el token con S-TOKEN-GIVE.request.
Cesión de todos los tokens disponibles:S-CONTROL-GIVE.request()S-CONTROL-GIVE.indication()
Sincronización y ResincronizaciónEste grupo de servicios permite, si es necesario, abandonar la conversación y retomarla en un punto anterior conocido, por ejemplo, por un error.Puntos sincronización mayor: sólo puede ser iniciado por el que tiene el token de sincronización mayor (servicio confirmado):S-SYNC-MAJOR.request(número_serie, datos)S-SYNC-MAJOR.indication(número_serie, datos)S-SYNC-MAJOR.response(datos)S-SYNC-MAJOR.confirm(datos)número_serie: opcional es el próximo nro. de serie a usar, si no se sigue la secuencia.Puntos de sincronización menor: sólo puede ser iniciado por el que tiene el token de sincronización menor (servicio no confirmado habitual o servicio confirmado):S-SYNC-MINOR.request (tipo, número_serie, datos)S-SYNC-MINOR.indication (tipo, número_serie, datos)S-SYNC-MINOR.response (número_serie, datos)S-SYNC-MINOR.confirm (número_serie, datos)tipo: si desea si que el punto de control sea confirmado o no
ResincronizaciónPara regresar a un punto marcado por un punto de sincronismo. Se debe especificar en forma no ambigua:El siguiente número de secuencia que se va a utilizarLa situación de los tokens disponibles (quién tiene cada token)Es un servicio confirmado:S-RESYNC.request(tipo, número_serie, tokens, datos)S-RESYNC.indication(tipo, número_serie, tokens, datos)S-RESYNC.response(número_serie, tokens, datos)S-RESYNC.confirm(número_serie, tokens, datos)Tipo puede ser:Abandon: se abandona la unidad de dialogo, el siguiente es el nuevo Nº de secuencia.Restart: se vuelve atrás al último punto de control mayor.Set: se establece un nuevo valor para los Nº de secuencia.
COMUNICACIÓN DE EXCEPCIONESPara comunicación de situaciones excepcionales (normalmente errores) entre usuarios y el proveedor del servicio:Iniciados por el usuario:S-U-EXCEPTION-REPORT.request()
S-U-EXCEPTION-REPORT.indication()Iniciado por el proveedor:S-P-EXCEPTION-REPORT.indication ()GESTIÓN DE ACTIVIDADUna actividad es una unidad lógica de trabajo y consiste de una o más unidades de diálogo. Es una forma de estructurar el intercambio de datos.Inicio de actividades: Servicio no confirmado:	S-ACTIVITY-START.request()
S-ACTIVITY-START.indication()Fin de actividades: Servicio confirmado:S-ACTIVITY-END.request()
S-ACTIVITY-END.indication()
S-ACTIVITY-END.response()
S-ACTIVITY-END.confirm()Interrumpir una actividad Servicio confirmado:S-ACTIVITY-INTERRUPT. Request ()
S-ACTIVITY-INTERRUPT. Indication ()
S-ACTIVITY-INTERRUPT. response ()
S-ACTIVITY-INTERRUPT. confirm ()Reanudar una actividad (Servicio no confirmado):S-ACTIVITY-RESUME.request()
S-ACTIVITY-RESUME.indication()Cancelar una actividad (Servicio confirmado):S-ACTIVITY-DISCARD. Request ()
S-ACTIVITY-DISCARD. Indication ()
S-ACTIVITY-DISCARD. response ()
S-ACTIVITY-DISCARD. confirm ()
CIERRE DE UNA SESIÓN  O LIBERACIÓN DE LA CONEXIÓNServicio confirmado con liberación ordenada de la sesión:S-RELEASE.request()
S-RELEASE.indication()
S-RELEASE.response()
S-RELEASE.confirm()Servicio no confirmado de liberación abrupta de la sesión:S-U-ABORT.request()
S-U-ABORT.indication()Servicio No Orientado a la Conexión

Capa sesi..

  • 1.
    Capa SesiónJonathan YomaroVásquezLuis Fernando CamachoJhon Adrián Cerón
  • 2.
    Descripción GeneralEs laduración de una conexión entre un usuario (el agente) y un servidor, generalmente involucrando el intercambio de múltiples paquetes de datos entre la computadora del usuario y el servidor.En los casos de los protocolos de transporte en donde no se implementa una capa de sesión formal (por ejemplo, UDP), o en donde las sesiones en la capa de sesión son generalmente de una vida corta (por ejemplo, HTTP), las sesiones pueden ser mantenidas por un programa de más alto nivel, usando algún método. Por ejemplo, un intercambio HTTP entre un navegador y un servidor remoto, puede incluir una cookie, que permite mantener una "sesión", con su identificador propio, datos del usuario, sus preferencias, etc.
  • 3.
    ServicioEsta capa proporcionasus servicios a la capa de presentación, facilitando el medio necesario para que las entidades de presentación de dos máquinas diferentes organicen y sincronicen su diálogo y procedan al intercambio de datos, mediante el establecimiento de sesiones.
  • 4.
    PrimitivasDe petición osolicitud (REQUEST). Empleada para invocar un servicio y pasarle los parámetros necesarios para su ejecución.De indicación (INDICATION). Usada para indicar que un procedimiento ha sido invocado por el usuario par del servicio en la conexión y pasar los parámetros asociados o para indicar al usuario del servicio el inicio de una acción por parte del proveedor.De respuesta (RESPONSE). Empleada por el usuario del servicio para reconocer o completar algún procedimiento previamente iniciado por una indicación del proveedor.De confirmación (CONFIRM). Usada por el proveedor del servicio para reconocer o completar algún procedimiento previamente iniciado por una petición del usuario.
  • 6.
    Tipos de ServicioSERVICIOORIENTADO A LA CONEXIÓN FASE DE ESTABLECIMIENTO DE LA SESIÓN O CONEXIÓN TRANSFERENCIA DE DATOSGESTIÓN DE TOKENS o TESTIGOSSINCRONIZACIÓN Y RESINCRONIZACIÓNCOMUNICACIÓN DE EXCEPCIONESGESTION DE ACTIVIDADCIERRE DE UNA SESIÓN O LIBERACIÓN DE LA CONEXIÓNSERVICIO NO ORIENTADO A LA CONEXIÓN TRANSFERENCIA DE DATOS
  • 7.
  • 8.
    Fase de Establecimientode la Sesión o ConexiónS-CONNECT.request ()S-CONNECT.indication() S-CONNECT.response ()S-CONNECT.confirm ()
  • 9.
    Transferencia de DatosElnivel de sesión ofrece hasta 4 canales de datos simultáneos de intercambio de datos (2 en transporte), según la negociación de la sesión.Servicios de esos canalesNo ConfirmadosS-DATAS-EXPEDITED-DATAS-TYPED-DATAConfirmadosS-CAPABILITY-DATACanal urgente (Datos urgentes): Este servicio permiteacceder a este canal, si se negoció. Sin tokens:S-EXPEDITED-DATA.request(datos)
  • 10.
    S-EXPEDITED-DATA.indication(datos)Límite de datos:14 bytesCanal datos fuera de banda (Typed data): Este servicio permite que las capas superiores intercambien inf. de control. Sin tokens:S-TYPED-DATA.request(datos)
  • 11.
    S-TYPED-DATA.indication(datos)No hay límitede datosCanal de datos (Datos normales): Este servicio sólopodrá ser usado por el usuario quetiene el token de datos: S-DATA.request(datos)
  • 12.
    S-DATA.indication(datos)No hay límitede cantidad de datos que pueda enviar.Canal de actividad: S-CAPABILITY-DATA.request(datos usuarios)
  • 13.
  • 14.
  • 15.
  • 16.
    Gestión de TokensCuandose abre una sesión se debe negociar:La disponibilidad de los token (token a usar)La asignación inicial de los token disponiblesSe dispone de tres servicios para que los usuarios puedan intercambiar los tokens disponibles para establecer un sistema de turnos. Para entregar los tokens al otro usuario:S-TOKEN-GIVE.request(tokens)S-TOKEN-GIVE.indication(tokens)Para solicitar alguno de los tokens:S-TOKEN-PLEASE.request(tokens, datos)S-TOKEN-PLEASE.indication(tokens, datos)En datos se especifica la importancia o prioridad de la petición, no es analizado por sesión sino por el usuario. El usuario entregará el token con S-TOKEN-GIVE.request.
  • 17.
    Cesión de todoslos tokens disponibles:S-CONTROL-GIVE.request()S-CONTROL-GIVE.indication()
  • 18.
    Sincronización y ResincronizaciónEstegrupo de servicios permite, si es necesario, abandonar la conversación y retomarla en un punto anterior conocido, por ejemplo, por un error.Puntos sincronización mayor: sólo puede ser iniciado por el que tiene el token de sincronización mayor (servicio confirmado):S-SYNC-MAJOR.request(número_serie, datos)S-SYNC-MAJOR.indication(número_serie, datos)S-SYNC-MAJOR.response(datos)S-SYNC-MAJOR.confirm(datos)número_serie: opcional es el próximo nro. de serie a usar, si no se sigue la secuencia.Puntos de sincronización menor: sólo puede ser iniciado por el que tiene el token de sincronización menor (servicio no confirmado habitual o servicio confirmado):S-SYNC-MINOR.request (tipo, número_serie, datos)S-SYNC-MINOR.indication (tipo, número_serie, datos)S-SYNC-MINOR.response (número_serie, datos)S-SYNC-MINOR.confirm (número_serie, datos)tipo: si desea si que el punto de control sea confirmado o no
  • 19.
    ResincronizaciónPara regresar aun punto marcado por un punto de sincronismo. Se debe especificar en forma no ambigua:El siguiente número de secuencia que se va a utilizarLa situación de los tokens disponibles (quién tiene cada token)Es un servicio confirmado:S-RESYNC.request(tipo, número_serie, tokens, datos)S-RESYNC.indication(tipo, número_serie, tokens, datos)S-RESYNC.response(número_serie, tokens, datos)S-RESYNC.confirm(número_serie, tokens, datos)Tipo puede ser:Abandon: se abandona la unidad de dialogo, el siguiente es el nuevo Nº de secuencia.Restart: se vuelve atrás al último punto de control mayor.Set: se establece un nuevo valor para los Nº de secuencia.
  • 20.
    COMUNICACIÓN DE EXCEPCIONESParacomunicación de situaciones excepcionales (normalmente errores) entre usuarios y el proveedor del servicio:Iniciados por el usuario:S-U-EXCEPTION-REPORT.request()
  • 21.
    S-U-EXCEPTION-REPORT.indication()Iniciado por elproveedor:S-P-EXCEPTION-REPORT.indication ()GESTIÓN DE ACTIVIDADUna actividad es una unidad lógica de trabajo y consiste de una o más unidades de diálogo. Es una forma de estructurar el intercambio de datos.Inicio de actividades: Servicio no confirmado: S-ACTIVITY-START.request()
  • 22.
    S-ACTIVITY-START.indication()Fin de actividades:Servicio confirmado:S-ACTIVITY-END.request()
  • 23.
  • 24.
  • 25.
    S-ACTIVITY-END.confirm()Interrumpir una actividadServicio confirmado:S-ACTIVITY-INTERRUPT. Request ()
  • 26.
  • 27.
  • 28.
    S-ACTIVITY-INTERRUPT. confirm ()Reanudaruna actividad (Servicio no confirmado):S-ACTIVITY-RESUME.request()
  • 29.
    S-ACTIVITY-RESUME.indication()Cancelar una actividad(Servicio confirmado):S-ACTIVITY-DISCARD. Request ()
  • 30.
  • 31.
  • 32.
  • 33.
    CIERRE DE UNASESIÓN O LIBERACIÓN DE LA CONEXIÓNServicio confirmado con liberación ordenada de la sesión:S-RELEASE.request()
  • 34.
  • 35.
  • 36.
    S-RELEASE.confirm()Servicio no confirmadode liberación abrupta de la sesión:S-U-ABORT.request()
  • 37.