Modelo OSI
OSI (Open Systems Interconnection)
Modelo de capa en sentido teórico. Conviene destacar que la arquitectura es una entidad abstracta, más general que los protocolos o las implementaciones concretas en que luego se materializan éstos. Típicamente para cada capa de una arquitectura existirán uno o varios protocolos, y para cada protocolo habrá múltiples implementaciones.
La ISO (International Organization for Standardization) definió la Arquitectura de redes OSI con el fin de promover la creación de una serie de estándares que especificaran un conjunto de protocolos independientes de cualquier fabricante.
Las ideas básicas del modelo de capas son las siguientes:
- La capa n ofrece una serie de servicios a la capa n+1.
- La capa n sólo “ve” los servicios que le ofrece la capa n-1.
- La capa n en un determinado sistema sólo se comunica con su homóloga en el sistema remoto (comunicación de igual a igual o “peer-to-peer”). Esa “conversación” se efectúa de acuerdo a una serie de reglas conocidas como Protocolo de la capa n.
El modelo OSI define siete capas:
7. Aplicación
6. Presentación
5. Sesión
4. Transporte
3. Red
2. Enlace
1. Físico
En función de la necesidad no siempre se utilizan todas las capas. En el modelo OSI, los niveles superiores se implementan por software, mientras que los inferirores suelen llevar un alto componente hardware. El nivel físico es principalmente hardware.
7. Aplicación:
- Es el nivel en que el usuario interactúa con la RED
- Suministra las herramientas que el usuario, de hecho ve. Servicios de red relacionados con estas aplicaciones, como la gestión de mensajes, la transferencia de archivos y las consultas a base de datos.
- A este nivel se le conoce como servicio de RED.
6. Presentación:
- Aislar las capas inferiores del formato de los datos del nivel de aplicación.
- Conversión de formato
- Funciones de Cifrado
- Compresión de Datos
5. Sesión:
- Organiza y Sincroniza el intercambio de datos entre Procesos de aplicación.
- Gestión de sesión
- Sincronización, que permite a una aplicación conocer cómo está progresando la transmisión.
4. Transporte:
- Se encarga de realizar la entrega completa y sin errores del mensaje desde el origen hasta el destino.
- Control de conexión: primero establece la conexión, realiza la transferencia y finaliza la conexión.
- Control de flujo: el emisor envía datos sólo cuando el receptor lo puede procesar.
- Control de errores: detecta y corrige los errores que se producen en la comunicación.
- Direccionamiento: es necesario ditinguir qué Procesos hay dentro de cada equipo emisor y receptor que estan intercambiando Información. Este direccionamiento se lleva a cabo en este nivel, a través de la llamada dirección punto de servicio o dirección de puertos
3. Red:
- Controla el camino que hará para llegar a su destino, ya que puede encontrarse en redes diferentes.
- Control de congestión: este control se implementa para asegurar que la red es capaz de trasportar el tráfico ofrecido, no confundir con el control de flujo que solo es para la conexión entre dos dispositivos concretos.
- Direccionamiento lógico: establece un mecanismo de direccionamiento utilizado para identificar cada dispositivo en la red.
- Mecanismo de enrutamiento de los paquetes: identifica la ruta que debe llevar los paquetes.
2. Enlace:
- La transmisión de los datos se lleva a cabo en el nivel físico, aunque dicho nivel no proporciona ningún mecanismo para asegurar que los datos (bits) que se envían llegarán libres de errores al receptor. El objetivo del nivel físico es llevar a cabo la transmisión de los datos con la mayor fiabilidad posible pero sin llevar a cabo ningún control de errores, función de la que se encarga el nivel de enlace. Proporciona Fiabilidad.
- Encapsulación de datos: tramado. Para llevar a cabo las funciones del nivel de enlace se hace necesario dividr el flujo de datos que llega del nivel superior en bloques de datos llamados tramas, a la cual se añade la cabecera con Información de control del nivel de enlace (comprobación de errores).
- Direccionamiento físico. Este proporciona un mecanismo de identificación del receptor. (En la cabecera incluye la dirección física del receptor).
- Control de acceso al medio (físico): esta función se utiliza cuando el enlace es compartido por varios dispositivos. Este nivel se encarga de determinar qué dispositivo puede acceder al medio para transmitir.
- Control de flujo: El objetivo es el se envíe el mensaje únicamente cuando el recpetor puede procesarla.
- Control de errores (asegurra que se envía y recibe correctamente). Detecta tramas error, perdidas o duplicadas.
Importante! El nivel de enlace lleva a cabo el control de flujo y errores sólo en el enlace en cambio el nivel de transporte lo hace para la comunición de extremo a extremo.
1. Físico
- El nivel físico se encarga de enviar datos (bits) a través de un canal de comunicación.
- Características físicas de las interfaces con el medio de transmisión. (Conectores)
- Características del medio de transmisión. Define las características físicas y mecánicas de medios guiados (cable y fibra óptica).
- Codificación de los datos digitales: Representa los datos ditiales, unos y ceros en señales eléctricas.
- Configuración de la línea: conexión de los dispositivos.
- Topología física: la forma en que están conectados entre sí los dispositivos.
- Modo de Transmisión: simplex, half-duplex, full-duplex.
- Velocidad de trasnmisión: con todas las características anteriores se establece la velocidad a la que puede transmitir.
En el gráfico anterior se tiene en cuenta la existencia de sistemas intermedios entre el emisor y el receptor que pueden requerir la implementación de uno o varios niveles. Los sistemas intermedios más sofisticados podrán tener implementados los tres primeres niveles de Arquitectura, es decir hasta el nivel de red.
Se puede observar que existen 3 niveles en los que se llevan a cabo funciones de direccionamiento, aunque en cada nivel la función de la dirección es diferente. En el nivel de enlace, la dirección (llamada dirección física) sirve para identificar un dispositivo en un enlace donde puede haber varios dispositivos conectados. En el nivel de red, la dirección (llamada dirección lógica) se utiliza para identificar un dispositivo de forma única en un conjunto de redes. En el nivel de transporte, la dirección (llamada dirección de puerto) sirve para identificar dentro de un dispositivo a qué aplicación van dirigidos los datos. Todas las direcciones son transmitidas en sus correspondientes cabeceras.
COMPARATIVA entre el Modelo OSI y el Modelo TCP/IP
La Arquitectura TCP/IP propone la existencia de cinco niveles: físico, enlace, red, transporte y aplicación. Como se observa, la diferencia más obvia es que en este modelo no aparecen los niveles de sesión y presentación. Lo que ocurre es que cualquier función por encima del nivel de transporte en TCP/IP se implementa en el nivel de aplicación. Los niveles con más similitudes entre el modelo OSI y el modelo TCP/IP son los de red y de transporte
Este modelo TCP/IP sólo sirve para definir su propia Arquitectura.
Más Información:
1. La Capa Física
Esta capa transmite los bits entre dos entidades (nodos) directamente conectadas. Puede tratarse de un enlace punto a punto o de una conexión multipunto (una red Broadcast, por ejemplo Ethernet). La comunicación puede ser dúplex, semi-dúplex o simplex. Si la Información se transmite por señales eléctricas se especifican los voltajes permitidos y su significado (1 ó 0) y análogamente para el caso de fibra óptica. Se especifican las características mecánicas del conector, la señalización básica, etc.
Como ejemplos de la capa física podemos mencionar las norma EIA RS-232-C, utilizada por las puertas COM de los ordenadores personales, la EIA-RS-449, CCITT X.21/X.21bis, CCITT V.35. Las normas de redes locales incluyen en sus especificaciones la capa física (IEEE 802.3 o Ethernet, IEEE 802.5 o Token Ring, ISO 9314 o FDDI, etc.)
Muchas de las normas que existen en la capa física se refieren a la interfaz utilizada para conectar un ordenador con un Módem o dispositivo equivalente, que a través de una línea telefónica conecta con otro Módem y ordenador en el extremo opuesto. Este es el caso por ejemplo de las normas EIA RS-232-C, EIA-RS-449, CCITT X.21/X.21bis y CCITT V.35 antes mencionadas. En estos el conector del ordenador y el Módem son de diferente ‘sexo’ (macho o hembra). En este contexto se suele utilizar la denominación DTE (Data Terminal Equipment) para referirse al ordenador y DCE (Data Circuit-Terminating Equipment) para referirse al Módem. El ‘Módem’ en ocasiones no es más que un adaptador, ya que por ejemplo la norma X.21 se utiliza para líneas digitales. En sentido general al equipo que actúa como adaptador entre el ordenador y el medio de transmisión se le denomina CSU/DSU (Channel Service Unit/ Data Service Unit).
2 La capa de enlace (data link)
La principal función de la capa de enlace es ofrecer un servicio de comunicación fiable a partir de los servicios que recibe de la capa física, también entre dos entidades contiguas de la red. Esto supone que se realice detección y posiblemente corrección de errores. A diferencia de la capa física, que transmitía los bits de manera continua, la capa de enlace transmite los bits en grupos denominados tramas (frames en inglés) cuyo tamaño es típicamente de unos pocos cientos a unos pocos miles de bytes. En caso de que una trama no haya sido transmitida correctamente se deberá enviar de nuevo; también debe haber mecanismos para reconocer cuando una trama se recibe duplicada. Generalmente se utiliza algún mecanismo de control de flujo, para evitar que un transmisor rápido pueda ‘abrumar’ a un receptor lento.
Las redes Broadcast utilizan funciones especiales de la capa de enlace para controlar el acceso al medio de transmisión, ya que éste es compartido por todos los nodos de la red. Esto añade una complejidad a la capa de enlace que no está presente en las redes basadas en líneas punto a punto, razón por la cual en las redes Broadcast la capa de enlace se subdivide en dos subcapas: la inferior, denominada subcapa MAC (Media Access Control) se ocupa de resolver el problema de acceso al medio, y la superior, subcapa LLC (Logical Link Control) cumple una función equivalente a la capa de enlace en las líneas punto a punto.
Ejemplos de protocolos de la capa de enlace son el ISO 7776, la capa de enlace de X.25 (de la ITU) o el ISO HDLC. Como ejemplos de protocolos de la subcapa MAC podemos citar los IEEE 802.3 (Ethernet), IEEE 802.5 (Token Ring) o el ISO 9314 (FDDI). El Protocolo de subcapa LLC de todas las redes locales Broadcast es el IEEE 802.2.
3. La capa de red
La capa de red se ocupa del control de la subred. Esta es la capa que tiene ‘conciencia’ de la topología de la red, y se ocupa de decidir por que ruta va a ser enviada la Información; la decisión de la ruta a seguir puede hacerse de forma estática, o de forma dinámica en base a Información obtenida de otros nodos sobre el estado de la red.
De forma análoga a la capa de enlace la capa de red maneja los bits en grupos discretos que aquí reciben el nombre de paquetes; motivo por el cual a veces se la llama la capa de paquete. Los paquetes tienen tamaños variables, pudiendo llegar a ser muy elevados, sobre todo en protocolos recientes, para poder aprovechar eficientemente la elevada velocidad de los nuevos medios de transmisión (fibra óptica, ATM, etc.). Por ejemplo en TCP/IP el tamaño máximo de paquete es de 64 KBytes, pero en el nuevo estándar, llamado IPv6, el tamaño máximo puede llegar a ser de 4 GBytes (4.294.967.296 Bytes).
Entre las funciones de la capa de red cabe destacar, aparte de la ya mencionada de elegir la ruta a seguir, el control del tráfico para evitar situaciones de congestión o ‘atascos’. En el caso de ofrecer servicios con QoS el nivel de red debe ocuparse de reservar los recursos necesarios para poder ofrecer el servicio prometido con garantías. También debe ser capaz de efectuar labores de contabilidad del tráfico en caso necesario (por ejemplo si el servicio se factura en base a la cantidad de datos transmitidos).
En la capa de red es donde con mas intensidad se observa la distinción entre servicios orientados y no orientados a conexión (CONS vs CLNS). En el curso veremos en detalle las redes ATM, que en el nivel de red dan un servicio de tipo CONS, y las redes TCP/IP, que en el nivel de red dan un servicio de tipo CLNS.
La capa de red es la más importante en redes de Conmutación de paquetes (tales como X.25 o TCP/IP). Algunos ejemplos de protocolos utilizados en la capa de red son los protocolos de nivel de paquete y nivel de pasarela CCITT X.25 y X.75, el IP (Internet Protocol), CCITT/ITU-T Q.931, Q.933, Q.2931, y el OSI CLNP (ConnectionLess Network Protocol).
En las redes de tipo Broadcast el nivel de red es casi inexistente, ya que desde un punto de vista topológico podemos considerar que en una red Broadcast los nodos están interconectados todos con todos, por lo que no se toman decisiones de encaminamiento. Sin embargo veremos que la unión de redes Broadcast mediante puentes suscita en algunos casos la necesidad de efectuar tareas propias del nivel de red en el nivel de enlace.
4. La capa de transporte
La capa de transporte es la primera que se ocupa de comunicar directamente nodos terminales, utilizando la subred como un medio e transporte transparente gracias a los servicios obtenidos de la capa de red. Por esta razón se la ha llamado históricamente la capa Host-Host. También se suele decir que es la primera capa extremo a extremo.
La principal función de la capa de transporte es fragmentar de forma adecuada los datos recibidos de la capa superior (sesión) para transferirlos a la capa de red, y asegurar que los fragmentos llegan y son recompuestos correctamente en su destino.
En condiciones normales la capa de transporte solicita a la capa de red una conexión diferente por cada solicitud recibida de la capa de sesión, pero puede haber razones de costo que aconsejen multiplexar diferentes conexiones en la capa de sesión sobre una sola conexión en la capa de red o, inversamente, razones de rendimiento pueden requerir que una conexión solicitada por la capa de sesión sea atendida por varias conexiones en la capa de red; en ambos casos la capa de transporte se ocupará de hacer la multiplexación mas adecuada de forma transparente a la capa de sesión.
La capa de transporte establece el tipo de servicio que recibe la capa de sesión, y en último extremo los usuarios. Éste podría ser por ejemplo un servicio libre de errores que entrega los mensajes en el mismo orden en que se envían; también podría ser un servicio de datagramas, es decir, mensajes independientes sin garantía en cuanto al orden de entrega ni confirmación de la misma, o un servicio Broadcast o Multicast en que los paquetes se distribuyen a múltiples destinos simultáneamente.
El control de flujo, que ha aparecido en capas anteriores, es necesario también en la capa de transporte para asegurar que un Host rápido no satura a uno lento. La capa de transporte realiza también su propio control de errores, que resulta ahora esencial pues algunos protocolos modernos como Frame Relay o ATM han reducido o suprimido totalmente el control de errores de las capas inferiores, ya que con las mejoras en la tecnología de transmisión de datos éstos son menos frecuentes y se considera mas adecuado realizar esta tarea en el nivel de transporte.
Salvo el caso de transmisiones Multicast o Broadcast el nivel de transporte se ocupa siempre de una comunicación entre dos entidades, lo cual le asemeja en cierto sentido al nivel de enlace. Por esto existen grandes similitudes entre ambas capas en cuestiones tales como el control de errores o control de flujo.
Ejemplos de protocolos de transporte incluyen el CCITT X.224, también llamado Protocolo de transporte OSI TP4 (Transport Protocol 4). En Internet existen dos protocolos de transporte: TCP y UDP.
5 La capa de sesión
La capa de sesión es la primera que es accesible al usuario, y es su interfaz más básica con la red. Por ejemplo, mediante los servicios de la capa de sesión un usuario podría establecer una conexión como terminal remoto de otro ordenador. En un sistema multiusuario la capa de sesión se ocupa de ofrecer un SAP a cada usuario para acceder al nivel de transporte.
6 La capa de presentación
Hasta aquí nos hemos preocupado únicamente de intercambiar bits (o bytes) entre dos usuarios ubicados en dos ordenadores diferentes. Lo hemos hecho de manera fiable y entregando los datos a la sesión, es decir al usuario, pero sin tomar en cuenta el significado de los bits transportados. La capa de presentación se ocupa de realizar las conversiones necesarias para asegurar que dichos bits se presentan al usuario de la forma esperada. Por ejemplo, si se envía Información alfanumérica de un ordenador ASCII a uno EBCDIC será preciso efectuar una conversión, o de lo contrario los datos no serán interpretados correctamente. Lo mismo podríamos decir de la transferencia de datos enteros, flotantes, etc. cuando la representación de los datos difiere en los ordenadores utilizados.
7 La capa de aplicación
La capa de aplicación comprende los servicios que el usuario final está acostumbrado a utilizar en una red Telemática, por lo que a menudo los protocolos de la capa de aplicación se denominan servicios. Dado que se crean continuamente nuevos servicios, existen muchos protocolos para la capa de aplicación, uno o más por cada tipo de servicio.
Ejemplos de protocolos estándar de la capa de aplicación son el X.400 o X.500 de la ITU, los protocolos SMTP, FTP y HTTP de Internet, etc.
Transmisión de Datos en el Modelo OSI
Cuando se transmite un mensaje, pasa de la capa 7 a la 1 del sistema emisor, y cada nivel añade su propia cabecera o trata el mensaje de alguna forma. Las tramas que constituyen el mensaje transmiten sobre el medio hasta el sistema receptor en el que pasan de la capa 1 a la 7, eliminándose las cabeceras y reconstituyéndose el mensaje. Cuando las funciones de una capa en particular no son necesarias, se emplea una capa nula.
La transmisión de datos en el modelo OSI se realiza de forma análoga a lo ya descrito para el modelo de capas. La capa de aplicación recibe los datos del usuario y les añade una cabecera (que denominamos cabecera de aplicación). La cabecera contiene Información de control propia del Protocolo en cuestión. La PDU es transferida a la capa de aplicación en el Nodo de destino, la cual recibe la PDU y elimina la cabecera entregando los datos al usuario. En realidad la PDU no es entregada directamente a la capa de aplicación en el Nodo de destino, sino que es transferida a la capa de presentación en el Nodo local a través de la interfaz; esto es una cuestión secundaria para la capa de aplicación, que ve a la capa de presentación como el instrumento que le permite hablar con su homóloga en el otro lado.
A su vez la capa de presentación recibe la PDU de la capa de aplicación y le añade una cabecera propia, (cabecera de presentación) creando la PDU de la capa de presentación Esta PDU es transferida a la capa de presentación en el Nodo remoto usando a la capa de sesión como instrumento para la comunicación, de manera análoga a lo ya descrito para la capa de aplicación.
En el caso mas general cada capa añade una cabecera propia a los datos recibidos de la capa superior, y construye así su PDU. La capa homóloga del Nodo de destino se ocupará de extraer dicha cabecera, interpretarla, y entregar la PDU correspondiente a la capa superior. En algunos casos la cabecera puede no existir. En el caso particular de la capa de enlace además de la cabecera añade una cola al construir la PDU (trama) que entrega a la capa física.
Más Información: Modelo OSI