Redes de Computadores I Modelo de Referencia OSI y TCP Pág. 1 2. EL MODELO DE REFERENCIA OSI La Organización Estándares Internacionales (ISO por sus iniciales en Inglés) emitió un modelo de referencia para la interconexión de sistemas abiertos (Open Systems Interconnection OSI) el cual formaliza el modelo prototipo explicado en secciones anteriores. 2.1 Capas del modelo de referencia 2.1.1 Capa Física La capa física tiene que ver con el envío de bits en un medio físico de transmisión y se asegura de que si de un lado del medio se envía un 1 del otro lado se reciba ese 1. Funetes del Apunte: Curso de Redes Departamento de Ing. Electrica - UFRO Redes de Computadores I Modelo de Referencia OSI y TCP Pág. 2 También tiene que ver con la impedancia, resistencia y otras medidas eléctricas o electrónicas del medio y de qué forma tiene (tamaño, número de patas) en conector del medio y cuáles son los tiempos aprobados para enviar o recibir una señal. También se toma en cuenta si el medio permite la comunicación simplex, half duplex o full duplex. 2.1.2 Capa de Ligado En esta capa se toman los bits que entrega la capa física y los agrupa en algunos cientos o miles de bits para formar marcos de bits. Se puede hacer en este nivel un chequeo de errores y si no los hay enviar un marco de acuse de recibo (acknowledge). Para detectar los límites de un marco se predefinen secuencias de bits de control. Si un marco se pierde o Funetes del Apunte: Curso de Redes Departamento de Ing. Electrica - UFRO Redes de Computadores I Modelo de Referencia OSI y TCP Pág. 3 A partir de la capa de transporte (inclusive) las capas ofrecen servicios de interlocutor a interlocutor, esto es, que un programa de red en un nodo platica con otro programa similar en otro nodo de la red. En las capas inferiores esto no es posible ni requerido. La última labor importante de la capa de transporte es ofrecer un mecanismo de nombrado que sirva para identificar y diferenciar las múltiples conexiones existentes, así como determinar en qué momento se inician y se terminan las conversaciones; es decir, en esta capa hay un mecanismo de control de flujo. Por ejemplo, si el usuario "operador" en el nodo "A" quiere iniciar una sesión de trabajo remoto (telnet) en un nodo "B", existirá una conexión que debe ser diferenciada de la conexión que el usuario "luis" necesita para transferir un archivo (ftp) del nodo "B" al nodo "A". 2.1.5 Capa de Sesión Esta capa ofrece el servicio de establecer sesiones de trabajo entre nodos diferentes de una red. Permite el transporte de datos (spoprtado por la capa de transporte) y añade algunas facilidades para el establecimiento del flujo de datos. Esta capa decide a quien se le hace caso para transmitir datos entre las múltiples conexiones, una manera de hacerlo es proveer de fichas a los participantes de una conexión, de manera que aquél que tenga la ficha es el que puede transmitir (lo cual es útil en un medio half duplex). Otro servicio de esta capa es la sincronización y el establecimiento de puntos de chequeo. Por ejemplo, si se hace necesario transferir un archivo muy grande entre dos nodos que tienen una alta probabilidad de sufrir una caída, es lógico pensar que una transmisión ordinaria nunca terminaría porque algún interlocutor se caerá y se perderá la conexión. La solución es que se establezcan cada pocos minutos un punto de chequeo de manera que si la conexión se rompe más tarde se pueda reiniciar a partir del punto de chequeo, lo cual ahorrará tiempo y permitirá tarde o temprano la terminación de la transferencia. 2.1.6 Capa de Presentación La capa de presentación nos provee de facilidades para que podamos transmitir datos con alguna sintaxis propia para nuestras aplicaciones o para nuestro nodo. Existen computadoras que interpretan sus bytes de una manera diferente que otras (Big Endian versus Little Endian). En esta capa es posible convertir los datos a un formato independiente de los nodos que intervienen en la transmisión. 2.1.7 Capa de Aplicación En esta capa se encuentran aplicaciones de red que nos permiten explotar los recursos de otros nodos. Dicha explotación se hace, por ejemplo, a través de una emulación de una terminal que trabaja en un nodo remoto, interpretando una gran variedad de secuencias de caracteres de control que nos permiten desplegar en la terminal local los resultados, aún cuando éstos sean gráficos. Otra forma de explotación se da cuando transmitimos un archivo de una computadora que almacena sus archivos en un formato Funetes del Apunte: Curso de Redes Departamento de Ing. Electrica - UFRO Redes de Computadores I Modelo de Referencia OSI y TCP Pág. 4 dado a una computadora de formato distinto. Es posible que el programa de transferencia realice las conversiones necesarias de manera que el archivo puede usarse inmediatamente bajo alguna aplicación. 2.1.8 Transmisión de datos en el modelo OSI Un envío de datos típico bajo el modelo de referencia OSI comienza con una aplicación P en un nodo cualquiera de la red. P genera los datos D que quiere enviar a su contraparte en otro nodo. Le pasa los datos D a la capa de aplicación. La capa de aplicación toma los datos y los encapsula añadiendo un encabezado que contiene información de control o que puede estar vacío. El paquete completo resultante se lo pasa a la capa de presentación. La capa de presentación lo recibe y no intenta siquiera decodificar o separar los componentes del paquete, sino que lo toma como datos y le añade un encabezado con información de control de esta capa y el paquete resultante se lo envía a la capa de sesión. La capa de sesión recibe el paquete, que también son sólo datos para ella y le añade un encabezado de control. El resultado se lo envía a la capa de transporte. La capa de transporte recibe todo el paquete como datos y le añade su propio encabezado de control creando otro paquete que envía a la capa de red, la cual se encargará de enrutarlo a su destino apropiado, entre otras actividades que realiza. Las capas de red, ligado de datos y física toman, respectivamente, el paquete que les envía la capa superior y añaden a éste un encabezado definido por el protocolo que corresponde a cada capa y pasan el resultada a la capa inferior. La capa física traducirá el último paquete a las señales apropiadas para que viajen por el medio físico hasta el nodo destino. En el nodo destino, la capa física toma los paquetes y les quita el encabezado de la capa física, pasando el paquete resultante a la capa de ligado de datos. La capa de ligado lo recibe y le quita el encabezado de esta capa, pasando el resultado a la capa de red, quien lo toma y le quita el encabezado de red, pasando el paquete a la capa de transporte que elimina el encabezado de transporte y pasa el resultado a la capa de sesión, quien también le quita el encabezado respectivo y pasa el paquete a la capa de presentación, que a su vez le quita el encabezado de presentación y le pasa el paquete a la capa de aplicación que, finalmente, le quita el último encabezado y le entrega el paquete de datos reales a la aplicación en el nodo destino. De manera virtual, se establecen conexiones directas entre las capas del mismo nombre de los dos diferentes nodos. Por ejemplo, el paquete que envía la capa de red es interpretado por la capa de red en el destino y no por otra capa. Para las capas inferiores de la de red, dicho paquete fue interpretado como datos, y para las capas superiores Funetes del Apunte: Curso de Redes Departamento de Ing. Electrica - UFRO Redes de Computadores I Modelo de Referencia OSI y TCP Pág. 5 (transporte, sesión, presentación y aplicación) como un paquete compuesto de datos y encabezado. Por otro lado, todas las capas, excepto la de aplicación, procesan los paquetes realizando operaciones que sólo sirven para verificar que el paquete de datos real esté íntegro o para que éste llegue a su destino, sin que los datos por sí mismos sufran algún cambio. 2.2. EL MODELO DE REFERENCIA TCP/IP La Agencia de Proyectos de Investigación Avanzada del Departamento de Defensa de los Estados Unidos de Norteamérica definieron un conjunto de reglas que establecieron cómo conectar computadoras entre sí para lograr el intercambio de información, soportando incluso desastres mayores en la subred. Fue así como se definió el conjunto de protocolos de TCP/IP ( TCP/IP Internet Suite of Protocols). Para los años 80 una gran cantidad de instituciones estaban interesados en conectarse a esta red que se expandió por todo EEUU. La Suite de TCP/IP consta de 4 capas principales que se han convertido en un estándar a nivel mundial. 2.2.1 Las capas del modelo TCP/IP Las capas de la suite de TCP/IP son menos que las del modelo de referencia OSI, sin embargo son tan robustas que actualmente une a más de 3 millones de nodos en todo el mundo. La capa inferior, que podemos nombrar como física respecto al modelo OSI, contiene varios estándares del Instituto de Ingenieros Electrónicos y Eléctricos (IEEE en inglés) como son el 802.3 llamado Ethernet que establece las reglas para enviar datos por cable coaxial delgado (10Base2), cable coaxial grueso (10Base5), par trenzado (10Base-T), fibra óptica (10Base-F) y su propio método de acceso, el 802.4 llamado Token Bus que Funetes del Apunte: Curso de Redes Departamento de Ing. Electrica - UFRO Redes de Computadores I Modelo de Referencia OSI y TCP Pág. 6 puede usar estos mismos medios pero con un método de acceso diferente, el X.25 y otros estándares denominados genéricamente como 802.X. La siguiente capa cumple, junto con la anteriormente descrita, los niveles del modelo de referencia 1,2 y 3 que es el de red. En esta capa se definió el protocolo IP también conocido como "capa de internet". La responsabilidad de este protocolo es entregar paquetes en los destinos indicados, realizando las operaciones de enrutado apropiadas y la resolución de congestionamientos o caídas de rutas. La capa de transporte es la siguiente y está implantada por dos protocolos: el Transmission Control Protocol y el User datagram Protocol. El primero es un protocolo confiable (reliable) y orientado a conexiones, lo cual significa que nos ofrece un medio libre de errores para enviar paquetes. El segundo es un protocolo no orientado a conexiones (connectionless) y no es confiable (unreliable). El TCP se prefiere para la transmisión de datos a nivel red de área amplia y el otro para redes de área local. La última capa definida en la suite de TCP/IP es la de aplicación y en ella se encuentran decenas de aplicaciones ampliamente conocidas actualmente. Las más populares son el protocolo de transferencia de archivos (FTP), el emulador de terminales remotas (Telnet), el servicio de resolución de nombres (Domain Name Service DNS), el WWW, el servicio de correo electrónico (Simple Mail Transfer Protocol SMTP), el servicio de tiempo en la red (Network Time Protocol NTP), el protocolo de transferencia de noticias (Network News Transfer Protocol NNTP) y muchos más. 2.2.2 Comparación con el modelo OSI El model TCP/IP no tiene bieen divididas las capas de ligado de datos, presentación y sesión y la experiencia ha demostrado que en la mayoría de los casos son de poca utilidad [Tan96]. Los estándares 802.X junto con el protocolo IP realizan todas las funciones propuestas en el modelo OSI hasta la capa de red. Los protocolos TCP y UDP cumplen con la capa de transporte. Finalmente, las aplicaiones ya mencionadas son ejemplos prácticos y reales de la funcionalidad de la capa de aplicación. 2.2.2.1 Tipos de Comunicaciones El modelo OSI propone tener comunicaciones orientadas y no orientadas a conexión en la capa de red, mientras que TCP/IP sólo ofrece no orientadas a conexión, mientras que OSI propone en el nivel de transporte comunicaciones orinetadas a conexión mientras que TCP/IP ofrece orientadas y no orientadas a conexión en dicha capa. [Tan96]. 2.2.2.2 Críticas al modelo OSI El modelo OSI tiene siete niveles que fueron propuestos debido a que IBM tenía su protocolo de siete capas SNA (Systems Network Architecture) y el comité no quiso ir Funetes del Apunte: Curso de Redes Departamento de Ing. Electrica - UFRO Redes de Computadores I Modelo de Referencia OSI y TCP Pág. 7 contra la corriente peleando contra la preponderancia de IBM en esos días [Tan96]. Por otro lado, mientras se planeaba y discutía el modelo OSI, ya se estaba trabajando y creando redes usando TCP/IP, de manera que al estar disponible el trabajo del modelo OSI la mayoría de las compañías ya no quiso hacer el esfuerzo de migrar sus productos. En general, las críticas más importantes al modelo OSI y sus implantaciones se pueden resumir en los siguientes puntos [Tan96]: El conjunto total de la pila de protocolos resultó sere demasiada compleja para entender e implantar. Las capas contienen demasiadas actividades redundantes, por ejemplo, el control de errores se integra en casi todas las capas siendo que tener un único control en la capa de aplicación o presentación sería suficiente. La enormidad de código que fue necesario para implantar el modelo OSI y su consecuente lentitud hizo que la palabra OSI se asociara a "calidad pobre", lo cual contrastó con TCP/IP que se implantó exitosamente en el sistema operativo UNIX y era gratis. OSI tuvo poca aceptación en EEUU porque la mayoría de la gente pensó que era un estándar implantado por la comunidad europea, y todos sabemos que la tecnología o deporte que no es inventado en EEUU es discriminada rápidamente. 2.2.2.3 Críticas al modelo TCP/IP El modelo TCP/IP primero fue llevado a la práctica y luego fue descrita su funcionalidad, por lo cual se acepta que no puede usarse para describir otros modelos. Las críticas en general se resumen a continuación: El modelo no distingue bien entre servicios, interfaces y protocolos, lo cual afecta el diseño de nuevas tecnologías en base a TCP/IP. Las capas que le faltan con respecto al modelo OSI ni siquiera se mencionan y eso es lógico porque TCP/IP fue un predecesor de OSI. No se puede hablar propiamente de un modelo TCP/IP, pero se tiene que discutir acerca de él forzados por su uso en todo el mundo. Algunos de los protocolos de TCP/IP fueron creados por estudiantes y para solucionar problemas viejos y las necesidades modernas requieren de otros protocolos. Concluyendo, el modelo OSI es muy bueno como marco teórico para describir la funcionalidad de los dispositivos y protocolos que hacen funcionar una red, pero se acepta que las capas de sesión y presentación no son muy útiles [Tan96], por lo cual generalmente se usa un modelo reducido con las capas física, ligado de datos, red, transporte y aplicación. Funetes del Apunte: Curso de Redes Departamento de Ing. Electrica - UFRO