El modelo OSI

El modelo OSI

José Luis Martínez Data Center Leave a Comment

Tiempo de Lectura: 8 minutos

El Open Systems Interconnection model o modelo de interconexión de sistemas abiertos, es un modelo conceptual publicado en el año 1.984 por la ISO y la antigua CCITT (hoy en día ITU/UIT).

Computadora de los 80

Si nos remontamos al principio de la década de los 80, la rápida expansión de redes corporativas por parte de las incipientes empresas tecnológicas, supuso un creciente caos, pues cada tecnología de conexión que se desarrollaba era propietaria, no compatible con las demás. Imagina el gran problema de comunicación global que suponía.

Para “arreglar” este desaguisado, la ISO buscó un estándar que no tuviera en cuenta la estructura ni tecnología interna de una red, pero que pudiera comunicarse con el resto de redes. Una especie de “traductor” entre idiomas diferentes. Así nació el modelo OSI.

Su origen y autor

Charles William Bachman III, fue (falleció en 2017) un informático americano, ingeniero de software, que desarrolló una arquitectura en capas mientras trabajaba en la Honeywell Information Systems en Lexington, Massachusetts.

El equipo de la Honeywell, del que Bachman era el principal miembro técnico, tenía como objetivo el diseño y desarrollo de sistemas de bases de datos distribuidas.

A mediados de los años 70, quedó claro que necesitaban una arquitectura de comunicaciones distribuida para cumplir su cometido. En 1977, basándose en la arquitectura SNA de IBM y los protocolos de ARPANET, desarrollaron una arquitectura de 7 capas, conocida internamente como arquitectura de sistemas distribuidos o DSA.

Casualmente, también en 1977, el organismo ISO comenzó a buscar un estándar de arquitectura de comunicaciones para el procesamiento distribuido. ANSI se encargó de desarrollar propuestas para ello y, en la primera reunión formal, Bachman presentó su modelo de 7 capas. Se llegó al consenso de que la arquitectura de capas cumplía con la mayoría de requisitos para la interconexión de sistemas abiertos.

Más tarde, ISO publicaría el modelo OSI resultante, que es en esencia, el mismo que el modelo DSA de Bachman.

¿En qué consiste el modelo?

El modelo OSI se compone de 2 componentes principales:

  • Un arquitectura de 7 capas
  • Un conjunto de protocolos

El modelo funciona siguiendo el principio de que cada capa sólo interactúa con la capa inmediatamente inferior. Los protocolos se encargan de la comunicación entre computadoras, de forma que un host pueda interactuar con otro distinto, capa a capa.

Hay que recordar que OSI es un modelo teórico de referencia, es decir, una normativa estándar, útil para que sistemas de distintos fabricantes y/o empresas se comuniquen de forma óptima. Por ello, no obliga a seguir el modelo a “pies juntillas”, de hecho, sus implementaciones son más flexibles, desdibujando la frontera entre capas.

Capas del modelo OSI

Esta arquitectura, aborda el problema de la comunicación electrónica con un método “divide y vencerás”, utilizando 7 capas o niveles.

Las 7 capas del modelo OSI

Comienza con la información de más alto nivel de la Capa 7, donde se trabaja con datos de aplicación, que se van encapsulando y transformando hasta llegar a la Capa 1 o de más bajo nivel, que gestiona bits puros, transmitiéndolos a un medio físico (señales eléctricas, ondas de radio, pulsos de luz…).

Transmisión de información

Cuando hablamos de transmitir o comunicar, enseguida pensamos en el establecimiento de una conexión entre un emisor y receptor. Aquí en realidad no es así, no hay una conexión típica, es más como un teletransporte de Stark Trek.

El mensaje original se separa en miles de pequeños mensajes, que se transmiten a la red y comienzan su andadura y viaje por miles de caminos diferentes, en un espacio electrónico como si fuera aire o ether, llegando al receptor en una secuencia arbitraria, que se recompone y ordena de nuevo para recuperar el mensaje completo original.

Ejemplo de comunicación

