
El modelo OSI no estaba escrito en piedra: de 7 a 9 capas
Podcast de Redes de Eduardo Collado
Parece que el día en el que el modelo OSI ha dejado de ser sagrado ha llegado. El modelo OSI de 7 capas parecía escrito en piedra hasta que Ramana Kompella y Vijoy Pandey de Cisco han publicado el artículo Mind the semantic gap: A case for the 9-layer OSI model, un artículo rompedor donde proponen una ampliación del modelo OSI de 7 a 9 capas para solventar los problemas derivados de la brecha semántica entre cómo las redes transportan datos y cómo los sistemas modernos, especialmente los basados en IA, necesitan entender y operar sobre su significado y contexto.
Todo esto explicado de forma sencilla lo que nos dice es que el modelo OSI estaba diseñado para entregar la información entre un punto A y un punto B, y eso lo hace perfecto, pero hemos llegado a un punto donde además de entregar la información de A a B, y eso es cierto que lo hace muy muy bien, pero hay un pequeño detalle que nos falta.
El modelo OSI es muy bueno en entregar la información, pero al modelo OSI le da igual si el destino ha entendido el mensaje, si lo ha comprendido bien, como un cartero, entrega las cartas, pero no entra en si el receptor ha entendido bien el mensaje y si la información que ha obtenido es la que el emisor quería que el receptor entendiese.
Hoy estaba en el gimnasio escuchando un podcast llamado Network Break y mientras estaba haciendo ejercicio han comentado este tema y me he quedado con la copla, porque quiero mentir a nadie, me ha impactado muchísimo que el modelo OSI que fue publicado en 1984, imagino que muchos de los que estáis aquí ni siquiera habíais nacido, yo tenía 7 años entonces.
Para mi el modelo OSI estaba básicamente escrito en piedra, era inmutable y una verdad absoluta. El escuchar que el modelo OSI podría cambiar me ha dejado en shock, es verdad que todo cambia, pero el modelo OSI … a veces uno no está preparado para escuchar ciertas cosas, pero mentalidad abierta, ¿por qué no? así que me he puesto a investigar sobre el tema.
Hasta hace relativamente poco las comunicaciones se hacían por humanos, esos que tenemos carne, huesos y experiencia vital, no modelos que necesitan que todo esté perfectamente descrito.
Pero ahora es diferente, además de interactuar las personas interactúan esos entes generalmente conocidos por IAs. Hasta hace poco los agentes de IA actuaban de forma independiente, aislada, no se comunicaban con otros, pero ahora la cosa cambia, los agentes interactúan entre sí, agentes de diversos tipos, ya no son agentes iguales y tienen que ser capaces de comunicarse.
Cuando los agentes quieren comunicarse entre si surgen problemas y no porque los agentes no sean «listos» sino por otro tema más abajo, el problema es que las reglas de comunicación que disponen no dan la talla.
Antes de empezar con esto hay que definir dos conceptos, la sintaxis y la semántica, seguro que lo conoces, pero siempre va bien recordarlo.
Sintaxis
La sintaxis es la forma en la que se transmite la información. Son las reglas del formato: cómo se estructura un mensaje para que pueda ser leído.
La sintaxis dice cómo se escribe algo, no qué significa.
Ejemplo:
Un paquete bien formado, un JSON válido, una cabecera HTTP correcta. Todo eso tiene buena sintaxis, aunque no sepamos qué quiere decir.
Semántica
La semántica es el significado de esa información. Es lo que realmente quiere decir el mensaje, más allá de que esté bien escrito.
La semántica dice qué significa algo y qué se espera que pase.
Ejemplo:
Dos mensajes pueden tener la misma sintaxis, pero provocar acciones distintas según su significado, el contexto o la intención.
Hasta ahora en las comunicaciones no necesitaban trabajar con la semántica porque eso lo hacen los humanos de serie, pero claro, con las máquinas es diferente, ahora necesitamos también controlar la semántica.
Vamos a suponer que un agente envía un mensaje sintácticamente perfecto, pero el agente receptor no entiende bien el significado, la semántica, así que entran en bucles de aclaración que no terminan nunca:
- ¿qué quieres decir?
- no no, ¿qué quieres decir tú?
- dime que quieres que te aclare
Estos bucles de aclaración son muy caros en tiempo y recursos, además esto hace que al final el sistema se vuelva impredecible y que si algo sucede varias veces no siempre va a dar el mismo resultado, esto es terrible, depende del contexto de cada uno al final.
A esto le llamamos «brecha semántica«, y esto es la clave de todo. En el artículo se cita una frase que me parece fantástica sobre la Internet que tenemos diseñada a día de hoy ya que fue
«diseñada para mover bytes, no para mover intención, significado y estado compartido entre agentes«
El tema es que los humanos trabajamos con información en crudo y los agentes de IA trabajan con intención y significado y esa es la brecha que hay que cerrar y que se propone cerrar con esta modificación del modelo OSI.
Esta modificación es añadir las capas 8 y 9 al modelo. Es interesante añadir que aquí la solución no ha pasado por tirarlo todo y volver a empezar de cero, sino algo mucho más fácil que es aprovechar lo anterior y añadir lo que falta, de forma que lo anterior sigue siendo funcional.
La idea es añadir dos capas:
Capa 8: Comunicación de Agente (el cómo se comunican los agentes)
Capa 9: Semántica del Agente (el qué es lo que quieren decir)
Infografía sobre el modelo OSI de 9 niveles
La capa 8 (El cómo) estandariza la estructura de las conversaciones: sobres, intención y patrones. Esta es la gramática de los agentes, define la estructura de las frases, si es una pregunta, una orden, una afirmación, es decir, el esqueleto del mensaje
La capa 9 (El qué) estandariza el significado para establecer una verdad compartida antes de actuar. Esta es el diccionario compartido, su función es la de que antes de hacer nada, todo el mundo esté de acuerdo en qué significa cada palabra.
Dentro de la capa 9 tenemos el punto central que es el Contexto Compartido que es algo parecido a las reglas del juego, aquí se define todo, los conceptos, las acciones o los parámetros para cada cosa. Antes de empezar a hablar los agentes harán un Semantic Handshake, para confirmar que están de acuerdo en el Contexto Compartido que se va a utilizar.
Si no aplicáramos esto algo como «Reiniciar el servicio» tendría sus problemas: ¿qué es reiniciar? ¿qué servicio? ¿de qué manera quieres esto?. Con la capa 9 todo esto queda definido.
Lo más importante de todo esto del Contexto Compartido es que se negocia antes de hacer nada, esto es fundamental.
Ejemplo del Mundo Real
Se cae el sistema, se despliega un equipo de agentes, uno de métricas, uno de sistemas, otro de red, otro de … sin las capas 8 y 9 puede ser que un agente piense que el 30% de la utilidad (según sus metricas) está caído, otro el 50%, no saben qué tienen que hacer y hay mucha confusión.
Con las capas 8 y 9 tenemos orden y las cosas funcionan
Beneficios:
Agentes de distintas empresas trabajando juntos
Sistemas predecibles
Ahorros de costes evitando los bucles de aclaración
Sistemas más seguros
Hasta ahora estábamos enfocados en mover datos, ahora en mover el entendimiento y esto para empezar tenemos que empezar con las capas 8 y 9.
Referencias:
https://outshift.cisco.com/blog/mind-the-semantic-gap-osi-model
https://www.linkedin.com/posts/sujit-chandrapati-73905b5_outshift-mind-the-semantic-gap-a-case-activity-7424996635505750016-aN1W/
Foto de cabecera de Suzy Hazelwood: https://www.pexels.com/es-es/foto/foto-en-primer-plano-de-libros-con-titulos-variados-1122865/