Capa de Sesión
La capa de sesión permite que usuarios de diferentes máquinas establezcan sesiones entre ellos. Por medio de la sesión puede llevarse a cabo un transporte de datos ordinario, como lo hace la capa de transporte, pero mejorando el servicio que esta proporciona. Un servicio de esta capa es el de gestionar el control de diálogo. Estas sesiones permiten el tráfico en ambas direcciones al mismo tiempo, o en una sola dirección. Otro servicio es la sincronización, aquí la capa proporciona una forma para insertar puntos de verificación en el flujo de datos que están después del último punto de verificación.
La capa de sesión es la que se encarga de la administración de la red; tiene la capacidad de cancelar sesiones y controlar la terminación ordenada de una sesión, verifica la contraseña escrita por un usuario y permite que el usuario conmute la transmisión semidúplex (esperar turno) a dúplex (ambas direcciones), controla la transferencia de datos e incluso maneja la recuperación de una caída del sistema.
Función Principal
Consiste en proporcionar una manera por medio de la cual los usuarios de la capa de sesión establezcan conexiones llamadas sesiones, y transfieran datos sobre ellas en forma ordenada. Una sesión se parece a una conexión de transporte, pero no son idénticas; por lo general, cuando llega a presentarse una solicitud para que la capa de sesión establezca una sesión, se deberá establecer una conexión que se encargue de soportar la conexión. Cuando termina la sesión, se libera la conexión de transporte. Cada vez que un agente contesta una llamada, se establece una sesión con el ordenador principal. Una vez que la llamada se procesa, la sesión se da por terminada, pero lo importante aquí es que no hay necesidad de cargar con el problema de liberar la conexión de transporte subyacente, porque seguramente será necesaria otra vez en unos cuantos segundos.
Formas de Correlacionar Sesiones
- Correlación uno a uno.
- Sesiones consecutivas utilizan la misma conexión de transporte.
- Una sesión se extiende a múltiples conexiones de transporte.
Características
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 3 fases:
- Establecimiento
- Utilización
- Liberación
Diferencia entre una Sesión y una Conexión de Transporte
La diferencia radica en cómo se liberan las conexiones de sesión y transporte:
- Liberación abrupta
- Liberación ordenada
Direccionamiento
Es otra de las áreas en las que hay diferencia entre las capas de sesión y transporte, aunque solo levemente. Para establecer una sesión, uno debe especificar la dirección SSAP a la cual se va a conectar. Aunque las normas no indican la forma como las direcciones SSAP deben ser construidas, es muy probable que en la práctica la dirección de un SSAP constara de una dirección TSAP, más alguna información adicional de identificación. Otro de los motivos por los cuales el intercambio de datos de sesión difiere del intercambio de datos de transporte, es la cantidad de diferentes tipos de datos. La capa de transporte tiene dos flujos de datos que son lógicamente independientes; es decir, los datos acelerados. La capa de sesión tiene ambos tipos y además otros dos: los datos tipados y los de capacidad.
Administración del Diálogo
El hecho de mantener un seguimiento de a quién le corresponde el turno de hablar (y hacerlo cumplir) se denomina administración del diálogo. Y es uno de los servicios que puede ofrecer la capa de sesión en el momento que se le solicite. Todas las conexiones de modelo OSI son dúplex, es decir, las PDU se pueden mover en ambas direcciones sobre la misma conexión. Hay varias situaciones en las que el software de capas superiores está estructurado de tal forma que espera que los usuarios tomen su turno. El modo de operación más natural para el usuario es el de enviar una solicitud al sistema de base de datos y después esperar la respuesta. El hecho de permitir que los usuarios envíen una segunda o tercera solicitud antes de que la primera haya sido contestada, trae como consecuencia una complicación innecesaria al sistema. Lógicamente resulta deseable que el sistema funcione en modo dúplex, o bien que le toque el turno de transmitir al usuario o al sistema de base de datos. La realización de la administración del diálogo se hace mediante el empleo de un testigo de datos. En el momento en que se establece una sesión, el funcionamiento dúplex es una de las opciones elegibles. Si se selecciona el funcionamiento semidúplex, la negación inicial también determina qué extremo poseerá primeramente el testigo. Solamente el usuario que tiene el testigo puede transmitir datos, el otro deberá permanecer en silencio. Una vez que el extremo que posee el testigo haya terminado de hacer su transmisión, se la pasará a su corresponsal por medio de la primitiva S-TOKEN-GIVE.request.
Sincronización
; Este servicio pareciera innecesario porque la capa de transporte de diseño para recuperar transparentemente los errores de comunicacion,asi como fallos de las subredes.Sin emargo un estudio mas detallado demuestra que la capa de trasporte se ha diseñado para enmascarar los erroes de comunicacion.Un ejemplo de los problemas que se presentan en el proceso de trasmision de mensajes impresos de una copañia a otra.Inicialmente,el usuario se encarga de componerun mensaje usando CRT(Tubos de rayos catodicos)y el teclado.Despues la CPU llama a la compañia a la que se debe entregar el mensaje,establece una sesion y transfiere el mensaje.Si el dispositivo receptor no tiene una univdad de disco de almacenamiento,lo que viene a ser una posibilidad real en las versiones mas economicas,los mensajes que llegan deberan imprimirse en tiempo real, a medida que se recibe.Supongase que se presenta un problema con la cinta o el papel de la impresora aun cuando el operador se de cuenta rapidamente del problema, y llegue a oprimir el boton del dispositivo para detner el proceso de impresion, una parte de la informacion puede perderse . Dado que el mensaje ya se habia asentido, el emisor ya no tendra copia del mismo y por consiguiente,la transmision del mensaje fallara.El proceso de re sincronizacion,el usuario de sesion emisor.debera cintinuar reteniendo los datos durante el tiempo que sea necesario.Los usuarios de sesion pueden insertar puntos de sincronizacion en el flujo del mensaje.cada uno de estos puntos lleva un numero de serie.
ADMINISTRACION DE ACTIVIDADES:Otra caracteristica de la capa de sesion,estrechamente relacionada con la sincronizacion ,en la administracion de las actividades.La administracion de actividades permite que el usuario divida el flujo de mensajes en unidades logicas denominadas actividades.Cada actividad es completamente independientemente de cualquiera de los demas que pudieron haver venido antes o que vendran despues de ella.Depende del usuarioel determinar que es una actividad Ejemplo considerese una sesion se halla establecido con el proposito de transferir varios archivos entre dis irdebadires.Se necesita alguna forma de marcar el lugar donde termina un archivo y comienza el siguiente.
Notificacion de exceociones: Otra caracteristica de la sesion es la correspondiente a un mecanismo de proposito gral, para notificar errores inesperados.
Primitivas del servicio de sesion OSI: –Establecimiento de conexion -Liberacion de conexion -Transferencia de datos – Administracion de testigos -Sincronizacion -Administracion de actividades -Notificacion de excepciones
HuerfanosSe llama asi al servidor que se encuentra en funcionamiento,y que n o tiene ningun padre que lo este esperando.
Manera de tratarlos: –Exterminacion -Expiracion -Reencarnacion
Ejemplos de la capa de sesion -capa de sesion en redes publicas:Dependede las aplicaciones individuales el manejo de sus sesiones,siempre que sea necesario.
capa de sesion en ARPANET:El establecimiento de sesion,la transferencia de datos y la liberacion de sesion estan totalmente soportados para el modo duplex;mientras que el modo semiduplex,no esta soportado.El srvicio de sincronizacion,la administracion de actividades,la notificacion de excepciones,los datos tipados y el servicio de datos de apacidad no son requeridos.Los protocolos de sesion MAP Y TOP son de subconjuntos de los protocolos completos de sesion del modelo OSI.Aquellas SPDU necesarias para realizar el subconjunto MAP y TOP deberan ser realizadas.Las demas son opcionales.
La capa de sesion en USENET:Al igual que en ARPANET.USENET no cuenta con una capa de sesion.A diferencia de ARPANET,no es ni siquiera posible, para las capas superiores,realizar por si mismas los servicios de sesion.Ninguno de los servicios de sesion se necesita en absoluto.
LA CAPA DA TRANSPORTE DEL MODELO OSI
Concepto: La capa de transporte es la encargada de controlar el flujo de datos entre los nodos que establecen una comunicación; los datos no solo se deben entregarse sin errores, sino además en la secuencia que proceda. La capa de transporte se ocupa también de evaluar el tamaño de los paquetes con el fin de estos tengan el tamaño requerido por las capas inferiores del conjunto de protocolos. El tamaño de los paquetes lo dicta la arquitectura de red que se utilice.
Otras caracteristicas:Acepta datos de la capa sesión, los divide en unidades más pequeñas si es necesario, los pasa a la capa de red y asegura que todos los pedazos lleguen correctamente al otro extremo. Esta capa debe ser lo suficientemente versátil, como para aislar a las capas superiores de los cambios tecnológicos
Objetivos de aprendizaje:
– Identificar la función de la capa de Transporte a medida que provee la transferencia de datos de extremo a extremo entre las aplicaciones.
-Describir las funciones de dos protocolos TCP/IP de la capa de transporte: TCP y UDP.
-Explicar las funciones clave de la capa de Transporte incluyendo confiabilidad, direccionamiento de puerto y segmentación.
– Identificar cuándo es apropiado usar TCP o UDP y proveer ejemplos de aplicaciones que usan cada protocolo.
Control de las conversaciones: son:Segmentación y reensamblaje: La mayoría de las redes poseen una limitación en cuanto a la cantidad de datos que Pueden incluirse en una única PDU (Unidad de datos del protocolo). La capa de Transporte divide los datos de aplicación En bloques de datos de un tamaño adecuado. En el destino, la capa de Transporte reensambla los datos antes de enviarlos a la aplicación o servicio de destino. Multiplexación_de_conversaciones: Pueden existir varias aplicaciones o servicios ejecutándose en cada host de la red. A Cada una de estas aplicaciones o servicios se les asigna una dirección conocida como puerto para que la capa de Transporte pueda determinar con q ué aplicación o servicio se identifican los datos. Además de utilizar la información contenida en los encabezados para las funciones básicas de segmentación y Reensamblaje de datos, algunos protocolos de la capa de Transporte proveen: -conversaciones orientadas a la conexión, – entrega confiable, -reconstrucción ordenada de datos, y -control del flujo.
Protocolos: TCP y UDP Los dos protocolos más comunes de la capa de Transporte del conjunto de protocolos TCP/IP son el Protocolo de control De transmisión (TCP) y el Protocolos de datagramas de usuario (UDP). Ambos protocolos gestionan la comunicación de múltiples aplicaciones. Las diferencias entre ellos son las funciones específicas que cada uno implementa. Protocolo de datagramas de usuario (UDP)UDP es un protocolo simple, sin conexión, descrito en la RFC 768 Cuenta con la ventaja de proveer la entrega de datos Sin utilizar muchos recursos. Las porciones de comunicación en UDP se llaman datagramas. Este protocolo de la capa de Transporte envía estos datagramas como “mejor intento”.Entre las aplicaciones que utilizan UDP se incluyen: sistema de nombres de dominios (DNS),streaming de vídeo, y Voz sobre IP (VoIP).
Protocolo de control de transmisión (TCP) TCP es un protocolo orientado a la conexión,descrito en la RFC 793. TCP incurre en el uso adicional de recursos para Agregar funciones. Las funciones adicionales especificadas por TCP están en el mismo orden de entrega, son de entrega Confiable y de control de flujo.Cada segmento de TCP posee 20bytes de carga en el encabezado, que encapsulan los Datos de la capa de Aplicación,mientras que cada_ egmento UDP sólo posee 8 bytes de carga.
Direccionamiento del puerto Identificación de las conversaciones Considere el ejemplo anterior de una computadora que recibe y envía emails, mensajes instantáneos, páginas Web y Llamadas telefónicas VoIP de manera simultánea. Los servicios basados en TCP y UDP mantienen un seguimiento de las varias aplicaciones que se comunican. Para Diferenciar los segmentos y datagramas para cada aplicación, tanto TCP como UDP cuentan con campos de encabezado Que pueden identificar de manera exclusiva estas aplicaciones. Estos identificadores únicos son los números de los puertos. En el encabezado de cada segmento o datagrama hay un puerto de origen y destino. El número de puerto de origen es el número para esta comunicación asociado con la aplicación que origina la comunicación en el host local. El número de puerto de destino es el número para esta comunicación asociado con la aplicación de destino en el host remoto. Los números de puerto se asignan de varias maneras, en función de si el mensaje es una solicitud o una respuesta. Mientras que los procesos en el servidor poseen números de puertos estáticos asignados a ellos, los clientes eligen un Número de puerto de forma dinámica para cada conversación. Cuando una aplicación de cliente envía una solicitud a una aplicación de servidor, el puerto de destino contenido en el encabezado es el número de puerto que se asigna al daemon de servicio que se ejecuta en el host remoto. El software Del cliente debe conocer el número de puerto asociado con el proceso del servidor en el host remoto. Este número dePuerto de destino se puede configurar, ya sea de forma predeterminada o manual. Por ejemplo, cuando una aplicación De explorador Web realiza una solicitud a un servidor Web, el explorador utiliza TCP y el número de puerto 80 a menos Que se especifique otro valor. Esto sucede porque el puerto TCP 80 es el puerto predeterminado asignado a aplicaciones De servidores Web. Muchas aplicaciones comunes tienen asignados puertos predeterminados. El puerto de origen del encabezado de un segmento o datagrama de un cliente se genera de manera aleatoria. Siempre y cuando no entre en conflicto con otros puertos en uso en el sistema, el cliente puede elegir cualquier número de puerto. El número de puerto actúa como dirección de retorno para la aplicación que realiza la solicitud. La capa de Transporte mantiene un seguimiento de este puerto y de la aplicación que generó la solicitud, de manera que cuando se devuelva una respuesta, pueda ser enviada a la aplicación correcta. El número de puerto de la aplicación que realiza la solicitud se utiliza como número de puerto de destino en la respuesta que vuelve del servidor.La combinación del número de puerto de la capa de Transporte y de la dirección IP de la capa de Red asignada al host Identifica de manera exclusiva un proceso en particular que se ejecuta en un dispositivo host específico. Esta combinación se denomina socket. Eventualmente, los términos número de puerto y socket se utilizan en forma indistinta. En el contexto de este curso, el término socket hace referencia sólo a la combinación exclusiva de dirección IP.Y número de puerto. Un par de sockets ,que consiste en las direcciones IP y los números de puerto de origen y de destino, también es exclusivo e identifica la conversación entre dos hosts
ADMINISTRADOR DE SESIONES TCP Cuando los servicios envían datos utilizando TCP, los segmentos pueden llegar a destinos desordenados. Para que el receptor comprenda el mensaje original, los datos en estos segmentos se reensamblan en el orden original. Para lograr esto, se asignan números de secuencia en el encabezado de cada paquete.
PROTOCOLO TCP: COMUNICACIÓN CON CONFIABILIDAD 1TCP:Cómo generar conversaciones confiables La diferencia clave entre TCP y UDP es la confiabilidad La confiabilidad de la comunicación TCP se lleva a cabo utilizando sesiones orientadas a la conexión. Antes de que un Host que utiliza TCP envíe datos a otro host, la capa de Transporte inicia un proceso para crear una conexión con el destino. Esta conexión permite el rastreo de una sesión o stream de comunicación entre los hosts. Este proceso asegura Que cada host tenga conocimiento de la comunicación y se prepare. Una conversación TCP completa requiere el Establecimiento de una sesión entre los hosts en ambas direcciones. Luego de establecida la sesión, el destino envía acuses de recibo al origen por los segmentos que recibe. Estos acuses de Recibo forman la base de la confiabilidad dentro de la sesión TCP. Cuando el origen recibe un acuse de recibo, reconoce Que los datos se han entregado con éxito y puede dejar de rastrearlos. Si el origen no recibe el acuse de recibo dentro de Un tiempo predeterminado, retransmite esos datos al destino. Parte de la carga adicional que genera el uso de TCP es el tráfico de red generado por los acuses de recibo y las retransmisiones. El establecimiento de las sesiones genera cargas en forma de segmentos adicionales intercambiados.También existen cargas adicionales en los hosts individuales, generadas por la necesidad de mantener un seguimiento De los segmentos que esperan acuse de recibo y_por el proceso de retransmisión. Esta confiabilidad se logra contando con campos en el segmento TCP,cada uno con una función específica.
Procesos del servidor TCP Como se explicó en el capítulo anterior,_ Los procesos de aplicación se ejecutan en servidores. Estos procesos esperan Hasta que un cliente inicie comunicación con una solicitud de información o de otros servicios. Cada proceso de aplicación que se ejecuta en el servidor es configurado por el administrador del sistema para utilizar un Número de puerto, de forma predeterminada o manual. Un servidor individual no puede tener dos servicios asignados Al mismo número de puerto dentro de los mismos servicios de la capa de Transporte. Un host que ejecuta una Aplicación de servidor Web y una de transferencia de archivos no puede configurar ambas para utilizar el mismo puerto (por ejemplo, el puerto TCP 8.080).Cuando una aplicación de servidor activa se asigna a un puerto específico, este Puerto se considera “abierto” para el servidor. Esto significa que la capa de Transporte acepta y procesa segmentos Direccionados a ese puerto. Toda solicitud entrante de un cliente direccionada al socket correcto es aceptada y los dato se envían a la aplicación del servidor. Pueden existir varios puertos simultáneos abiertos en un servidor, uno para cada Aplicación de servidor activa. Es común que un servidor provea más de un servicio, como un servidor Web y un servidor FTP, al mismo tiempo. Una manera de mejorar la seguridad en un servidor es restringir el acceso al servidor a sólo aquellos puertos asociados Con los servicios y aplicaciones accesibles a solicitantes autorizados
PROTOCOLO UDP: COMUNICACIÓN CON BAJA SOBRECARGA UDP es un protocolo simple que provee las funciones básicas de la capa de Transporte. Genera mucho menos sobrecarga que TCP, ya que no es orientado a la conexión y no cuenta con los sofisticados mecanismos de retransmisión, secuenciación y control del flujo. Esto no significa que las aplicaciones que utilizan UDP no sean confiables. Sólo quiere decir que estas funciones no son contempladas por el protocolo de la capa de Transporte y deben implementarse aparte, si fuera necesario.