Tema 3: Protocolos de comunicaciones. • Introducción Cuando se pretende comunicar un sistema informático con otro, a través de una red de telecomunicaciones, es necesario que exista un conjunto de elementos físicos y lógicos que permitan la comunicación. En el inicio de las telecomunicaciones el ordenador central se conectaba únicamente con sus periféricos. A medida que la teleinformática fue adquiriendo importancia, las comunicaciones se empezaron a hacer entre distintos sistemas informáticos pero del mismo tipo y fabricante. En la actualidad, la teleinformática permite la interconexión de sistemas informáticos de igual o distinto tipo y cualquiera que sea su fabricante. La conexión entre todo tipo de equipos informáticos es posible gracias a las reglas de conexión, las cuales se vieron obligados a desarrollar para unificar los criterios de fabricación de equipos y facilitar la comunicación entre ellos. • Problemas en el diseño de la arquitectura de la red Una arquitectura de red viene definida por tres características fundamentales: • Topología • Método de acceso a la red • Protocolo de comunicación Cada tipo de red tiene definido un método de acceso al cable que evita o reduce los conflictos e comunicaciones y controla el modo en que la información es enviada de una estación a otra. • Topología: es la organización de su cableado y define la interconexión de estaciones y en algunos casos el camino de los datos sobre el cable. • Método de acceso a la red: todas las redes que poseen un medio compartido para transmitir información, necesitan ponerse de acuerdo a la hora de enviarla, ya que no puede acerlo a la vez. • Protocolo de comunicaciones: son las reglas y procedimientos utilizados en una red para realizar la comunicación. • Aunque a primera vista parezca que el diseño de un sistema es sencillo, cuando se aborda el problema resulta mucho más complejo, ya que es necesario una serie de problemas: • Encaminamiento: cuando existen varias rutas posibles entre el origen y el destino, se debe elegir una de ellas, generalmente la más corta y la que tenga menor tráfico. • Direccionamiento: una red tiene normalmente muchos equipos conectados, cada uno de ellos con múltiples procesos. Se requiere un mecanismo para que un proceso en una máquina especifique con quien quiere comunicarse. Como consecuencia de tener varios destinos se necesita alguna forma de direccionamiento que permita determinar un destino específico. Suele ser normal que un equipo tenga asignada varias direcciones diferentes relacionadas con niveles diferentes de la arquitectura. En este caso también habrá que establecer una correspondencia entre las distintas direcciones. • Acceso al medio: en las redes donde existe un medio de comunicación de difusión debe existir algún mecanismo que controle el orden de transmisión de los interlocutores. De no ser así, todas las transmisiones interferirían y no sería posible llevar a cabo una comunicación. 1 • Saturación en el receptor: esta cuestión puede plantearse en todos los niveles de la arquitectura y consiste en que un emisor rápido pueda saturar a un receptor lento. En determinadas condiciones, el proceso en el otro extremo necesita tiempo para procesar la información que le llega. Si este tiempo es demasiado grande en comparación con la que le llega la información será posible que se pierdan datos o parte de ellos. Una posible solución a este problema, consiste en que el receptor envíe un mensaje al emisor indicándole que está listo para recibir más datos. • Mantenimiento del orden: algunas redes de transmisión de datos desordenan los mensajes que envían de forma que si los mensajes se envían enana frecuencia determinada no se asegura que lleguen en esa misma frecuencia. Para solucionar esto, el protocolo debe incorporar un mecanismo que le permita volver a ordenar los mensajes en el destino. • Control de redes: todas las redes de comunicación de datos transmiten información con una pequeña tasa de error, que en ningún caso es nula. Esto se debe a que los medios de transmisión son imperfectos. Tanto emisor como receptor deben ponerse de acuerdo a la hora de establecer mecanismos para detectar y corregir errores, y si se va a notificar al emisor que los mensajes han llegado correctamente. • Multiplexación: en determinados tramos de la red existe un único medio de transmisión que por cuestiones generalmente económicas suele ser compartido por diferentes comunicaciones que no tienen relaciones entre si. • Concepto de protocolo Un protocolo es un conjunto de normas que permiten el intercambio de información entre dos dispositivos o elementos de un mismo nivel, detectando los posibles errores que se puedan producir. • Capas o niveles de una comunicación. Para que las reglas de interconexión entre equipos informáticos sean más eficientes están estructuradas en módulos, es decir, la problemática inicial se divide en subproblemas. Para cada uno de estos subproblemas se crea un subconjunto de programas y reglas que le den solución, de tal forma, que cada subproblema puede ser tratado y desarrollado de forma independiente del resto de subproblemas. A cada uno de los módulos de la interconexión de equipos se le llama capa o nivel. Las capas o niveles son independientes entre sí y tienen dos funciones principales: • Permiten fraccionar el desarrollo de los protocolos, facilitando su creación y comprensión. Cada modulo solo debe de preocuparse de como interactuar con el nivel inmediatamente inferior y superior. • Son fáciles de cambiar; si se produce algún cambio en una capa o nivel, como por un avance tecnológico, etc., basta con mantener las conexiones o interfaces que la unen con la capa inferior y superior y sustituir el modulo que se ocupa de aquella tarea por un nuevo modulo que tenga el tratamiento adecuado. Al conjunto de capas o niveles con sus servicios y protocolos se le denomina arquitectura de la red. • Arquitectura OSI. Fue publicada en 1983 por la Organización Internacional de Estándares ISO (International Standards Organization), tiene como objetivo la normalización en sistemas teleinformáticas. Este modelo proporcionaba un estándar común para todos los fabricantes de hardware y aplicaciones de red y cómo deben gestionarse y controlarse los datos. Al utilizar este estándar, los fabricantes se aseguraban que sus dispositivos y su software eran compatibles con los sistemas y aplicaciones de otros fabricantes. 2 El modelo OSI especifica como deben de funcionar determinadas partes de la red para permitir la comunicación entre aplicaciones de diferentes equipos. El mecanismo de implementación de esta especificación es por completo responsabilidad del fabricante. De esta forma, los fabricantes disponían de una herramienta que les permitía diseñar sus estándares de red para proporcionar compatibilidad entre múltiples plataformas, y al mismo tiempo les proporcionaba flexibilidad en la implementación del estándar. Capas • Nivel 1 o nivel físico: Es el encargado de definir las señales y características físicas y electrónicas de los equipos. • Nivel 2 o nivel de enlace de datos: es el encargado de establecer una línea de comunicaciones libre de errores que pueda ser utilizada por la capa inmediatamente superior. Como el nivel físico opera con bits sin detenerse en averiguar su significado, la capa de enlace de datos debe fraccionar el mensaje en bloques de datos. A cada uno de estos bloques de datos se le denomina tramas. Estas tramas son enviadas en secuencia por la línea de transmisión que ofrece la capa física y queda a ala escucha de las tramas de confirmación que genere la capa o nivel de enlace del receptor. • También se ocupa del tratamiento de errores que se produzca en la recepción de las tramas, deliminar tramas erróneas, solicitar retransmisiones, descartar tramas duplicadas, adecuar el flujo de información entre emisor rápido y receptor lento. • Nivel 3 o nivel de red: se ocupa del control de la subred. La principal función de esta capa es la de encaminamiento, es decir, el tratamiento de cómo elegir la ruta más adecuada para que el bloque de datos del nivel de red llegue a su destino. Cada destino está identificado unívocamente en la subred por una dirección, por tanto este nivel se encarga de conectar de forma lógica las direcciones de subred con las direcciones físicas. • Otra función importante de esta capa es el tratamiento de la congestión. Cuando hay muchos paquetes en la red, unos obstruyen a otros generando cuellos de botella. Otro problema que se debe resolver es el que se produce cuando el destinatario de un paquete no está en la misma red, sino en otra en el que el sistema de direccionamiento es distinto que en la red de origen. Además es posible que la segunda red no admita paquetes de las mismas dimensiones que la primera. • Nivel 4 o nivel de transporte: es una capa de transmisión entre los niveles orientados a red y los niveles orientados a aplicación. Su misión consiste en aceptar los datos de la capa de sesión, fraccionarlos adecuadamente de modo que sean aceptados por la subred y asegurarse que llegarán correctamente al nivel de transporte de destinatario, esté o no en la misma red que el emisor. Proporciona por tanto el servicio de transporte abstrayéndose del software y el hardware de bajo nivel que utiliza la subred para producir el transporte solicitado. • Se puede confundir el transporte de las tramas en el nivel de enlace con el transporte de datos en la capa de transporte. El flujo de tramas se opera en el nivel de cada tarjeta de red de cada puerto de entrada y salida de datos. el flujo de transporte puede llegar a multiplexar conexiones distintas de cada solicitud inmediatamente superior, utilizando un o más puertos de salida para la comunicación. Al usuario le es transparente la utilización de múltiples circuitos físicos. Para él es como una única sesión que se a resuelto como múltiples conexiones de transporte que atacan a la misma o distinta subred. • La capa de transporte lleva a cabo la comunicación entre ordenadores peer to peer, es decir, es el punto donde el emisor y el receptor pueden conversar. En las capas inferiores esto no se cumple. En el nivel inferior hay transporte de tramas pero puede ser que para llegar al receptor haya que pasar por varios ordenador intermedios que redirijan las comunicaciones o que cambien de red a los diferentes paquetes. En el nivel de transporte estos sucesos se hacen transparentes, solo se consideran fuente, destino y servicio solicitado. • Nivel 5 o nivel de sesión: se encarga de proporcionar los servicios necesarios para el establecimiento de una comunicación, es decir, permite el diálogo entre emisor y receptor estableciendo una sesión, de modo que permite el intercambio ordenado de datos en un sentido u otro y controla la desconexión de la comunicación. • La capa de sesión mejora el servicio de la capa de transporte. 3 • Nivel 6 o nivel de presentación: se ocupa de la sintaxis y de la semántica de la información que se pretende transmitir. Investiga, por tanto, el contenido informativo de los datos. • Nivel 7 o nivel de aplicación: en ella se definen los protocolos que utilizarán las aplicaciones y procesos de los usuarios. La comunicación se realiza utilizando protocolos del diálogo apropiado. Cuando dos procesos que desean comunicarse residen en el mismo utilizan para ello las funciones que les rinda el sistema operativo. Sin embargo, si los procesos residen en ordenadores distintos, la placa de aplicación disparará los mecanismos de conexión adecuados para realizar la conexión entre ello sirviéndose de los servicios de las capas anteriores. Esquema de un modelo OSI: 4 • Arquitectura TCP/IP. TCP/IP se suele confundir con un protocolo de comunicaciones, cuando en realidad es una arquitectura de red que incluye varios protocolos apilados por capas. La arquitectura TCP/IP es la más utilizada del mundo y es la base de comunicación de Internet. Algunos de los motivos por los que se a hecho tan popular son: • Es independiente de los fabricantes y de las marcas comerciales. • Soporta múltiples tecnologías de red. • Es capaz de interconectar redes de distintas tecnologías y fabricantes. • Puede funcionar en maquinas de cualquier tamaño. • Se ha convertido en un estándar de comunicación desde 1873. Se construyó diseñando inicialmente los protocolos y posteriormente se integraron por capas en la arquitectura. Por esta razón a la arquitectura TCP/IP se le conoce con el nombre de pila de protocolos. Capas • Capa de subred: el modelo no da mucha información de esta capa y solo especifica que debe existir algún protocolo que conecte la estación de la red. La razón fundamental es que TCP/IP se diseño para su funcionamiento sobre redes diferentes, por tanto, esta capa depende de la tecnología utilizado y no se especifica de antemano (Ethernet, token ring, 802.11, 802.12). • Capa de internet: es la más importante de la arquitectura y su misión consiste en permitir que las estacones envíen información a la red y los hagan viajar de forma independiente a su destino. Durante este viaje los paquetes pueden atravesar redes diferentes y llegar desordenados. Esta capa no se responsabiliza de ordenar de nuevo los paquetes en el destino (IP, ARP, ICMP). • Capa de transporte: esta capa cumple la función de establecer una comunicación entre el origen y el destino y puesto que las capas inferiores no se encargan del control de errores ni de la ordenación de los mensajes, es esta capa quien lo debe realizar (TCP, UDP). • Capa de aplicación: contiene todos los protocolos de alto nivel que utilizan los programas para comunicarse (http, FTP, Telnet, DNS, DHCP). Comparación entre OSI y TCP/IP 5 • Arquitectura de la red de Microsoft La arquitectura de red de Microsoft está diseñada con el objetivo de permitir la coexistencia e integración con otras arquitecturas de red como TCP/IP o Novell. Por esta razón en el modelo de Microsoft se pueden añadir los distintos protocolos existentes para que se realice el transporte de la información. Modelo OSI Red Microsoft Aplicación Aplicación Presentación (SMB) 6 Sesión Sockets Transporte NBF, NWLINK, TCP/IP Red (Net BEUIL) (NOVELL) N DIS Enlace Físico Net BIOS Novell Interfaz de transporte Ethernet, token ring, FDDI N DIS: protocolo que me permite convivir varios protocolos de red utilizando una única tarjeta de red. Net BIOS: es un sistema de entrada y salida de datos. fue diseñado por IBM ante la falta de un estándar de alto nivel en las LAN. Posteriormente ha sido adaptado por las redes de Microsoft para el trabajo con estaciones Windows. Su identificación se hace a través de un nombre de PC y el envío de información de administración y recursos compartidos se hace por difusión. SMB: bloque de mensajes del servidor. Es un protocolo a nivel de aplicación que permite convertir las llamadas de crear, copiar, borrar archivos en llamadas a servicios del protocolo Net BIOS. Net BEUIL: extensión del Net BIOS que trabaja a nivel de red y de transporte con sistema operativo Windows. Está optimizado para su funcionamiento con LAN y o puede utilizarse con las WAN. El protocolo Net BIOS puede funcionar sobre Net BEUIL o sobre el TP/IP, sabiendo que cuando se utilizan estaciones que tengan conexión a internet tendrán que trabajar sobre el protocolo TCP/IP. Tema 3: Protocolos de comunicaciones. 7