Capítulo 2: Conexión de sistemas en red

Modelo OSI de interconexión de sistemas

Las primeras redes de ordenadores utilizaban protocolos específicos de cada fabricante que las hacían incompatibles entre ellas.

El IEEE define la interoperabilidad como la habilidad de dos o más sistemas o componentes para intercambiar información y utilizarla posteriormente.

Como esta situación suponía un problema tanto para los usuarios como para los propios fabricantes, en 1977, la Organización Internacional de Normalización, conocida como ISO (del inglés International Standard Office) comenzó el desarrollo de un estándar abierto que facilitara la interoperabilidad entre las redes de diferentes fabricantes.

Para su desarrollo se basó en varios modelos, como DECnet (de la empresa Digital Equipment Corporation), SNA o Systems Network Architecture (de la empresa IBM), o TCP/IP, desarrollado por DARPA (Defense Advanced Research Projects Agency) para la red ARPANET.

El estándar se publicó en 1984 y fue bautizado como modelo OSI (Open Systems Interconnection, Interconexión de Sistemas Abiertos). Aún así, a partir de 1985, el modelo TCP/IP comenzó a ganar protagonismo, sinedo el que se impuso finalmente.

En realidad, el modelo OSI no se ha implementado en ningún sistema, pero es fundamental entenderlo porque se utiliza a menudo como referencia para compararlo con otros modelos, como el ya mencionado TCP/IP.

Estructura del modelo OSI

El modelo de referencia OSI distribuye su funcionalidad en diferentes capas, lo que nos ofrece algunos beneficios:

  • La comunicación se divide en componentes más pequeños y sencillos, simplificando su diseño e implementación.

  • Los desarrolladores escriben una entrada y una salida concreta para cada capa, sin que importe cómo se ha desarrollado internamente.

  • Los cambios en una capa no afectan al resto. Tampoco afecta el modo en el que se haya escrito una capa al funcionamiento de las demás. Por ejemplo, gracias a esto, las aplicaciones antiguas se siguen ejecutando sobre redes inalámbricas sin necesidad de cambiarlas.

  • Cuando las funciones se dividen en partes más pequeñas, resulta más sencillo estandarizarlas.

  • Tanto el hardware y software nuevo y antiguo pueden comunicarse entre ellos sin problemas.

Así pues, el modelo de referencia OSI se divide en siete capas:

  • Aplicación: Ofrece la interfaz entre el software de aplicación y la red, implementando los servicios que serán invocados por éste. Aquí se definen los protocolos que usan los programas para intercambiar datos, como FTP, HTTP, POP, SMTP, Telnet, etc.

    En cualquier momento pueden crearse nuevos protocolos de este tipo para satisfacer las necesidades de algún nuevo tipo de aplicación.

  • Presentación: Se encarga de ofrecer los datos a la capa de Aplicación. Por lo tanto, se encarga de traducir y codificar los datos obtenidos de la aplicación a un formato genérico antes de transmitirlo por la red. A la inversa, los datos que recibe son convertidos de un formato genérico al formato que espera la capa de Aplicación.

    De esta capa depende, por ejemplo, que puedan comunicarse sistemas que utilizan diferentes juegos de caracteres (como EBCDIC o ASCII). También se encarga de comprimir/descomprimir y de cifrar/descifrar la comunicación, cuando es necesario.

  • Sesión: En un equipo puede haber varias aplicaciones transmitiendo datos a través de la red (incluso varias instancias de la misma aplicación). Para cada una de ellas, se creará una sesión diferente, y será la capa de Sesión quien se encargue de hacerle llegar los datos que le correspondan.

    Será en esta capa donde se creen, administren y destruyan las sesiones. Además, controla y coordina la comunicación entre sistemas

  • Transporte: Se centra en la transferencia de los datos de extremo a extremo de la red, encargándose de establecer una conexión lógica entre los dos equipos implicados e independizándolos de la red física que se esté usando.

    Proporciona la entrega de datos (que puede ser fiable, o no) y ofrece control de flujo y recuperación de errores.

  • Red: Aquí se identifica el origen y el destino mediante direcciones lógicas únicas en la red. Si ambos participantes en la comunicación se encuentran en redes distintas, éstas deben encontrarse unidas mediante enrutadores (routers), que elegirán la mejor ruta posible para entregar el paquete en su destino (tarea que recibe el nombre de determinación de ruta).

    Por lo tanto, los routers utilizan la capa de red para realizar su trabajo (direccionamiento lógico, determinación de la ruta y reenvío). También lo hacen algunos cortafuegos (firewalls) para descargar paquetes en función de su origen.

    En la capa de red se utilizan dos tipos de protocolos:

    • Enrutados: Utilizados para el direccionamiento lógico y el reenvío.

    • De enrutamiento: Utilizados para la determinación de la ruta

    Un dato importante es que los routers sólo se encargan de hacer llegar los paquetes a la red de destino. Una vez allí, el receptor concreto se identificará en la capa de enlace de datos.

  • Enlace de datos: Todos los ordenadores de una red disponen de una dirección física y otra lógica. La dirección física sólo es significativa dentro de la red local.

    Es el nivel de enlace de datos el que centra su atención en la transferencia de datos dentro de la red local usando direcciones físicas.

    Cuando en un medio pueden coincidir varios equipos tratando de enviar paquetes al mismo tiempo, para evitar colisiones, se debe asegurar que sólo uno de ellos lo utiliza cada vez. En esta capa se establecen los protocolos usados para el envío y recepción de datos a través de los medios. Estos deberán determinar si el medio está disponible y detectarán las colisiones y los posibles errores en los datos recibidos.

  • Física: En esta capa es donde se gestionan los dispositivos físicos encargados de la comunicación. En ella se envían o reciben los bits que forman el mensaje sin interpretar su significado y será la encargada de iniciar, mantener y finalizar la comunicación entre sistemas  (por ejemplo, entre un equipo y un switch).

    De esta capa dependen las transformaciones que se realizan en los bits, que dentro del ordenador están representados por diferentes niveles de electricidad, para adaptarlos al medio de transmisión utilizado (óptico, infrarrojo, láser, radio, microondas, etc.).

Modelo OSI

Durante la comunicación entre un emisor y un receptor, cada capa interactúa con su equivalente en el extremo contrario. Así, cada capa añade una cabecera al mensaje en el origen. Dicha cabecera contiene la información de control relativa a su capa correspondiente y será interpretada en el destino por la capa correspondiente. Este mecanismo recibe el nombre de encapsulación.

El conjunto que forma la cabecera y la información de una capa y que pasa a la capa inferior, recibe el nombre de Unidad de Datos de Protocolo o PDU (del inglés Protocol Data Unit).

Encapsulación en el modelo OSI

Como puedes observar en la imagen, en la capa 2 también se añade una cola al mensaje para controlar el final de la transmisión. La capa 1 no añade información y se limita a transmitirla bit a bit.

Como se deduce de lo dicho más arriba, podemos organizar las capas en dos grupos:

  1. Las capas 4, 5, 6 y 7 definen cómo interaccionan las aplicaciones entre ellas, con el usuario y con la interfaz del equipo. Por este motivo, se agrupan bajo el nombre Host layers.

  2. Las capas 1, 2, 3 definen cómo se transmiten los datos entre el equipo y la red. Suelen comocerse, en conjunto, con el nombre Media layers.