Esto es, más o menos, lo que sucede cuando enviamos uno de esos pequeños mensajes:

  1. La aplicación de software selecciona un protocolo de alto nivel para iniciar la comunicación, por ejemplo, FTP, HTTP, SMTP… Hay tantos como aplicaciones se desarrollan.
  2. Capa 7. Se crea la primera unidad de datos del protocolo o PDU de Protocol Data Unit. A ésta se le añade una cabecera, transformándola en una unidad de datos de interfaz o IDU de Interface Data Unit y se pasa a la siguiente capa.
  3. Capa 6. Se recibe la IDU, se le quita la cabecera y se extrae la información. Se le añade una nueva cabecera y para convertirla de nuevo en una IDU y se vuelve a pasar a la siguiente capa.
  4. El proceso se repite una y otra vez hasta llegar a la Capa 1 o nivel físico. Donde con la última transformación, se envían los datos por el canal de transmisión.
  5. El paquete viaja por un camino más o menos aleatorio, con saltos y saltos entre routers y switches hasta llegar al receptor.
  6. Desde su entrada por la Capa 1, cada capa del receptor se ocupa de extraer la cabecera, añadida por la capa anterior, procesar la información y entregarla de nuevo a la capa superior.
  7. Finalmente, el mensaje llega a la capa de aplicación del receptor, entregándose al programa destino.

prored-conexiones-puntos-mundiales

¿Y por qué tanta transformación entre capas si estamos entregando el mismo mensaje entre todas ellas?

Porque precisamente esta modularidad resuelve ciertos problemas y añade inteligencia al proceso:

  • Algunas capas se encargan de convertir bits en señales eléctricas, como la capa física.
  • Otras, corrigen errores de comunicación, como los protocolos de acceso al medio.
  • Unas se encargan del enrutamiento de los mensajes por los infinitos caminos de Internet.
  • También de la transferencia de grandes unidades de información dividiéndola en mensajes más pequeños.

En definitiva, el modelo ejecuta un perfecto y sincronizado ballet, para que la información fluya de un lado a otro y llegue a su destino casi como por obra de magia.

TCP/IP: el despertar del sueño

Si conoces algo del protocolo de Internet TCP/IP todo esto te sonará mucho, y puede que pienses que TCP/IP es una implementación real del modelo OSI, pero no, nada más lejos de la realidad, y es que TCP/IP es anterior a OSI, data de 1972, cuando se desarrolló como una solución práctica a un problema del ejército: transmitir información de forma segura entre una red de computadoras distribuidas capaces de sobrevivir a un ataque nuclear (ARPANET).

El modelo OSI, en cambio, fue propuesto como una marco teórico y es indudable que se inspiró en el modelo de 4 capas de TCP/IP para su arquitectura, pero recuerda, en OSI la clave era la comunicación entre sistemas diferentes, abiertos, como indican sus siglas. Esto nunca se produjo, o no al menos a gran escala, pues TCP/IP terminó por imponerse, mientras OSI se perdía en un mundo de reuniones y burocracia internacional.

Con la evolución de Internet, allá por los principios de los 90, TCP/IP fue realmente el protocolo que se hizo popular. Todos los sistemas y empresas se adaptaron para usarlo, al contrario de lo que promulgaba OSI, que era seguir con los protocolos internos propietarios y realizar la comunicación por medio del modelo. Quizá una de las principales razones fue que TCP/IP era gratuito, y por OSI había que pagar licencia ISO.

Einar Stefferud, uno de los mayores desarrolladores de Internet, pronunció esta frase: “¡OSI es un hermoso sueño, y TCP/IP lo está viviendo!”

Escrito por

José Luis Martínez

LinkedIN

Fuentes:

  1. http://williamstallings.com/Extras/OSI.html
  2. https://spectrum.ieee.org/tech-history/cyberspace/osi-the-internet-that-wasnt
  3. https://en.wikipedia.org/wiki/OSI_model
  4. Foto de Charles Bachman: https://amturing.acm.org/photo/bachman_9385610.cfm