FUNDAMENTOS DE REDES CONCEPTOS DE LAS CAPAS SUPERIORES Dolly Gómez Santacruz dollygos@univalle.edu.co CAPA DE SESION Conceptos ● El propósito principal de la capa de sesión en la pila OSI es minimizar los efectos de los fallos en la red durante una transacción de aplicación. En muchas aplicaciones, una transacción puede ocupar un tiempo considerable y requerir la transferencia de una gran cantidad de datos. ● Después de que los paquetes de datos provenientes de las cuatro capas inferiores se transportan a través de la capa de transporte, son transformados en sesiones por el protocolo de capa 5 o capa de sesión del modelo OSI Conceptos La capa de sesión establece, administra y termina las sesiones entre las aplicaciones (establecer un camino de comunicación lógico), lo utiliza para intercambiar datos (unidades de diálogo) y liberar la conexión de una forma ordenada. Establecer puntos de sincronización durante un diálogo y, en caso de ocurrir errores, reanudar el diálogo a partir de un punto de sincronización convenido Interrumpir (suspender) un diálogo y reanudarlo después en un punto convenido de antemano. Mantener informada de ciertas excepciones que pueden surgir de la red subyacente durante una sesión. La capa de sesión coordina las aplicaciones mientras interactúan en dos hosts que se comunican entre sí. CAPA DE PRESENTACIÓN Conceptos Esta capa es generalmente un protocolo de transferencia de la información desde capas adyacentes. Permite la comunicación entre aplicaciones en diversos sistemas informáticos de tal forma que sean transparentes para las aplicaciones. La capa de presentación se ocupa del formato y de la representación de datos. De ser necesario, esta capa puede servir de intermediario entre distintos formatos de datos. Conceptos Cumple tres funciones principales: ● Formateo de datos (presentación) ● Cifrado de datos ● Compresión de datos Después de recibir los datos de la capa de aplicación, la capa de presentación ejecuta una de sus funciones, o todas ellas, con los datos antes de mandarlos a la capa de sesión. En la estación receptora, la capa de presentación toma los datos de la capa de sesión y ejecuta las funciones requeridas antes de pasarlos a la capa de aplicación Conceptos El trabajo de la capa de presentación consiste precisamente en codificar los datos estructurados del formato interno utilizado en la máquina transmisora, a un flujo de bits adecuado para la transmisión y, después, decodificarlos para representarlos en el formato del extremo destinatario. Determina la presentación de texto, las imágenes gráficas, sonidos y películas: Por ejemplo: Código ampliado de caracteres decimal codificados en binario (EBCDIC), Código americano normalizado para el intercambio de la información (ASCII), binarios, TIFF, JpeG,Midi, Mpeg, QuickTime. Conceptos La capa 6 también es responsable por el cifrado de datos: proteje la información durante la transmisión. Conceptos La capa 6 también es responsable por la compresión de datos: algoritmos para reducir el tamaño de los archivos, ejemplo: buscar patrones de bits repetidos en el archivo y entonces los reemplaza con un token. CAPA DE APLICACIÓN ● La capa de aplicación permite a los host intercambiar información (estructuras de datos) en su propia sintaxis local. Los programas de usuario (procesadores de texto, email, bases de datos, etc.) requieren servicios de transferencia de información especializados. ● La capa de aplicación es la capa más cercana al usuario final: es la que funciona cuando interactúa con aplicaciones de software como, por ejemplo, enviar y recibir correo electrónico a través de una red. Conceptos Proveer servicios al usuario n Correo electrónico n Navegación web n Transferencia de archivos n Terminal virtual n audio/video n Peer to peer n etc., etc., ... Se necesitan protocolos y servicios de apoyo a las aplicaciones n n n Servicio de nombres (DNS) Seguridad (Criptografía/Autenticación) Administración de redes Conceptos Las aplicaciones usan UDP o TCP como mecanismo de transporte. UDP no es fiable ni ofrece control de flujo, por lo que en este caso la aplicación ha de proporcionar sus propia rutinas de recuperación de errores y de control de flujo. La mayoría de los protocolos de aplicación utilizan TCP, pero algunas aplicaciones se construyen sobre UDP para proporcionar un mejor rendimiento reduciendo la carga del sistema que genera el protocolo. CAPA DE APLICACIÓN Funciones La capa de aplicación soporta el componente de comunicación de una aplicación ●Es ● ● ● ● responsable de: Identificar y establecer la disponibilidad de los socios de la comunicación deseada Sincronizar las aplicaciones cooperantes Establecer acuerdos con respecto a los procedimientos para la recuperación de errores Controlar la integridad de los datos Modelo cliente - servidor (Aplicaciones directas) ● La mayoría de las aplicaciones que operan en un entorno de red emplean este modelo. ● El lado del cliente se encuentra ubicado en el computador local y es el que solicita los servicios. El lado del servidor se encuentra ubicado en un computador remoto y brinda servicios en respuesta al pedido del cliente. Una aplicación consta de una parte de servidor y una de cliente, que se pueden ejecutar en el mismo o en diferentes sistemas. Ej. FTP, los navegadores Web y el correo electrónico Modelo cliente - servidor ● Una aplicación cliente/servidor funciona mediante la repetición constante de la rutina cíclica: petición del cliente, respuesta del servidor; petición del cliente, respuesta del servidor; etc. ● Los usuarios invocan la parte cliente de la aplicación, que construye una solicitud para ese servicio y se la envía al servidor de la aplicación que usa TCP/IP como transporte. ● El servidor es un programa que recibe una solicitud, realiza el servicio requerido y devuelve los resultados en forma de una respuesta. Generalmente un servidor puede tratar múltiples peticiones al mismo tiempo. Modelo cliente - servidor Aplicaciones Indirectas CAPA DE APLICACIÓN Conexión y desconexión Dos maneras para realizar el proceso de comunicación: a)Algunas aplicaciones mantienen la conexión con el servidor sólo durante el tiempo suficiente como para procesar la transacción: ● Por ejemplo http, la conexión se mantiene lo suficiente como para descargar la página Web actual ● Una vez que se ha completado el procesamiento, la conexión se interrumpe y se debe reestablecer para que la siguiente petición de procesamiento se pueda llevar a cabo CAPA DE APLICACIÓN Conexión y desconexión b)El computador cliente finaliza la conexión cuando el usuario determina que ha finalizado. ● Ejemplos de ello son Telnet y FTP, que establecen una conexión con el servidor y mantienen esa conexión hasta que se haya ejecutado todo el proceso y la aplicación ordena cerrar la conexión. Aplicaciones de Internet ● Las aplicaciones de red se seleccionan tomando como base el tipo de trabajo que necesita realizar. ● Cada tipo de programa de aplicación se asocia con su propio protocolo de aplicación. ● Algunos tipos de programas y protocolos disponibles son: La World Wide Web usa el protocolo HTTP. ● Los correos electrónicos se envían usando el procotolo SMTP. ● Aplicaciones de Internet ● Los programas de correo electrónico soportan los protocolos de capa de aplicación POP3 o IMAP para la lectura de los mensajes. ● Los programas de transferencia de archivos utilizan el protocolo FTP para copiar y trasladar archivos entre sitios remotos. ● La recopilación y monitoreo de datos de los equipos de red utiliza el protocolo SNMP. ● La conexión remota y emulación de terminal usa el protocolo TELNET (o SSH). DIRECCIONES IP Y NOMBRES DE DOMINIO ● En la capa de red, se establece un esquema de direccionamiento jerárquico. Esto permite el enrutamiento basado en clases de direcciones, en lugar de en direcciones individuales. ● La asociación de la dirección correcta con el sitio de Internet se convierte en un problema. ● Es fácil olvidar cuál es la dirección de un sitio en particular dado que no hay ningún elemento que permita asociar el contenido del sitio con su dirección. ● Se requiere de un servidor que responda a las peticiones que realizan los clientes para traducir un nombre de dominio a la dirección IP asociada. Direcciones IP y Nombres de Dominio ● El DNS (Servidor de nombres de dominio) usa el concepto de espacio de nombres distribuido. Los nombres simbólicos se agrupan en zonas de autoridad, o más comúnmente, zonas. En cada una de estas zonas, uno o más hosts tienen la tarea de mantener una base de datos de nombres simbólicos y direcciones IP y de suministrar la función de servidor para los clientes que deseen traducir nombres simbólicos a direcciones IP. Estos servidores de nombres locales se interconectan lógicamente en una árbol jerárquico de dominios. Direcciones IP y Nombres de Dominio Direcciones IP y Nombres de Dominio ● Para poder asociar el contenido del sitio con su dirección, se desarrolló un sistema de nombres de dominio. ● Un dominio es un grupo de computadores asociados, ya sea por su ubicación geográfica o por el tipo de actividad comercial que comparten. ● El nombre de dominio es una serie de caracteres y/o números, generalmente un nombre o una abreviatura, que representa la dirección numérica de un sitio de Internet. Existen más de 200 dominios de primer nivel en Internet, por ejemplo: ● .us: United States (Estados Unidos) ● .uk: United Kingdom (Reino Unido) Direcciones IP y Nombres de Dominio También existen nombres genéricos, por ejemplo: .edu: sitios educacionales .com: sitios comerciales .gov: sitios gubernamentales .org: sitios sin fines de lucro .net: servicio de red Direcciones IP y Nombres de Dominio www.univalle.edu.co 190.144.162.5 campusvirtual.univalle.edu.co 190.144.162.9 www.microsoft.com 207.46.19.60 www.google.com 64.233.179.104 www.google.com 64.233.179.99 SERVIDOR NOMBRES DE DOMINIO PROCESO: 1)Si no logra traducir la dirección, transfiere la petición al siguiente servidor DNS de nivel superior del sistema, que intenta entonces traducir la dirección. 2)Si el DNS de este nivel puede traducir el nombre de dominio a su dirección IP asociada, lo hace y devuelve el resultado al cliente de no ser así, envía la solicitud al siguiente nivel superior. 3)Si un DNS local puede traducir un nombre de dominio a su dirección IP asociada, lo hace y retorna el resultado al cliente. Servidor Nombres de Dominio 4)Este proceso se vuelve a repetir hasta que el nombre de dominio se haya traducido o que se haya alcanzado el nivel DNS más elevado. 5)Si no se puede encontrar el nombre de dominio en el nivel DNS superior, se considera como error y se devuelve el mensaje de error correspondiente. Servidor Nombres de Dominio ● Muchas implementaciones de DNS proporcionan tres utilidades bastante comunes para consultar a servidores de nombres, permitiendo localizar información acerca de los nodos de red, ejecutar simples consultas ● host ● Nslookup ● dig("Domain Internet Groper") CORREO ELECTRÓNICO ● El correo electrónico (e-mail) permite el envío de mensajes entre computadores conectados. El procedimiento para enviar un documento por correo electrónico involucra dos procesos separados. El primero consiste en enviar el mensaje de correo electrónico a la “oficina” de correos del usuario ● El segundo, en entregar el mensaje desde esa oficina de correos al cliente de correo electrónico del usuario (es decir, el destinatario) ● Correo electrónico Correo electrónico Correo electrónico Correo electrónico - Función DNS ● Siempre que un cliente de correo electrónico envía mensajes, solicita a un servidor DNS, conectado a la red, que traduzca los nombres de dominio a sus direcciones IP asociadas. ● Si el DNS puede traducir los nombres, devuelve la dirección IP a los clientes, permitiendo de esta manera la segmentación y el encapsulamiento correcto en la capa de transporte. ● Si DNS no puede traducir los nombres, las solicitudes se transfieren hasta que los nombres se hayan traducido. Correo electrónico - Función DNS ● La parte de la dirección de correo electrónico que contiene el nombre del destinatario (receptor) cobra importancia en este punto. ● El servidor lo extrae del mensaje de correo electrónico y verifica que la persona sea un usuario del servidor de correos. ● Si el destinatario es un usuario, guarda el mensaje en su buzón hasta que alguien lo recupere. ● Si el destinatario no es un usuario, el servidor de correos genera un mensaje de error y envía el mensaje de vuelta al remitente. Correo electrónico - Recepción a)La segunda parte del proceso de correo electrónico es el proceso de recepción. Los destinatarios de mensajes deben utilizar el software cliente de correo electrónico en sus computadores para realizar peticiones a las oficinas postales (servidores) de correo electrónico. b)Cuando el destinatario del mensaje hace clic en los botones "Recibir correo", generalmente se le solicita que ingrese una contraseña. Una vez que han ingresado la contraseña y han hecho clic en "Aceptar", el software de correo electrónico crea una petición para los servidores de correos. Correo electrónico - Recepción c)Luego extrae las direcciones de la oficina de correos de los datos de configuración que se escribieron cuando se configuró el software de correo electrónico. El proceso usa luego otra verificación DNS para buscar las direcciones IP de los servidores. Finalmente, las peticiones son segmentadas y secuenciadas por la capa de transporte. PROTOCOLO SENCILLO DE ADMINISTRACIÓN DE RED SNMP Permite gestionar redes TCP/IP. ● Versión 2 la más utilizada actualmente. ● A nivel de transporte, utiliza UDP (datagrama, no confiable). ● Operaciones básicas: interrogar y setear variables, enviar traps ● Manejo de MIB (Management Information Base) colección de objetos, organizado en categorías. ● PROTOCOLO SENCILLO DE ADMINISTRACIÓN DE RED SNMP SNMP se basa en un sistema de petición-respuesta. La autoridad gestora no es la red como sistema sino una o varias estaciones distinguidas (NMS). La arquitectura SNMP consta de los siguientes componentes: ● Gestores (NMS’s) ● Agentes (nodos administrados) ● MIB (base de datos con información) ● SMI (administración de la base de datos) ● Protocolos (órdenes) PROTOCOLO SENCILLO DE ADMINISTRACIÓN DE RED SNMP SNMP permite: Obtener información administrativa n Mensaje snmp-get Obtener información de tráfico n get de contadores de una interfaz Realizar acciones n set del estado de una interfaz (up/down) n set indicando realizar backup Mensajes no solicitados n Traps al ocurrir eventos (login, interfaz down, etc). TELNET El software de emulación de terminal (Telnet) tiene la capacidad de acceder de forma remota a otro computador. ● Le permite conectarse a un host de Internet y ejecutar comandos. Se considera al cliente de Telnet como una máquina local y al servidor de Telnet, que utiliza un software especial denominado daemon, como un host remoto ● El protocolo TELNET proporciona una interfaz estandarizada, a través de la cual un programa de un host(el cliente) puede acceder a los recursos de otro host (el servidor de TELNET) como si el cliente fuera una terminal local conectada al servidor. ● Telnet FTP El protocolo de transferencia de archivos (FTP) está diseñado para descargar archivos o cargarlos, es una aplicación cliente/servidor . Requiere software de servidor que se ejecuta en un host al que se puede acceder a través del software de cliente. ● La transferencia de datos entre cliente y servidor puede producirse en cualquier dirección. El cliente puede enviar o pedir un fichero al servidor. ● Una sesión FTP se establece de la misma forma que una sesión Telnet. Al igual que lo que ocurre con Telnet, la sesión FTP se mantiene hasta que el cliente la termina o hasta que se produce algún tipo de error de comunicación ● FTP Para acceder a ficheros remotos, el usuario debe identificarse al servidor. En este punto el servidor es responsable de autentificar al cliente antes de permitir la transferencia de ficheros. ● FTP usa TCP como protocolo de transporte para proporcionar conexiones fiables entre los extremos. Se emplean dos conexiones: la primera es para el login y sigue el protocolo TELNET y la segunda es para gestionar la transferencia de datos. ● El usuario debe tener un nombre de usuario y un password para acceder a ficheros y a directorios. El usuario que inicia la conexión asume la función de cliente, mientras que el host remoto adopta la función de servidor ● FTP TFTP PROTOCOLO DE TRANSFERENCIA DE HIPERTEXTO HTTP Es un sencillo protocolo cliente-servidor que articula los intercambios de información entre los clientes Web y los servidores HTTP. ● Los hipervínculos hacen que la World Wide Web sea fácil de navegar. Un hipervínculo es un objeto en una página Web que, cuando se hace clic en él, lo transfiere a otra página Web. La página Web contiene una ubicación de dirección que se denomina Localizador de Recursos Uniforme (URL) ● World Wide Web