En 1983, cuando todavía estaba aprendiendo a examinar el hardware de mi Apple ][e, un grupo de personas con ideas afines en las industrias de las computadoras y las telecomunicaciones se reunieron para crear una especificación detallada que llamaron Interconexión de Sistemas Abiertos (OSI). Lo que comenzó como un esfuerzo por desarrollar interfaces reales eventualmente se transformó en un modelo de referencia común que a su vez podría ser utilizado por otros, como el IETF, para desarrollar interfaces. Esas interfaces podrían –y lo hicieron– eventualmente convertirse en estándares: IP, TCP, HTTP, etc…
Este modelo de referencia nos lo han enseñado a la mayoría de nosotros que cursamos clases de informática en la universidad. Aprendimos sobre las “siete capas del OSI” sólo para descubrir en el mundo real que las implementaciones reales rara vez se corresponden claramente con el modelo de red OSI.
Aun así, se corresponde lo suficientemente bien como para que sigamos utilizándolo como el modelo de referencia que se pretendía que fuera. La mayoría de nosotros entendemos que la Capa 4 se refiere a TCP, la Capa 7 a HTTP y la Capa 2/3 a IP y Ethernet. Son casi intercambiables.
Hace unos años incluso entramos en debates sobre dónde, exactamente, debían ubicarse los protocolos superpuestos asociados con SDN y las redes virtuales. En realidad no eran de capa 2, pero tampoco exactamente de capa 3. Estaban en algún punto intermedio.
Pudimos ignorar eso, en su mayor parte, y simplemente saludamos vagamente las dos capas y nos referimos a ello simplemente como "redes superpuestas". Todos entendieron lo que queríamos decir y teníamos otras cosas que discutir, como la definición de nube y si DevOps era apropiado o no para la empresa.
Entran los contenedores, o más precisamente, las redes de contenedores. El mundo altamente volátil y automatizado de los entornos de orquestación de contenedores (COE) ha dado lugar a la necesidad de contar con aún más capas en la pila de red.
Al igual que en las redes superpuestas, no nos sentimos inclinados a crear nuevas capas en el modelo OSI porque, bueno, es una referencia estándar en este momento y cambiar los estándares puede llevar mucho tiempo. A lo largo de. Largo. Tiempo. Pero, al igual que las redes superpuestas, estas capas aún existen como interfaces existenciales en la pila de red. Y, al igual que con las redes superpuestas, me inclino a darles capas “medias” porque son muy importantes para el futuro de las redes en el COE.
El primer 'medio paso' se encuentra entre las capas 4 y 5. Aquí es donde la ejecución y la automatización de la malla de servicios entran en juego. En pocas palabras, una malla de servicio se construye a partir de servidores proxy implementados lateralmente que interceptan cada solicitud. Esto les permite ejecutar un enrutamiento específico del dominio para los servicios en todo el entorno de contenedores. Supone que existen protocolos de orden inferior y los extiende efectivamente. Esto es necesario porque todas las capas de red debajo de ella asumen que la conectividad y el enrutamiento se basan únicamente en la dirección IP. Y si bien en última instancia así es como se mueven los paquetes en un entorno de contenedores, la decisión sobre a qué dirección IP y puerto enviar una solicitud determinada no se basa en esa información. Se basa en una variedad de variables relacionadas con el estado y la ubicación del servicio y la aplicação . Básicamente, analizamos la metainformación sobre una solicitud y la usamos para determinar cómo enrutarla. Esta metainformación es fundamental para establecer la “red” que a su vez garantiza la disponibilidad y la escala de cada servicio.
El segundo 'medio paso' se encuentra cerca de la parte superior, por encima de la capa 7. Dejando de lado las bromas sobre la “capa humana (capa 8)”, COE en realidad coloca una capa de metadatos por encima de la aplicação que proporciona el “pegamento” que hace que la escala en entornos en contenedores funcione. Estas son las “etiquetas” de aplicação o servicio que se utilizan para identificar servicios discretos para los cuales el COE ofrece escalabilidad automatizada. Sin las etiquetas, es casi imposible distinguir una aplicación de otra. Esto se debe a que todas las capas de la pila OSI son identificables mediante construcciones específicas como la dirección IP y el puerto. Si bien sabemos desde hace mucho tiempo que las implementaciones arquitectónicas se basan en compartir esas construcciones externas al entorno (servidores virtuales y redes basadas en host), los contenedores han creado los mismos problemas dentro del entorno. El uso compartido de puertos y direcciones IP dificulta la diferenciación entre servicios a las velocidades requeridas.
La adición de "etiquetas" en la capa 7.5 en entornos en contenedores brinda a esos servicios de red (como equilibrio de carga y enrutamiento) la capacidad de identificar de forma única los recursos y garantizar la escala y la disponibilidad al mismo tiempo.
Las nuevas “capas de contenedor” permiten que el entorno se desacople de las estructuras de red y, en el proceso, garanticen una mayor portabilidad que las tecnologías anteriores que permanecían estrechamente vinculadas a otras capas de la pila de red. Al operar en “medias capas” y asumir la existencia de las capas tradicionales, los entornos en contenedores ganan independencia de cualquier esquema o arquitectura de red específica, y pueden moverse con la misma facilidad entre desarrollo y prueba, prueba y producción, local y en la nube.